我曾经lvextend将我的逻辑卷从 1 个物理驱动器增加到 3 个。这似乎很顺利:
$ sudo pvs
PV VG Fmt Attr PSize PFree
/dev/nbd1 dbvg lvm2 a-- 139.70g 0
/dev/nbd2 dbvg lvm2 a-- 139.70g 0
/dev/nbd3 dbvg lvm2 a-- 139.70g 0
$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
dbvg 3 1 0 wz--n- 419.09g 0
$ sudo lvs
LV VG Attr LSize
dblv dbvg -wi-ao---- 419.09g
Run Code Online (Sandbox Code Playgroud)
直到我真正安装了设备并尝试了df -h:
$ sudo mount /dev/dbvg/dblv /mnt/virtual
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
/dev/mapper/dbvg-dblv 138G 122G 15G 90% /mnt/virtual
Run Code Online (Sandbox Code Playgroud)
似乎挂载只使用其中一个磁盘(或者某些内容已缓存但尚未更新),但为什么呢?我能做些什么来解决这个问题?
您是否将-r(或--resizefs)选项传递给了lvextend?如果没有,您需要采取额外的步骤。
默认情况下lvextend将扩展 LV,但不会更改包含在该 LV 中的文件系统。文件系统是您挂载的内容以及df报告大小的内容。
您必须手动扩展文件系统以使其知道底层设备已增长。
扩展的方式会因实际文件系统而异;例如,对于 ext2/ext3/ext4,要使用的工具是resize2fs,对于 xfs 是工具xfs_growfs,等等。
某些文件系统允许在线调整大小,而其他文件系统则要求您事先卸载它们。