我正在CentOS 7.3
运行x86_64
。我有两个磁盘,第一个是配置、、的256GB SSD
位置。 0第二个是已安装且当前拥有超过的数据。/root
/boot
swap
/home
4TB HDD
/data
1 TB
我想扩展/home
,因为它不够,很快就会耗尽空间。为了实现这一目标,我想利用4TB HDD
我所拥有的,这样我就可以将它用作/home
和/data
。
/data
不仅仅是/home
因为我已经有一些应用程序和数据配置了一些绝对路径,例如/data/xyz/pqr
.
是否可以在不格式化任何内容并希望不丢失任何数据的情况下实现这一目标?
我正在分享以下系统信息,如果需要更多详细信息,请告诉我。
df-h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 55G 27G 29G 50% /
devtmpfs 55G 0 55G 0% /dev
tmpfs 55G 0 55G 0% /dev/shm
tmpfs 55G 18M 55G 1% /run
tmpfs 55G 0 55G 0% /sys/fs/cgroup
/dev/sda1 1.9G 173M 1.7G 10% /boot
/dev/sdb1 3.6T 708G 2.8T 21% /data
/dev/mapper/cl-home 165G 3.0G 162G 2% /home
tmpfs 11G 12K 11G 1% /run/user/42
tmpfs 11G 0 11G 0% /run/user/1001
猫 /etc/fstab
/dev/mapper/cl-root / xfs defaults 0 0
UUID=02663577-6456-477e-8489-3565659de456 /boot xfs defaults 0 0
/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
/dev/sdb1 /data ext4 defaults 0 0
答案1
是的,这是可能的。您必须首先缩小 /data 文件系统。卸载它,检查文件系统完整性:
e2fsck /dev/sdb1
收缩至999G(或您想要的尺寸)
resize2fs /dev/sdb1 999G
并使用gparted将分区/dev/sdb1调整为1000G。然后您可以使用以下命令将文件系统填充到 /dev/sdb1 的大小:
resize2fs /dev/sdb1
现在 /dev/sdb 的其余部分可用于新的 /home。最好在那里创建 LVM2 卷组 (VG):
vgcreate lvm01 /dev/sdb2
逻辑卷 (LV) 的大小足以容纳您的 /home(例如 500G)。
lvcreate -n home.vol -L 500G lvm01
在新LV上创建文件系统
mkfs.ext4 /dev/mapper/lvm01-home.vol
然后将其挂载到临时挂载点下,从普通用户注销并在 root 下将 /home 的内容移动到临时挂载点,将 /home 的 /etc/fstab 条目更改为新的 LV 并重新启动。
答案2
“干净”的解决方案是
- 缩小
/data
分区 (resize2fs
) - 在可用空间中创建新分区,最好将其设为 LVM PV
- 创建一个LV
home
,格式化它 - 将其安装到某个临时路径
- 将数据复制到
/home
那里 - 卸载
/home
- 安装新的LV
/home
简单的替代方案
mkdir /data/home
mv /home/* /data/home
rmdir /home
ln -s /data/home /