我有一台生产服务器,需要使用 将空间从/data
( 3.7 T
) 移动到/home
( 50G
) lvm
,我需要移动200G
的空间。我想到的解决方案是减少 /data 的大小,然后利用释放的空间并/home
随之扩展。
添加磁盘不是一个选择,因为我有足够的空间/data
(3.7 T,只使用了 1%,如df
下面的命令所示)
我有一个卷组和一个pv
没有可用空间的卷组:
pvs
:
PV VG Fmt Attr PSize PFree
/dev/sda4 rhel lvm2 a-- 3.64t 4.00m
vgs
:
VG #PV #LV #SN Attr VSize VFree
rhel 1 10 0 wz--n- 3.64t 4.00m
lvs
输出:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data rhel -wi-ao---- 2.98t
home rhel -wi-ao---- 50.00g
opt rhel -wi-ao---- 30.00g
root rhel -wi-ao---- 50.00g
swap rhel -wi-ao---- 30.00g
tmp rhel -wi-ao---- 200.00g
usr rhel -wi-ao---- 100.00g
var rhel -wi-ao---- 200.00g
var_log rhel -wi-ao---- 10.00g
var_log_audit rhel -wi-ao---- 5.00g
输出df -khT
:
/dev/mapper/rhel-usr ext4 99G 8.7G 85G 10% /usr
/dev/sda2 ext4 976M 101M 808M 12% /boot
/dev/sda3 vfat 512M 0 512M 0% /boot/efi
/dev/mapper/rhel-home ext4 50G 41G 5.7G 88% /home
/dev/mapper/rhel-opt ext4 30G 11G 18G 39% /opt
/dev/mapper/rhel-tmp ext4 197G 4.2G 183G 3% /tmp
/dev/mapper/rhel-data ext4 3.0T 26G 2.8T 1% /data
/dev/sdb1 ext4 3.6T 79G 3.4T 3% /data/disk01
/dev/sdc1 ext4 3.6T 758M 3.4T 1% /data/disk02
的输出lsblk
显示/home
和/data
都在同一个分区下sda4
,虽然我不知道该怎么做。似乎和都在同一个分区下很/home
方便/data
:
lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3.7T 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 512M 0 part /boot/efi
└─sda4 8:4 0 3.7T 0 part
├─rhel-root 253:0 0 50G 0 lvm /
├─rhel-swap 253:1 0 30G 0 lvm [SWAP]
├─rhel-usr 253:2 0 100G 0 lvm /usr
├─rhel-tmp 253:3 0 200G 0 lvm /tmp
├─rhel-home 253:4 0 50G 0 lvm /home
├─rhel-var 253:5 0 200G 0 lvm /var
├─rhel-var_log_audit 253:6 0 5G 0 lvm /var/log/audit
├─rhel-var_log 253:7 0 10G 0 lvm /var/log
├─rhel-opt 253:8 0 30G 0 lvm /opt
└─rhel-data 253:9 0 3T 0 lvm /data
我需要执行此操作而不丢失任何数据,最好不要重新启动服务器。
如果可能的话,请推荐一个解决方案,如果不可能的话,请解释原因。
答案1
ext4 不支持在线缩减,您必须先卸载文件系统才能卸载它,但操作系统可以保持运行。相反,ext4 和 LVM 逻辑卷支持在线调整大小(增加大小)。我读到您有 RHEL,因此您应该可以访问 Red Hat 知识库 Red Hat。此解决方案https://access.redhat.com/solutions/32530描述缩小带有 ext4 文件系统的 LVM 逻辑卷的过程。