我已经设置了一个支持 OpenVZ 的服务器。我编写了一个备份脚本,它时不时地转储 vz 容器。但有些容器由于磁盘空间不足而没有进行备份。所以我跑了df -h
,这给了我这个:
Filesystem Size Used Avail Use% Mounted on
240f0d7c-195b-461b-87e3-0d0dfc33c3d4
5.0G 4.4G 362M 93% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 10M 660K 9.4M 7% /dev
tmpfs 2.0G 4.0K 2.0G 1% /dev/shm
/dev/sda3 270G 32G 225G 13% /vz
/dev/sda4 184G 188M 174G 1% /srv
所以看来问题出在根分区(?),它只有 362M 可用空间。由于/srv
174G 这可能太多了,我想从那里“给予”一些磁盘空间给根目录。有人可以解释我该怎么做吗?
答案1
最简单的解决方案是创建 /srv 的备份。 /srv.tar 中应该只有 188MB。
tar cvf /srv.tar.bz2 --auto-compress /srv
然后删除sda4分区并创建另外2个分区。您可以使用cfdisk /dev/sda
或任何其他分区软件。
- sda4扩展分区(否则只能有4个)
- sda5 代表 /srv
- sda6 用于备份
在 sda5 和 sda6 上创建文件系统,将 sda5 挂载到 /srv 并恢复备份。
mke2fs -j /dev/sda5 # For ext3 filesystems
mke2fs -j /dev/sda6 # use mkfs.<fsname> for any other
mount /dev/sda5 /srv
cd /srv
tar xvf /srv.tar.bz2 --preserve-permissions
将 /sda6 挂载到您想要存储备份的目录。例如:
mount /dev/sda6 /var/lib/backups
不要忘记修改 /etc/fstab。添加新的备份文件系统并更改 /srv 的设备。
/dev/sda5 /srv ext3 defaults 0 0
/dev/sda6 /var/lib/backups ext3 defaults 0 0
将来使用 LVM 会是一个好主意。这使得这类问题变得更容易。