问题背景:

超融合上虚拟机磁盘接口有 3 种,VIRTIO,IDE 和 SCSI,其中 VIRTIO 接口是性能最好的,推荐所有 windows 和 linux 虚拟机均使用 VIRTIO 接口。

在浪潮超融合平台直接创建的 linux 系列虚拟机磁盘默认都是使用 VIRTIO 接口,但是从 VMware 上跨云迁移过来的虚拟机只能使用 IDE 或者 SCSI 接口,如果直接更改磁盘接口为 VIRTIO,启动虚拟机后无法进入系统,提示找不到 lv。

解决办法:

直接修改磁盘接口为 VIRTIO 后无法进入系统,是由于从 VMware 迁移过来的虚拟机,系统内核默认未激活相关驱动,可按照如下方式处理。

  1. 虚拟机磁盘使用 IDE 引导,正常进入系统,系统内部 lsblk 如下,盘符是 sdx(此处为 sda)。

  1. 确保虚拟机内部已安装好 ICS VMtools。

  1. 在超融合平台上编辑虚拟机,增加一个新磁盘,磁盘接口选择为 VIRTIO,大小随意。

  1. 系统内查看,可看到一个盘符为 vdx(此处为 vda)的盘。

  1. 执行 fdisk(gdisk、parted 也可),给 vda 创建一个分区,激活 VIRTIO 驱动。

  1. 超融合平台上,给该虚拟机打一个快照,防止后续操作导致数据受影响。

  1. cd 到 /boot 目录,执行如下命令,重建 initramfs 文件,重建前可先备份原来的文件。具体的内核版本号,需要按照现场环境的来填。

  1. 查看内核已包含 virtio 相关驱动。

电脑萤幕画面

描述已自动生成
  1. 执行 sync,然后关闭虚拟机,修改系统盘接口为 VIRTIO,启动虚拟机后可正常进入系统。

  2. 若按如上流程操作后有问题,可恢复快照后,将磁盘接口改回 IDE 再启动。