将 /var 移动到另一个驱动器后无法启动

将 /var 移动到另一个驱动器后无法启动

我运行的是 CentOS 7。

我有/var一个单独的硬盘驱动器,并smartctl显示它有一些读取错误。因此,我想移动/var到另一个硬盘。

对于新硬盘,我使用 gparted 创建两个分区(1MB 对齐)。

然后,我将一个分区安装到/mnt/var_new然后rsync -avHPSAX --filter='-x security.selinux' /var/ /mnt/var_new/。正如预期的那样,一个文件无法同步(这正好证实了为什么smartctl会出现读取错误):

WARNING: cache/yum/x86_64/7/centos-sclo-sclo/gen/primary_db.sqlite failed verification -- update discarded (will try again).
cache/yum/x86_64/7/centos-sclo-sclo/gen/primary_db.sqlite
      1,607,680 100%    2.81MB/s    0:00:00 (xfr#3, ir-chk=1309/1607)
rsync: read errors mapping "/var/cache/yum/x86_64/7/centos-sclo-sclo/gen/primary_db.sqlite": Input/output error (5)
ERROR: cache/yum/x86_64/7/centos-sclo-sclo/gen/primary_db.sqlite failed verification -- update discarded.

并且没有其他文件无法同步(我rsync再次重新运行以确认)。

然后,我正确删除了安装旧的条目/var并添加了一个新条目来安装新的/var

然后,我重新启动,然后它无法启动,出现大量故障(只是纯黑屏)。

然后,我启动到紧急模式,新的/var确实正确安装,我可以在那里看到相关文件。

/var我确实读过一些需要处于 755 模式并且/var/tmp需要设置粘性位的文章。我两者都有。

我做错了什么?

谢谢!

答案1

在恢复模式下:

  1. chroot进入你的系统
  2. mount /var如果没有安装
  3. restorecon -rv /var然后再次尝试正常启动。

确保您的/var输入/etc/fstab正确。

相关内容