镜像服务 IMS-KVM虚拟化ECS安装原生的KVM驱动:SUSE/openSUSE系列操作指导(版本高于SUSE 12 SP1/openSUSE 13)
SUSE/openSUSE系列操作指导(版本高于SUSE 12 SP1/openSUSE 13)
当操作系统版本高于SUSE 12 SP1或高于openSUSE 13版本时,请修改“/etc/dracut.conf”文件,在add_drivers项中添加virtio的驱动,操作步骤如下:
- 执行以下命令,打开“/etc/dracut.conf”文件。
- 按“i”进入编辑模式,在“add_drivers”项中添加virtio的驱动(具体格式要根据操作系统本身的要求来决定)。
[root@CTU10000xxxxx ~]# vi /etc/dracut.conf # additional kernel modules to the default add_drivers+="ata_piix ata_generic virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
- 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出“/etc/dracut.conf”文件。
- 执行以下命令,重新生成initrd。
如果引导的虚拟文件系统不是默认的initramfs,则命令为:dracut -f 实际使用的initramfs文件名或者initrd文件名。“实际使用的initramfs文件名或者initrd文件名”可在grub.cfg配置(“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”或“/boot/grub/grub.conf”,具体路径根据OS不同会有所区别)中获取。
- 如果引导的虚拟文件系统是initramfs,执行以下命令,检查是否已经成功装载了原生的KVM驱动相应模块。
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
如果引导的虚拟文件系统是initrd ,执行如下命令,检查是否已经成功装载了原生的KVM驱动相应模块。
lsinitrd /boot/initrd-`uname -r` | grep virtio
以引导的虚拟文件系统是initrd为例,回显信息如下所示:
sluo-ecs-30dc:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio -rw-r--r-- 1 root root 29335 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/block/virtio_blk.ko -rw-r--r-- 1 root root 57007 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/net/virtio_net.ko -rw-r--r-- 1 root root 32415 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/scsi/virtio_scsi.ko drwxr-xr-x 2 root root 0 Sep 28 10:21 lib/modules/4.4.21-69-default/kernel/drivers/virtio -rw-r--r-- 1 root root 19623 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio.ko -rw-r--r-- 1 root root 38943 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio_pci.ko -rw-r--r-- 1 root root 24431 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio_ring.ko
如果误将built-in形式存在内核中的驱动添加到initrd或initramfs文件中,不会影响云服务器正常使用,这里全写进去只是为了修改方便,但是使用lsinitrd命令无法检查到。可使用如下方法确定这些驱动是否以built-in形式存在内核中,例如:
cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y