溫馨提示:在參考以下操作進行擴容之前,請先自行備份好您的數據到本地,或者進行快照備份和完整備份,以免操作不當造成數據丟失?。?!
我司的centos云主機都是使用邏輯卷來進行分區的,默認情況下,新購買的云主機會有一個磁盤沒有進行分區掛載,留給用戶自行分配,可使用fdisk -l命令來檢查是否有該磁盤
如上圖所示,有一個10.7G的xvda盤和21.5G的xvdb盤,其中xvda盤被分成兩個分區,xvda1和xvda2,其中,xvda2的文件系統位linux LVM,此時可知是做成了邏輯卷,其中一部分做成了/dev/mapper/vg_have-lv_root,另一部分做成了swap分區/dev/mapper/vg_have-lv_swap,同時可以看到xvda1的boot列有星號,代表該分區為/boot分區,使用df -Th命令可以進一步查看到如下:
此時,我們還有一個21.5G的xvdb沒有分區使用,如上客戶要求把所有空間都分到一塊,需要把未使用的空間創建成pv,然后加入到已經有vg中,然后再分配給已經有的lv來擴大空間,此時已經有的lv是/dev/mapper/vg_have-lv_root,掛載在根分區下,可以使用pvs,vgs,和lvs來粗略查看一下當前已經有的物理卷,邏輯卷和卷組
根據客戶需求,具體操作如下(如客戶自行操作,請備份好數據到本地):
將整個xvdb創建成pv,命令:pvcreate /dev/xvdb
然后將創建成的pv融入到已經有的vg中,由vgs命令課只當前已經有的vg為vg_have
命令:vgextend vg_have /dev/xvdb
此時使用vgs命令可以看到,vg_have由的大小VSize原來的9.5G變成了29.5G,其中剩余未分配的空間VFree從原來的0變成了20G
使用vgdisplay命令可以進一步查看未使用的PE和具體的大小
未使用的pe為5119,大小為20G
此時使用,lvextend -l +5119 /dev/mapper/vg_have-lv_root 命令,就可以把未使用的空間分配給lv_root這個邏輯卷
此時使用df -Th命令查看,根分區總大小還未改變,
需要使用resize2fs /dev/mapper/vg_have-lv_root 命令來重新調整分區,
此時重新查看跟分區大小已經變成29G,并且進入跟分區可以查看到,數據依舊是存在的