lvextend逻辑卷扩容(xfs_growfs、resize2fs配合扩展⽂件系统) lvextend 命令⽤于逻辑卷在线扩容,也就是说lvextend扩容是不需要停机的,应⽤服务也不需要关闭,其语法格式如下:
lvextend [参数] LogicalVolume[Path][ ]
常⽤参数:
-l + :指定逻辑卷的LE个数,如 -l +200
-L + :表⽰增加多少空间,如 -L +15G ,单位有bBsSkKmMgGtTpPeE -l +100%FREE :表⽰增加vg的全部可⽤空间
注意:lvextend 扩展后只是扩展了lv的⼤⼩,⽽此时⽂件系统并未感知到,所有还需要使⽤xfs_growfs、resize2fs等命令来扩展⽂件系统,xfs_growf命令是扩展xfs⽂件系统,resize2fs是扩展ext4⽂件系统。
演⽰⽰例:
⽅法⼀、
[root@localhost lv_data]# lvextend -L +1G /dev/iflytek/lv_data #逻辑卷扩容,增加1G的空间
Size of logical volume iflytek/lv_data changed from 6.00 GiB (1536 extents) to 7.00 GiB (1792 extents).文具盒生产过程
Logical volume iflytek/lv_data successfully resized.
[root@localhost mapper]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 9.79g
swap cl -wi-ao---- 1.20g
lv_data iflytek -wi-ao---- 7.00g #发现lv_data其实增⼤到7G了
[root@localhost lv_data]# df -Th #发现/dev/mapper/iflytek-lv_data逻辑卷还是6G,说明即使lv增⼤了但⽂件系统并未感知到lv增⼤了
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/iflytek-lv_data xfs 6.0G 33M 6.0G 1% /lv_data
[root@localhost lv_data]#
#哎呀,df -Th 看到的怎么是/dev/mapper/iflytek-lv_data,我们的逻辑卷⽂件明明是/dev/iflytek/lv_data的呀,怎么回事?
#原来这是lvm的mapper机制决定的,当我们lvcreate⼀个逻辑卷的时候,Linux会新建两个软链接⽂件,
#如/dev/PVName/PVName和/dev/mapper/PVName-LVName,⽽这2个⽂件都是指向/dev/dm-X 块⽂件的,所有,当我们使⽤df -h看
#到的/dev/mapper/iflytek-lv_data其实是和/dev/iflytek/lv_data⼀样的,不管我们使⽤哪个都是可以的。
#查看你的逻辑卷是什么⽂件系统类型,如果是xfs⽂件系统,使⽤xfs_growfs命令扩展容量:
xfs_growfs /dev/iflytek/lv_data
#查看你的逻辑卷是什么⽂件系统类型,如果是ext4⽂件系统,使⽤resize2fs命令扩展容量:摄像机机芯
resize2fs /dev/root_vg/root
[root@localhost mapper]# xfs_growfs /dev/iflytek/lv_data
#使⽤xfs_growfs命令扩展xfs⽂件系统,如果是ext4⽂件系统,则使⽤resize2fs /dev/iflytek/lv_data
meta-data=/dev/mapper/iflytek-lv_data isize=512agcount=4, agsize=393216 blks
=sectsz=512attr=2, projid32bit=1
=crc=1finobt=0spinodes=0
data =bsize=4096blocks=1572864, imaxpct=25
=sunit=0swidth=0 blks
naming =version 2bsize=4096 ascii-ci=0ftype=1
log =internal bsize=4096blocks=2560, version=2
=sectsz=512sunit=0 blks, lazy-count=1
realtime =none extsz=4096blocks=0, rtextents=0
data blocks changed from 1572864 to 1835008
[root@localhost mapper]# df -Th #检查
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/cl-root xfs 9.8G 1021M 8.8G 11% /
devtmpfs devtmpfs 1.9G 01.9G 0% /dev
tmpfs tmpfs 1.9G 01.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs tmpfs 1.9G 01.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 139M 876M 14% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/
dev/mapper/iflytek-lv_data xfs 7.0G 33M 7.0G 1% /lv_data #⼤⼩其实增⼤了1G了
[root@localhost mapper]#
[root@localhost mapper]# lvextend -l +25 /dev/iflytek/lv_data #增加25个LE就是100M
Size of logical volume iflytek/lv_data changed from 7.00 GiB (1792 extents) to 7.10 GiB (1817 extents). Logical volume iflytek/lv_data successfully resized.
[root@localhost mapper]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl-root 102584321045568921286411% /
devtmpfs 1921808019218080% /dev
tmpfs 1932776019327760% /dev/shm广告灯箱制作
tmpfs 1932776877619240001% /run
tmpfs 1932776019327760% /sys/fs/cgroup
/dev/sda1 103833614160889672814% /boot
tmpfs 38655603865560% /run/user/0
/dev/mapper/iflytek-lv_data 73297923298072968121% /lv_data #查看容量⼤⼩
[root@localhost mapper]# xfs_growfs /dev/iflytek/lv_data #扩展⽂件系统⼤⼩
meta-data=/dev/mapper/iflytek-lv_data isize=512agcount=5, agsize=393216 blks
=sectsz=512attr=2, projid32bit=1
=crc=1finobt=0spinodes=0
data =bsize=4096blocks=1835008, imaxpct=25
=sunit=0swidth=0 blks
naming =version 2bsize=4096 ascii-ci=0ftype=1
log =internal bsize=4096blocks=2560, version=2
=sectsz=512sunit=0 blks, lazy-count=1
realtime =none extsz=4096blocks=0, rtextents=0
data blocks changed from 1835008 to 1860608#显⽰块已经增⼤了
[root@localhost mapper]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl-root 102584321045568921286411% /
模杯devtmpfs 1921808019218080% /dev
tmpfs 1932776019327760% /dev/shm
tmpfs 1932776877619240001% /run
tmpfs 1932776019327760% /sys/fs/cgroup
/dev/sda1 103833614160889672814% /boot
tmpfs 38655603865560% /run/user/0
/dev/mapper/iflytek-lv_data 74321923298073992121% /lv_data #空间增⼤了
[root@localhost mapper]#
[root@localhost mapper]# lvs #查看还有多少空间
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 9.79g
swap cl -wi-ao---- 1.20g
lv_data iflytek -wi-ao---- 7.10g #还有7.10G
[root@localhost mapper]# lvextend -l +100%FREE /dev/iflytek/lv_data #把vg的全部剩余空间都加给lv
Size of logical volume iflytek/lv_data changed from 7.10 GiB (1817 extents) to 13.99 GiB (3582 extents). Logical volume iflytek/lv_data successfully resized.
[root@localhost mapper]# lvs #lv确实增加了
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 9.79g
swap cl -wi-ao---- 1.20g
lv_data iflytek -wi-ao---- 13.99g
[root@localhost mapper]# vgs #iflytek卷组显⽰已经没有剩余空间了
VG #PV #LV #SN Attr VSize VFree
低压注塑成型cl 120 wz--n- 11.00g 4.00m
iflytek 210 wz--n- 13.99g 0
[root@localhost mapper]# df -Th #此时⽂件系统还没扩展
Filesystem Type Size Used Avail Use% Mounted on
/
dev/mapper/cl-root xfs 9.8G 1021M 8.8G 11% /
devtmpfs devtmpfs 1.9G 01.9G 0% /dev
tmpfs tmpfs 1.9G 01.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs tmpfs 1.9G 01.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 139M 876M 14% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/iflytek-lv_data xfs 7.1G 33M 7.1G 1% /lv_data
[root@localhost mapper]# xfs_growfs /dev/iflytek/lv_data #扩展⽂件系统⼤⼩
meta-data=/dev/mapper/iflytek-lv_data isize=512agcount=5, agsize=393216 blks
=sectsz=512attr=2, projid32bit=1
=crc=1finobt=0spinodes=0saw1
data =bsize=4096blocks=1860608, imaxpct=25
=sunit=0swidth=0 blks
naming =version 2bsize=4096 ascii-ci=0ftype=1
log =internal bsize=4096blocks=2560, version=2
=sectsz=512sunit=0 blks, lazy-count=1
realtime =none extsz=4096blocks=0, rtextents=0
data blocks changed from 1860608 to 3667968
[root@localhost mapper]# df -Th #⽂件系统已扩展
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/cl-root xfs 9.8G 1021M 8.8G 11% /
devtmpfs devtmpfs 1.9G 01.9G 0% /dev
tmpfs tmpfs 1.9G 01.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run
tmpfs tmpfs 1.9G 01.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 139M 876M 14% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/mapper/iflytek-lv_data xfs 14G 33M 14G 1% /lv_data
[root@localhost mapper]#