目录
1.把磁盘或者分区加入卷组
pvcreate
vgextend
vgdisplay vg0
2.扩容
物理磁盘扩容
文件系统的扩容
注意
一条命令搞定2个步骤
3.特点
查看磁盘,发现已经满了
[root@N1 ~]# echo "66666" > /mnt/data/a.txt
-bash: echo: write error: No space left on device
[root@N1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-ndata 30G 30G 20K 100% /mnt/data
[root@N1 ~]
创建物理卷
[root@N1 ~]# pvcreate /dev/sda4
把新搞的物理卷加入卷组
[root@N1 ~]# vgextend vg0 /dev/sda4
Volume group "vg0" successfully extended
发现加入之后vg0 已经新有可分配的PE了
[root@N1 ~]# vgdisplay vg0
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
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 3
Act PV 3
VG Size 39.95 GiB
PE Size 16.00 MiB
Total PE 2557
Alloc PE / Size 1918 / <29.97 GiB
Free PE / Size 639 / 9.98 GiB
VG UUID R1OqyH-O3MN-kVcn-BF1H-Vy75-x9zf-MZM1Vp
[root@N1 ~]# df -h
/dev/mapper/vg0-ndata 30G 30G 20K 100% /mnt/data
这个扩展实际上分为二步,第一步是物理磁盘的扩容。第二步是文件系统的扩容
[root@N1 ~]# lvextend -L +2G /dev/vg0/ndata
Size of logical volume vg0/ndata changed from <29.97 GiB (1918 extents) to <31.97 GiB (2046 extents).
Logical volume vg0/ndata successfully resized.
发现vg0 多了2G
[root@N1 ~]# lvs vg0
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
ndata vg0 -wi-ao---- <31.97g
但是此时用df -h 查看 此时磁盘仍然没有变化的,因为df -h 文件系统容量
xfs_growfs
[root@N1 ~]# xfs_growfs /mnt/data
meta-data=/dev/mapper/vg0-ndata isize=512 agcount=4, agsize=1964032 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=7856128, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3836, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7856128 to 8380416
发现文件系统已经变了
[root@N1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-ndata 32G 30G 2.0G 94% /mnt/data
xfs 文件系统使用的是 xfs_growfs 后面接的是挂载点
ext 文件系统使用的是 resize2fs /dev/vg0/ndata 后面接的设备名称
lvextend 使用 -r 参数即可
[root@N1 ~]# lvextend -r -L +3G /dev/vg0/ndata
Size of logical volume vg0/ndata changed from <31.97 GiB (2046 extents) to <34.97 GiB (2238 extents).
Logical volume vg0/ndata successfully resized.
meta-data=/dev/mapper/vg0-ndata isize=512 agcount=5, agsize=1964032 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=8380416, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3836, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 8380416 to 9166848
验证结果
[root@N1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-ndata 35G 30G 5.0G 86% /mnt/data
[root@N1 ~]# lvs vg0
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
ndata vg0 -wi-ao---- <34.97g
在线扩展,不影响用户使用
但是如果缩减的话必须离线。而且我们不建议离线,因为缩减的话不确定缩减的PE取自哪个硬盘/分区。而且缩减只针对ext 系统, xfs 不支持缩减