为 Linux 增加根分区?

为 Linux 增加根分区?

我的问题:我的根路径已满

$ df -H
Filesystem      Size  Used Avail Use% Mounted on
udev             17G     0   17G   0% /dev
tmpfs           3.4G  170M  3.2G   6% /run
/dev/md1         21G   21G     0 100% /
tmpfs            17G     0   17G   0% /dev/shm
tmpfs           5.3M     0  5.3M   0% /run/lock
tmpfs            17G     0   17G   0% /sys/fs/cgroup
/dev/md0        295M   38M  238M  14% /boot
/dev/md2        481G   76M  457G   1% /data
tmpfs           3.4G     0  3.4G   0% /run/user/1000

我们也可以:

  1. 减少 /dev/md2 的大小并将该空间提供给根(/dev/md1)?
  2. 合并两个分区 (/dev/md2 进入 /dev/md1)?
  3. 还有其他解决我的空间磁盘问题的想法吗?

答案1

最简单的解决方案是将一些大文件移开。要查找最大的目录,请使用此命令

du -Sx / | sort -n | less

将大文件或目录移动到 /data 下 /dev/md2 上的目录中。

mkdir -p /data/path
mv /path/file /data/path
ls -s /data/path/file /path/file

所有其他解决方案都很复杂且有风险,因此您应该备份。另一方面,如果您有备份,只需重新创建分区并从备份中恢复即可。无论如何,您应该从另一个系统启动,例如 USB 上的实时系统。

可以减小 /dev/md2 的大小。首先减小分区内的文件系统。然后调整 RAID 阵列的大小。然后调整阵列中的磁盘分区的大小。要增加 /dev/md1,请以另一种方式进行。增加磁盘分区的大小。增加 RAID 的大小。增加文件系统的大小。

合并两个分区的工作量更大,除非您不介意重新使用 /dev/md1 上现在占用的空间。挂载 /dev/md2,创建子目录数据,将所有内容移至此目录数据。挂载 /dev/md1,将所有内容复制到 /dev/md2。使用 /dev/md2 作为新的根分区。

如果您想重复使用 /dev/md1 中的空间,那就复杂多了,如果您有兴趣,我可以写相关文章。

答案2

  1. 尝试找到完整分区的来源,正如 RalfFriedl 使用 du 命令所指出的那样
  2. 移动(或删除)文件,检查 /tmp 是否充满了无意义的内容。也许是 /var/log?
  3. 我认为最好将 / (/dev/md1) 保持在 21GB 大小,这对于常规 Linux 根分区来说已经足够了
  4. 正确配置填充 / 分区的服务/应用程序以写入 /data (/dev/md2)。
  5. 为了将来,您应该强制执行配额和警报,以便在空间达到阈值时可以防止这种情况发生。

相关内容