将 /var 移动到不同的磁盘/分区

将 /var 移动到不同的磁盘/分区

我将/var目录移动到新的磁盘/分区,这部分运行良好,但我忘记删除/移动旧/var路径,并且它仍在使用/(根)分区上的空间。我怎样才能删除旧的/var而不重做所有过程?有任何想法吗?

这是我到目前为止所做的:

fdisk -l
mount /dev/sdb /mnt/newvar/
df -h /mnt/newvar/
rsync -aqxP /var/* /mnt/newvar/
umount /mnt/newvar/  /mnt/var/
umount /mnt/newvar/
umount /disk2/
umount /mnt/newvar/
ls -la /mnt/newvar/
df -h
vim /etc/fstab

fstab 内容:

UUID=c7c73822-b6e8-4aa4-a4b2-41a70c29568f /boot ext2 defaults 0 2
/dev/mapper/zabbix--vg-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0       0
UUID="3195ad53-3aaa-418c-bdc0-d341e33d76d3" /var ext3 defaults 0 2

上述命令的结果:

df -P / /var

Filesystem                  1024-blocks     Used Available Capacity Mounted on
/dev/mapper/zabbix--vg-root    11758232 10103908   1033988      91% /
/dev/sdb                       25671996  8720916  15640360      36% /var

答案1

您可以使用绑定安装来访问原始设备。这确实假设新的 /var 位于不同的分区上。

mountpoint /var   # confirm that /var is mounted on a different partition. If not, STOP NOW
mkdir /mnt/root
mount --bind / /mnt/root
ls -lid /var /mnt/root/var    # these will be different inodes
ls /var /mnt/root/var   # different file contents if you've updated /var
rm -rf /mnt/root/var
mkdir /mnt/root/var
umount /mnt/root
rmdir /mnt/root

正如通常建议的那样,在尝试此操作之前备份所有内容,就像对您的新配置的建议一样。你没有做错任何事,但我不会按照你的方式做。

第一个建议:您可能应该在 /dev/sdb 中创建一个分区,并在 /dev/sdb1 中创建文件系统。也许很迂腐,但我不喜欢将磁盘卷用于文件系统。过去曾遇到过这方面的问题。

其次:您可以在 /dev/sdb1 上创建一个 PV 卷并将其添加到 /dev/mapper/zabbix 以扩展该卷。这会将整个 LVM 分区放在两个磁盘上,如果磁盘损坏,则会增加数据丢失的可能性,但您不需要移动任何数据。但是,如果磁盘在您的设置中失效,您可能无论如何都会被冲洗掉,这就是备份的目的。

相关内容