如何调整主文件系统的大小

如何调整主文件系统的大小

我在 centos 服务器上安装了一个新卷/dev/sdb。我想向根文件系统添加空间/dev/vda1

[user@prod current]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        30G   11G   18G  37% /
devtmpfs        488M     0  488M   0% /dev
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           497M   50M  447M  11% /run
tmpfs           497M     0  497M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/1000
/dev/sdb         50G   53M   47G   1% /mnt/volume_nyc3_01

有什么方法可以减少/dev/sdb和增加/dev/vda1?如果可能的话,不会丢失数据/dev/vda1

答案1

我非常怀疑这是否真的可行。但你可以将文件或文件夹从 /dev/vda1 移动到 /dev/sdb,然后让它们出现在 /dev/vda1 上的同一位置。这将增加 /dev/vda1 上的可用空间。

例如,一个简单的解决方案是将 /var、/home、/opt 或 /usr 的内容移动到 /dev/sdb,然后将 /dev/sdb 挂载为您移动的文件夹。这是一种非常常见的处理方法。请小心使用 /sbin 和 /root,因为它们可能需要在您的设置中挂载 /dev/sdb 之前存在。您可以通过更改 fstab 来执行此操作(这可以通过您设置中的工具完成)。

您还可以对 /dev/sdb 进行分区(我猜)。然后您可以将其挂载为多个目录。这将涉及向 fstab 添加条目。

第三个选项是将文件从 /dev/vda1 移动到 /dev/sdb,然后对它们进行符号链接,使它们出现在文件结构中的同一位置。您通常会将这些符号链接放在文件夹级别。例如

ln -s /mnt/volume_nyc3_01/usr /usr

您将以 root 身份执行此操作(可能使用sudo)。这样您就可以将任意文件夹或文件放在 /dev/sdb 上,同时仍在文件系统中的同一位置访问它们。我假设您已经知道如何使用 来du查找占用最多空间的文件和文件夹。

答案2

如果我们将/dev/vda/dev/sdb视为不同的(物理)磁盘,这并不容易实现,因为从头开始重新安装服务器并/从一开始就放入 LVM 卷会容易得多。

如果绝对必要,可以经过长时间的停机和大量了解需要做什么才能完成此操作。不过这很容易出错,我建议不要尝试。

/dev/vda表明这是某种虚拟系统。根据底层系统允许的内容,可能可以通过 调整磁盘映像的大小/dev/vda(如有必要,可以通过 删除/缩小映像/dev/sdb)。请咨询您的管理员/提供商。在这种情况下,在系统选择较大的 大小后/dev/vda,您可以扩展/dev/vda1然后扩大/文件系统。

答案3

请记住,您可以在树上的任何位置安装卷。无需修改 / 处的根文件系统。

创建 LVM 卷组,然后从 /dev/sdb 创建逻辑卷,在其上创建文件系统,并将其挂载到需要空间的位置。例如,这可以用于数据库,将其挂载到 /var/lib/pgsql。(您的应用程序将有所不同。)

此类特定挂载点可将应用程序数据与操作系统隔离。这样可使备份或容量规划更加容易。但代价是必须管理多个文件系统。

相关内容