Linux服務器由于應用變更或需求的緣故,有可能出現分區空間不足的情況,此時往往需要進行擴容(要增加分區的空間),而采用LVM的好處就是可以在不需停機的情況下可以方便地調整各個分區大小。如下所示,分區/u05由于備份集保留的時間調整,RMAN備份時出現空間不足的情況,如下所示,
[root@getlnx01 ~]# df -h
Filesystem??????????? Size? Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
?????????????????????? 97G?? 37G?? 55G? 41% /
/dev/mapper/VolGroup01-LogVol00
?????????????????????? 79G?? 33G?? 43G? 44% /u01
/dev/mapper/VolGroup02-LogVol00
????????????????????? 197G? 168G?? 19G? 90% /u02
/dev/mapper/VolGroup03-LogVol00
????????????????????? 197G? 127G?? 60G? 68% /u03
/dev/mapper/VolGroup04-LogVol00
????????????????????? 138G? 126G? 5.6G? 96% /u04
/dev/mapper/VolGroup05-LogVol00
????????????????????? 178G? 104G?? 65G? 62% /u05
/dev/sda1????????????? 99M?? 23M?? 71M? 25% /boot
tmpfs????????????????? 12G???? 0?? 12G?? 0% /dev/shm
[root@getlnx01 ~]# vgscan
? Reading all physical volumes.? This may take a while...
? Found volume group "VolGroup05" using metadata type lvm2
? Found volume group "VolGroup04" using metadata type lvm2
? Found volume group "VolGroup03" using metadata type lvm2
? Found volume group "VolGroup02" using metadata type lvm2
? Found volume group "VolGroup01" using metadata type lvm2
? Found volume group "VolGroup00" using metadata type lvm2
[root@getlnx01 ~]#
我在添加了一塊虛擬磁盤后(虛擬機),此時使用fdisk -l查不到剛剛添加的新磁盤,此時需要運行命令echo "- - -" > /sys/class/scsi_host/host0/scan重新掃描該接口下的SCSI磁盤設備。
關于該命令它是通過/sys下的屬性設置運行SCSI掃描。echo "- - -" > scan "- - -"代表channel,target和LUN編號。以上命令會導致hba4下所有channel,target以及可見LUN被掃描。
?
[root@getlnx01 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@getlnx01 ~]# fdisk -l
?
Disk /dev/sda: 55.8 GB, 55834574848 bytes
255 heads, 63 sectors/track, 6788 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sda1?? *?????????? 1????????? 13????? 104391?? 83? Linux
/dev/sda2????????????? 14??????? 6788??? 54420187+? 8e? Linux LVM
?
Disk /dev/sdb: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sdb1?????????????? 1?????? 10443??? 83883366??? 5? Extended
/dev/sdb5?????????????? 1?????? 10443??? 83883334+? 83? Linux
?
Disk /dev/sdd: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sdd1?????????????? 1?????? 26108?? 209712478+?? 5? Extended
/dev/sdd5?????????????? 1?????? 26108?? 209712447?? 83? Linux
?
Disk /dev/sdc: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sdc1?????????????? 1?????? 26108?? 209712478+?? 5? Extended
/dev/sdc5?????????????? 1?????? 26108?? 209712447?? 83? Linux
?
Disk /dev/sdf: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sdf1?????????????? 1??????? 7832??? 62910508+?? 5? Extended
/dev/sdf5?????????????? 1??????? 7832??? 62910477?? 83? Linux
?
Disk /dev/sde: 150.3 GB, 150323855360 bytes
255 heads, 63 sectors/track, 18275 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sde1?????????????? 1?????? 18275?? 146793906??? 5? Extended
/dev/sde5?????????????? 1?????? 18275?? 146793874+? 83? Linux
?
Disk /dev/sdg: 193.2 GB, 193273528320 bytes
255 heads, 63 sectors/track, 23497 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sdg1?????????????? 1?????? 23497?? 188739621??? 5? Extended
/dev/sdg5?????????????? 1?????? 23497?? 188739589+? 83? Linux
?
Disk /dev/dm-0: 107.2 GB, 107206410240 bytes
255 heads, 63 sectors/track, 13033 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
Disk /dev/dm-0 doesn't contain a valid partition table
?
Disk /dev/dm-1: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
Disk /dev/dm-1 doesn't contain a valid partition table
?
Disk /dev/sdh: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
Disk /dev/sdh doesn't contain a valid partition table
?
1:格式化分區
格式化磁盤設備/dev/sdh, 下面是采用邏輯擴展分區。關于格式分區時是否一定要修改分區類型為8e(LVM格式),我查了一些資料,這個不是必須的。鳥哥的Linux私房菜里面的原話為:“那個8e的出現會導致system變成Linux LMV! 其實沒有設定為8e也沒有關系,不過某些LMV的偵測指令可能會偵測不到該partition就是了”
[root@getlnx01 ~]# fdisk /dev/sdh
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
?
?
The number of cylinders for this disk is set to 10443.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
?? (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
?
Command (m for help): n
Command action
?? e?? extended
?? p?? primary partition (1-4)
e
Partition number (1-4): 1
First cylinder (1-10443, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-10443, default 10443):
Using default value 10443
?
Command (m for help): w
The partition table has been altered!
?
Calling ioctl() to re-read partition table.
Syncing disks.
[root@getlnx01 ~]# fdisk /dev/sdh
?
The number of cylinders for this disk is set to 10443.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
?? (e.g., DOS FDISK, OS/2 FDISK)
?
Command (m for help): p
?
Disk /dev/sdh: 85.8 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
?
?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sdh1?????????????? 1?????? 10443??? 83883366??? 5? Extended
?
Command (m for help): n
Command action
?? l?? logical (5 or over)
?? p?? primary partition (1-4)
l
First cylinder (1-10443, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-10443, default 10443):
Using default value 10443
?
Command (m for help): w
The partition table has been altered!
?
Calling ioctl() to re-read partition table.
Syncing disks.
[root@getlnx01 ~]#
?
?
2:新建物理卷(PV)
[root@getlnx01 ~]# pvcreate /dev/sdh5
? Physical volume "/dev/sdh5" successfully created
[root@getlnx01 ~]# pvdisplay /dev/sdh5
? "/dev/sdh5" is a new physical volume of "80.00 GB"
? --- NEW Physical volume ---
? PV Name?????????????? /dev/sdh5
? VG Name??????????????
? PV Size?????????????? 80.00 GB
? Allocatable?????????? NO
? PE Size (KByte)?????? 0
? Total PE????????????? 0
? Free PE?????????????? 0
? Allocated PE????????? 0
? PV UUID?????????????? LgKUuj-UddY-AHHO-ewqX-1iF1-6HYN-N5EITM
3:擴展卷組(VG)
首先查看VG的詳細信息,然后擴展VG
[root@getlnx01 ~]# vgdisplay VolGroup05
? --- Volume group ---
? VG Name?????????????? VolGroup05
? System ID????????????
? Format??????????????? lvm2
? Metadata Areas??????? 1
? Metadata Sequence No? 2
? VG Access???????????? read/write
? VG Status???????????? resizable
? MAX LV??????????????? 0
? Cur LV??????????????? 1
? Open LV?????????????? 1
? Max PV??????????????? 0
? Cur PV??????????????? 1
? Act PV??????????????? 1
? VG Size?????????????? 179.97 GB
? PE Size?????????????? 32.00 MB
? Total PE????????????? 5759
? Alloc PE / Size?????? 5759 / 179.97 GB
? Free? PE / Size?????? 0 / 0??
? VG UUID?????????????? UNFxZH-lAGM-vqF3-jtNK-yuKT-enUX-WwL7FQ
??
?
??
[root@getlnx01 ~]# vgextend VolGroup05 /dev/sdh5
? Volume group "VolGroup05" successfully extended
[root@getlnx01 ~]# vgdisplay VolGroup05
? --- Volume group ---
? VG Name?????????????? VolGroup05
? System ID????????????
? Format??????????????? lvm2
? Metadata Areas??????? 2
? Metadata Sequence No? 3
? VG Access???????????? read/write
? VG Status???????????? resizable
? MAX LV??????????????? 0
? Cur LV??????????????? 1
? Open LV?????????????? 1
? Max PV??????????????? 0
? Cur PV??????????????? 2
? Act PV??????????????? 2
? VG Size?????????????? 259.94 GB
? PE Size?????????????? 32.00 MB
? Total PE????????????? 8318
? Alloc PE / Size?????? 5759 / 179.97 GB
? Free? PE / Size?????? 2559 / 79.97 GB
? VG UUID?????????????? UNFxZH-lAGM-vqF3-jtNK-yuKT-enUX-WwL7FQ
??
[root@getlnx01 ~]#
4:處理文件系統
VG擴展后,/u05分區還不能實時增加空間,還需要使用resize2fs –p命令激活新增加的空間
?
[root@getlnx01 ~]# resize2fs -p? /dev/VolGroup05/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup05/LogVol00 is mounted on /u05; on-line resizing required
Performing an on-line resize of /dev/VolGroup05/LogVol00 to 68141056 (4k) blocks.
?
The filesystem on /dev/VolGroup05/LogVol00 is now 68141056 blocks long.
?
[root@getlnx01 ~]#
[root@getlnx01 ~]# df -h
Filesystem??????????? Size? Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
?????????????????????? 97G?? 37G?? 55G? 41% /
/dev/mapper/VolGroup01-LogVol00
?????????????????????? 79G?? 33G?? 43G? 44% /u01
/dev/mapper/VolGroup02-LogVol00
????????????????????? 197G? 168G?? 19G? 90% /u02
/dev/mapper/VolGroup03-LogVol00
????????????????????? 197G? 127G?? 60G? 68% /u03
/dev/mapper/VolGroup04-LogVol00
????????????????????? 138G? 126G? 5.6G? 96% /u04
/dev/mapper/VolGroup05-LogVol00
????????????????????? 256G? 104G? 140G? 43% /u05
/dev/sda1????????????? 99M?? 23M?? 71M? 25% /boot
tmpfs????????????????? 12G???? 0?? 12G?? 0% /dev/shm
[root@getlnx01 ~]#
?
Linux LVM學習總結——創建卷組VG
Linux LVM學習總結——刪除卷組VG
Linux LVM學習總結——擴展卷組VG