1 查看當前磁盤情況
fdisk -l
/dev/sda1 2048 6143 2048 83 Linux
/dev/sda2 * 6144 1054719 524288 83 Linux
/dev/sda3 1054720 10508287 4726784 8e Linux LVM
我這里只有/dev/sda一塊磁盤,系統默認已經使用了sda1 sda2 sda3,其中sda1忘了干嘛的了,sda2用作了boot,sda3用作邏輯卷,是其他邏輯盤的基礎盤。由於最多支持4塊主分區,所以現在需要將所有剩余空間都創建成一個擴展分區,然后在這個擴展分區上創建邏輯分區,邏輯分區可以建的隨意了,要多少建多少。
2 新建擴展分區和邏輯分區
fdisk /dev/sda
輸入n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e):(這里選e,創建擴展分區,將所有空間分配給它)
前面的擴展分區創建完畢后再次輸入n,因為主分區已經用完了,所以這里直接讓創建邏輯分區,起始扇區默認,結束扇區+500M
輸入p查看當前創建情況
/dev/sda1 2048 6143 2048 83 Linux
/dev/sda2 * 6144 1054719 524288 83 Linux
/dev/sda3 1054720 10508287 4726784 8e Linux LVM
/dev/sda4 10508288 41943039 15717376 5 Extended(划走所有空間的擴展分區(主分區))
/dev/sda5 10510336 11534335 512000 83 Linux(實際要用的邏輯分區)
創建完邏輯分區后,輸入w將創建信息寫入系統完成創建
3 格式化新創建的邏輯分區
在此之前先使用partprobe刷新分區表,否則/dev/sda5是不能被系統識別的,有些情況可能需要重啟服務器(如虛擬機)
mkfs.ext4 /dev/sda5
4 創建新的pv
pvcreate /dev/sda5
5 將pv加入到root所在的vg
通過df -l和vgdisplay命令可以知道root是在名為centos的vg內的
vgextend centos /dev/sda5
再次使用vgdisplay可以看到vg已經變大了(多了500m的空閑空間)
6 擴展root所在的lv
通過lvdisplay可以知道root的lv路徑為/dev/centos/root
lvextend -l +100%free /dev/centos/root
這時候通過lvdisplay可以看到root已經擴展了,但是df -l看到的root還是原來的大小,使用如下命令可同步一下
resize2fs /dev/centos/root(centos7以前)
或
xfs_growfs /dev/centos/root(centos7)
7 查看結果
df -l可查看當前磁盤情況