Linux - 增加驱动器的容量

Linux - 增加驱动器的容量

跑步df -h给了我以下内容:

Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/centos-root           50G   49G  1.3G  98% /
devtmpfs                         7.8G     0  7.8G   0% /dev
tmpfs                            7.8G     0  7.8G   0% /dev/shm
tmpfs                            7.8G  769M  7.1G  10% /run
tmpfs                            7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/centos-home           78G  182M   78G   1% /home
/dev/sda1                        497M  338M  160M  68% /boot
tmpfs                            1.6G     0  1.6G   0% /run/user/0

我想分配更多空闲给/dev/mapper/centos-root通过减少分配来分配更多的空闲空间/dev/mapper/centos-home

我如何从家里删除 50GB 并将其提供给 root?


更多信息

跑步mount告诉我以下信息:

/dev/mapper/centos-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

这是否意味着它是 XFS 文件系统?当我运行时,resize2fs出现以下错误:

resize2fs: Bad magic number in super-block while trying to open /dev/centos/home Couldn't find valid filesystem superblock.

答案1

首先,vgs以 root 身份运行并检查显示的卷组的 VFree 值centos。如果它非零,则表示 VG 中有未分配的容量:它可用于扩展根文件系统,而无需先收缩/home。如果是这样,您可以直接跳到这个答案的最后一段。

但如果vgs报告 VFree 为零centos,请继续阅读...

由于您的/home文件系统显然只包含 182M 的数据,因此您可以轻松地将其内容备份到某个临时位置(甚至 USB 记忆棒),然后卸载/home,然后破坏性地调整逻辑卷的大小并重新创建文件系统。

XFS 文件系统可以在线扩展,但不能减少。因此调整你的大小会很有用/home,因为只要卷组中还有未分配的容量,您就可以根据需要重新扩展它。

该过程可能是这样的:

# cd /
# tar --acls --selinux --xattrs jcvf /some/where/home_archive.tar.bz2 home
<verify that the resulting archive is readable and intact>
# umount /home
# lvreduce -L 10G /dev/mapper/centos-home
# mkfs.xfs -f /dev/mapper/centos-home    # WARNING: this will definitely destroy existing contents!
# mount /home
# cd /
# tar --acls --selinux --xattrs xvf /some/where/home_archive.tar.bz2

现在/home文件系统的大小只有10G,centos卷组中剩余的容量是空闲的。你可以用vgs

要在线扩展根文件系统(或位于 LVM 逻辑卷上的任何 XFS 文件系统),过程是:

# lvextend -L <new size> /dev/mapper/centos-root  # lvextend wants the LV device name
# xfs_growfs /   # xfs_growfs wants the filesystem mount-point as argument

相关内容