文档首页/ 主机迁移服务 SMS/ 常见问题/ 系统兼容与迁移限制/ Redhat CoreOS系统迁移约束限制和迁移前准备工作
更新时间:2025-07-15 GMT+08:00
分享

Redhat CoreOS系统迁移约束限制和迁移前准备工作

Redhat CoreOS是用于运行容器节点的操作系统。使用主机迁移服务(SMS)迁移前,请了解相关的约束和限制、迁移须知,并完成迁移前的准备工作,以确保迁移过程顺利进行。

约束和限制

限制项

约束和限制

/sysroot只读权限

/sysroot默认通过“chattr +i /sysroot”命令设置为只读,迁移前需要解除/sysroot的禁止写入。

挂载点为只读权限

/etc、/sysroot、/boot、/usr等目录默认是只读挂载,迁移前需要改为读写模式。

/boot/efi默认不挂载

/boot/efi目录在开机后默认不挂载,需要手动挂载。

BIOS+GPT启动方式的主机

文件级迁移无法支持BIOS boot分区,因此文件级迁移不支持迁移BIOS+GPT启动方式的主机。但块级迁移支持该启动方式的主机。

迁移过程中注入virtio驱动

Redhat CoreOS的initramfs内核结构与系统版本紧密相关,在迁移过程中无法使用“dracut”命令注入驱动。如果迁移前系统缺少virtio驱动,则无法迁移。

迁移须知

  • 迁移或者同步时间慢:由于SMS的迁移原理是在远程复制和拷贝文件,因此无法准确计算首次复制或者同步所需时间。
  • PVS方式挂载可能会受影响:目的端磁盘会根据源端磁盘信息自动进行更新,这可能导致已有的PV和PVC配置发生变化,从而影响原有的挂载方式。

    PVS方式挂载是指通过静态方式预先创建PV(Persistent Volume)和PVC(Persistent Volume Claim),然后将PV绑定到PVC,供Pod使用。

  • 无法保证容器正常启动:SMS只能保证文件系统一致,无法保证迁移后容器能正常启动。

迁移前准备工作

  • 解除/sysroot的只读属性
    由于/sysroot通过“chattr +i /sysroot”命令实现只读,需要在源端使用root用户执行以下命令,解除其禁止写入的属性。
    chattr -i /sysroot
  • 将挂载点改为读写模式
    由于/etc、/sysroot、/boot、/usr等目录默认是只读挂载,需要重新挂载为读写模式。可以在源端使用root用户执行以下命令:
    mount -o remount,rw /etc
    mount -o remount,rw /sysroot
    mount -o remount,rw /boot
    mount -o remount,rw /usr
  • 手动挂载/boot/efi目录

    Redhat CoreOS启动后会自动卸载/boot/efi,但迁移过程需要读取该挂载点的文件。可以使用blkid命令找到 /boot/efi对应的设备,该设备通常是带有LABEL="EFI-SYSTEM" 的分区。

    然后手动挂载该分区,例如:
    mount /dev/vda2 /boot/efi
  • 检查virtio驱动
    Redhat CoreOS的initramfs内核结构与系统版本紧密相关,无法使用“dracut”命令注入驱动。您可以通过以下命令检查initrd文件中是否包含virtio驱动,如果没有则需要自行添加。
    lsinitrd {initrd文件} | grep virtio

相关文档