Linux根目录扩容教程,有效缓解可用空间不足的焦虑
列出所有文件以及文件夹实际所占的磁盘空间:
du -ah /* | sort -h > /1.txt
一般是/var和/usr这两个文件夹占用较大,下面以/var为例
准备工作:额外的磁盘,登录VPS后台VNC界面
下面操作过程为debian12系统环境。
列出所有分区表信息
fdisk -l
下面操作将删除部分磁盘分区,请提前做好备份
fdisk [Disk路径]
例如:
fdisk /dev/sdb
进入磁盘分区界面,输入d,选择需要删除的分区(1,2...),w保存
创建即将分配给/var的空间,这里以3GB为例
fdisk [Disk路径]
分配剩余空间,输入n,一路回车,w保存
格式化分区
mkfs.ext4 [Device路径]
例如:mkfs.ext4 /dev/sdb1
数字1为上一步新创建的分区序号
查看分区UUID:
lsblk -f
新创建的分区只有格式化后才有UUID
安装rsync命令
apt-get install rsync
在VPS后台vnc界面重启机器,在启动界面按e,编辑启动项:
在最底下以linux开头的行末尾添加single字段
按下Ctrl+X或者F10引导进入单用户模式
挂载新分区:
mkdir -p /mnt/newvar
mount /dev/sdb1 /mnt/newvar
同步数据:
rsync -avxHP /var/ /mnt/newvar/
验证数据:
du -sh /var/
du -sh /mnt/newvar/
重命名旧 /var 目录,并腾出 /var 这个路径:
mv /var /var.old
mkdir /var
查看UUID并记录:
blkid /dev/sdb1
修改 /etc/fstab:
nano /etc/fstab
在文件末尾添加类似下面的一行
UUID=刚才记录的UUID,不需要双引号 /var ext4 defaults 0 2
测试挂载:
mount -a
df -h /var
重启系统:reboot
mount | grep /var
退出登录状态
exit
确认系统稳定运行后,可以删除备份的旧 /var 目录:
rm -rf /var.old
重要注意事项:
备份! 在进行任何磁盘或分区操作之前,务必备份重要数据。
单用户/救援模式是关键: 直接在运行的系统上移动 /var 风险极高,强烈不建议。
UUID 优于设备名: 使用 UUID 在 /etc/fstab 中挂载可以避免因设备名变化(例如 /dev/sdb 变成 /dev/sda)导致启动失败。

共有 0 条评论