有谁知道如何扩展 /dev/sda4 的大小并将其分配给 vg_root-lv_var 而无需重新启动?
lsblk
输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 4G 0 part [SWAP]
├─sda3 8:3 0 35.5G 0 part
│ ├─vg_root-lv_root 253:0 0 9G 0 lvm /
│ ├─vg_root-lv_usr 253:1 0 4G 0 lvm /usr
│ ├─vg_root-lv_localservices 253:2 0 15.5G 0 lvm /localservices
│ ├─vg_root-lv_home 253:3 0 4G 0 lvm /home
│ ├─vg_root-lv_tmp 253:4 0 4G 0 lvm /tmp
│ └─vg_root-lv_var 253:5 0 4G 0 lvm /var
└─sda4 8:4 0 5G 0 part
└─vg_root-lv_root 253:0 0 9G 0 lvm /
sr0 11:0 1 1024M 0 rom
pvscan
输出:
PV /dev/sda3 VG vg_root lvm2 [35.51 GiB / 0 free]
PV /dev/sda4 VG vg_root lvm2 [5.00 GiB / 0 free]
Total: 2 [40.50 GiB] / in use: 2 [40.50 GiB] / in no VG: 0 [0 ]
答案1
以下内容对我在 EL7 上有效。
首先,您必须有一种动态增加块设备的方法/dev/sda
,例如在 VMware 或 AWS 等中增加磁盘的大小。dmesg
执行此操作时,将报告块设备的大小增加。您可能需要使用类似 来触发对 SCSI 总线的重新扫描echo 1 >/sys/class/scsi_device/0:0:0:0/device/rescan
。
- 首先,使用
fdisk
,删除原始/dev/sda4
分区,然后从完全相同的部门与原始分区相同,但延伸到磁盘的新末端,该末端必须大于或等于原始分区。确保您也设置了相同的分区类型。保存并退出时,您会收到需要重新启动的警告,但请继续。 - 运行
partx -u /dev/sda4
该程序将会更新有关分区的内核。 - 运行
pvresize /dev/sda4
以获取额外的空间。您的卷组现在应该会报告它有可用空间。 - 现在运行
lvresize -l +100%FREE /dev/mapper/vg_root-lv_var
调整/var
逻辑卷大小以使用所有新空间。如果您只想使用部分新空间,请调整此命令。 xfs_growfs /var
最后,使用类似或 之类的命令调整文件系统的大小resize2fs /dev/mapper/vg_root-lv_var
。这取决于您使用的文件系统,有些工具需要底层块设备,有些需要文件系统挂载点。- 您现在应该有更多的空间了
/var
。