如何擴展Linux系統根分區

環境:VMware虛擬機Red Hat 6.5

技術:邏輯卷管理(LVM)

如何擴展Linux系統根分區

邏輯卷管理(LVM)

說明:為了完成此實驗,請確保Linux系統有足夠的磁盤空間,如果磁盤空間不足則需要添加磁盤。本文檔擴展Linux系統根分區的方法是在虛擬環境下做的,在生產環境下同樣適用。

具體步驟:

1.查看磁盤空間

[root@localhost ~]# df -h

#查看磁盤空間,根分區的大小是18G,已經用了43%。

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root 18G 7.0G 9.5G 43% /

tmpfs 2.0G 76K 2.0G 1% /dev/shm

/dev/sda1 485M 40M 421M 9% /boot

/dev/sr0 3.6G 3.6G 0 100% /media/cdrom

2.創建磁盤分區

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00083529

Device Boot Start End Blocks Id System

/dev/sda1 * 1 64 512000 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 64 2611 20458496 8e Linux LVM

#/dev/sdb盤還有足夠的空間

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_root: 18.8 GB, 18798870528 bytes

255 heads, 63 sectors/track, 2285 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_swap: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

[root@localhost ~]# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

Building a new DOS disklabel with disk identifier 0xac7c929b.

Changes will remain in memory only, until you decide to write them.

After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xac7c929b

Device Boot Start End Blocks Id System

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1#分區號

First cylinder (1-2610, default 1): #回車用默認的

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): #回車用默認的

Using default value 2610

Command (m for help): t #改變類型

Selected partition 1

Hex code (type L to list codes): 8e #LVM的分區代碼

Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xac7c929b

Device Boot Start End Blocks Id System

/dev/sdb1 1 2610 20964793+ 8e Linux LVM

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[root@localhost ~]# partprobe

#將磁盤分區表變化信息通知內核,請求操作系統重新加載分區表,有些小報錯不要緊。

Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.

Warning: WARNING: the kernel failed to re-read the partition table on /dev/sdb (Device or resource busy). As a result, it may not reflect all of your changes until after reboot.

Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.

Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only.

Error: Invalid partition table - recursive partition on /dev/sr0.

3.創建物理卷

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00083529

Device Boot Start End Blocks Id System

/dev/sda1 * 1 64 512000 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 64 2611 20458496 8e Linux LVM

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xac7c929b

Device Boot Start End Blocks Id System

/dev/sdb1 1 2610 20964793+ 8e Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 18.8 GB, 18798870528 bytes

255 heads, 63 sectors/track, 2285 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_swap: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

[root@localhost ~]# pvcreate /dev/sdb1

#由fdisk -l查到LVM卷是/dev/sdb1,所以用/dev/sdb1來創建物理卷。

Physical volume "/dev/sdb1" successfully created

4.擴展卷組

[root@localhost ~]# pvdisplay

--- Physical volume ---

PV Name /dev/sda2

VG Name VolGroup

PV Size 19.51 GiB / not usable 3.00 MiB

Allocatable yes (but full)

PE Size 4.00 MiB

Total PE 4994

Free PE 0

Allocated PE 4994

PV UUID qkBdcn-RQaR-ZliO-Ja2S-RhMC-stw8-CO213I

"/dev/sdb1" is a new physical volume of "19.99 GiB"

--- NEW Physical volume ---

PV Name /dev/sdb1

VG Name

PV Size 19.99 GiB

Allocatable NO

PE Size 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID H7tDqG-6AZv-yBSA-U0ov-Ni0y-dlPA-kAA83i

[root@localhost ~]# vgextend VolGroup /dev/sdb1

Volume group "VolGroup" successfully extended

You have new mail in /var/spool/mail/root

[root@localhost ~]# vgdisplay

--- Volume group ---

VG Name VolGroup

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 4

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 2

Open LV 2

Max PV 0

Cur PV 2

Act PV 2

VG Size 39.50 GiB

PE Size 4.00 MiB

Total PE 10112

Alloc PE / Size 4994 / 19.51 GiB

Free PE / Size 5118 / 19.99 GiB

VG UUID dc0vI9-KzGu-4S59-A1xv-NM4Y-rYBF-3jDNRn

5.擴展邏輯卷

[root@localhost ~]# lvextend -l +100%free /dev/mapper/VolGroup-lv_root

#free也可以大寫FREE

Extending logical volume lv_root to 37.50 GiB

Logical volume lv_root successfully resized

[root@localhost ~]# blkid /dev/mapper/VolGroup-lv_root

#查看分區文件系統類型

/dev/mapper/VolGroup-lv_root: UUID="972fdddd-ddb8-469f-a342-e075eaeabeb2" TYPE="ext4"

[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_root

#e2fsck -f檢查分區

e2fsck 1.41.12 (17-May-2010)

/dev/mapper/VolGroup-lv_root is mounted.

e2fsck: Cannot continue, aborting.

[root@localhost ~]# resize2fs /dev/mapper/VolGroup-lv_root

#如果分區是xfs系統,則用xfs_growfs命令對文件系統進行擴展

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required

old desc_blocks = 2, new_desc_blocks = 3

Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 9830400 (4k) blocks.

The filesystem on /dev/mapper/VolGroup-lv_root is now 9830400 blocks long.

[root@localhost ~]# df -h

#查看磁盤空間,根分區已擴展到37G。

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root 37G 7.0G 29G 20% /

tmpfs 2.0G 224K 2.0G 1% /dev/shm

/dev/sda1 485M 40M 421M 9% /boot

/dev/sr0 3.6G 3.6G 0 100% /media/cdrom


分享到:


相關文章: