配置 DRBD 后,警告 /dev/centos/root 交换 centos-root 不存在

配置 DRBD 后,警告 /dev/centos/root 交换 centos-root 不存在

我在默认 CentOS 7.3 安装上配置了 DRBD,如下所示:

/dev/centos/home占用了所有空间,sda2因此减少了空间并创建了/dev/centos/home(20% 空间)和/dev/centos/drbd(剩余空间使用 lvcreate -l 100%VG -n drbd centos

DRBD 资源设备为/dev/drbd0,磁盘/dev/mapper/centos-drbd格式为ext4.

现在每次我重新启动系统时都会出现错误:

Warning: /dev/centos/root does not exist
Warning: /dev/centos/swap does not exist
Warning: /dev/mapper/centos-root does not exist

我从 dracut shell 运行:

$ lvm vgscan
$ lvm vgchange -ay 
$ exit

并且系统启动正常。但它再次失败reboot

有什么解决办法吗?


更新:找到原因,drbd 设备导致了问题。我从两台服务器上删除了它,它修复了第二台服务器,但没有修复第一台服务器。blkid仍然显示错误的 UUID 和类型/dev/sda2

$ blkid

/dev/sda1: UUID="bdfa3672-b24b-41ec-88f8-d0f0a81057d1" TYPE="xfs"
/dev/sda2: UUID="d8d241f07976f3ce" TYPE="drbd"
/dev/mapper/centos-swap: UUID="3c8653bb-060a-4e46-8eaa-ce51637752ee" TYPE="swap"
/dev/mapper/centos-root: UUID="93941d8b-22e0-4ad7-8666-1ce8ba8d1109" TYPE="xfs"
/dev/mapper/centos-home: UUID="63c9a5ad-9b4b-4852-8e95-22b356d8729a" TYPE="xfs"

答案1

您看到此情况的原因是由于 initramfs 内核映像是为其运行的特定系统构建的,因此迁移到新硬件将导致其无法启动。

在紧急模式下重建 initramfs(或进入救援模式):

然后

  1. 列出您拥有的 initramfs 映像:

    ls -ltrh /boot/initramfs-*
    
  2. 找到您正在使用的内核版本并创建它的备份:

    cp -iv /boot/initramfs-3.10.0-1062.el7.x86_64.img /boot/initramfs-3.10.0-1062.el7.x86_64.img.back
    
  3. 为该特定内核重建内核映像

    dracut -f
    
  4. 选择新的内核镜像

    ls -ltrh /boot/initramfs-*
    
  5. 指定新的内核版本(例如):

    dracut -f  /boot/initramfs-3.10.0-1062.el7.x86_64.img 3.10.0-1062.el7.x86_64
    
  6. 进入GRUB配置

    vim /boot/grub2/grub.cfg
    
  7. 删除旧的菜单项并确保新的菜单项位于所有菜单项的顶部

  8. 生成 GRUB 配置文件

    grub2-mkconfig
    
  9. 重启

  10. 完毕

答案2

  • 在Centos中编辑/etc/default/grub如下:
    GRUB_CMDLINE_LINUX="resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rhgb quiet"
    
  • 将交换路径更改为正确的路径
  • 跑步
    grub2-mkconfig
    
    dracut -f
    
  • 重启

相关内容