pv、vg、lv的意思
物理卷(Physical Volume,PV):就是指硬盤分區,也可以是整個硬盤或已創建的軟RAID,是LVM的基本存儲設備。
卷組(Volume Group,VG):是由一個或多個物理卷所組成的存儲池,在卷組上能創建一個或多個邏輯卷。
邏輯卷(Logical Volume,LV):類似於非LVM系統中的硬盤分區,它建立在卷組之上,是一個標准的塊設備,在邏輯卷之上可以建立文件系統。
1.首先查看我們的根分區大小是多少
[root@localhost ~]# df -hT 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 18G 1.1G 17G 6% / devtmpfs devtmpfs 479M 0 479M 0% /dev tmpfs tmpfs 489M 0 489M 0% /dev/shm tmpfs tmpfs 489M 6.7M 483M 2% /run tmpfs tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 xfs 497M 125M 373M 25% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0
可以看到我們的根分區大小為17G
2.添加一塊物理的磁盤。在虛擬機中添加
3.查看磁盤編號
ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb
可以看到sdb就是我們剛才添加的磁盤
4.創建pv
[root@localhost ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created
5.把pv加入vg中,相當於擴充vg的大小
先使用vgs查看vg組
[root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- 19.51g 40.00m
可以看到現在就一個vg組其中有兩個lv卷,若不確定可以通過lvs查看是否是我們需要擴展的分區
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- 17.47g
swap centos -wi-ao---- 2.00g
可以看到這就是我們需要擴展的根分區,我這里還有個swap分區
擴展vg,使用vgextend命令
[root@localhost ~]# vgextend centos /dev/sdb Volume group "centos" successfully extended vgextend名字命令接的vg的名字,后面是磁盤的位置
6.我們成功把vg卷擴展了,在用vgs查看一下
[root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 2 2 0 wz--n- 39.50g 20.04g [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- 17.47g swap centos -wi-ao---- 2.00g
雖然我們把vg擴展了,但是lv還沒有擴展
7.擴展lv,使用lvextend命令
[root@localhost ~]# lvextend -L +20G /dev/mapper/centos-root Size of logical volume centos/root changed from 17.47 GiB (4472 extents) to 37.47 GiB (9592 extents). Logical volume root successfully resized.
-L 指定擴展多大的空間到lv中去,后面的/dev/mapper/centos-root是指定擴展的文件位置,可在df -h中看見
查看lv大小
[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- 37.47g swap centos -wi-ao---- 2.00g
查看df -h中變化沒有
[root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 18G 1.1G 17G 6% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 483M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 497M 125M 373M 25% /boot tmpfs 98M 0 98M 0% /run/user/0
沒有變化。
那么我們要使用[root@localhost ~]# xfs_growfs /dev/mapper/centos-root 命令使系統重新讀取大小
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=1144832 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=4579328, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 4579328 to 9822208
再使用df -h查看
[root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 38G 1.1G 37G 3% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 483M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 497M 125M 373M 25% /boot tmpfs 98M 0 98M 0% /run/user/0
到這里我們就成功擴展了。
備注:我們可以自行生產vg組以及在新的vg中生成lv
vgcreate 創建新的vg組
lvcreate 在新的vg中創建新的lv,但是要指定對vg名字
vgreduce 把pv從vg中移除,若vg中只有一個pv則直接使用vgremove