操作場景
在優化Linux私有鏡像過程中,需要在云主機上安裝原生的XEN和KVM驅動。
注意:
- 如果不安裝XEN驅動,彈性云主機的網絡性能很差,并且安全組和防火墻也不會生效;
- 如果不安裝KVM驅動,彈性云主機的網卡可能無法檢測到,無法與外部通信。因此,請您務必安裝XEN和KVM驅動。
本節介紹安裝原生XEN和KVM驅動的具體方法。
前提條件
- 對于使用Linux系統原生的XEN和KVM驅動的Linux云主機,其內核版本必須高于2.6.24。
- 建議您禁用任何防病毒軟件或入侵檢測軟件,安裝原生的XEN和KVM驅動完成后,您可以再次啟用這些軟件。
操作步驟
請根據操作系統版本,修改不同的配置文件:
- CentOS/EulerOS系列操作系統
以CentOS 7.0為例,請修改“/etc/dracut.conf”文件,在add_drivers項中添加xen-pv以及virtio的驅動(xen-pv驅動:xen-blkfront、xen-netfront;virtio驅動:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驅動名之間以空格隔開,保存并退出“/etc/dracut.conf”文件,執行dracut -f命令,重新生成initrd。
操作方法可參見下文“CentOS/EulerOS系列操作系統相關操作”。
- Ubuntu/Debian系列系統
請修改“/etc/initramfs-tools/modules”文件,添加xen-pv以及virtio的驅動(xen-pv驅動:xen-blkfront、xen-netfront;virtio驅動:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驅動名之間以空格隔開,保存并退出“/etc/initramfs-tools/modules”文件,執行update-initramfs -u命令,重新生成initrd。
操作方法可參見“Ubuntu/Debian系列操作系統相關操作”。
- SUSE和openSUSE系列系統,根據操作系統版本不同,修改不同的配置文件。
? 當操作系統版本低于SUSE 12 SP1或低于openSUSE 13時,請修改“/etc/sysconfig/kernel”文件,在INITRD_MODULES=""添加xen-pv以及virtio的驅動(xen-pv驅動:xen_vnif、xen_vbd、xen_platform_pci;virtio驅動:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驅動名之間以空格隔開,執行mkinitrd命令,重新生成initrd。
? 當操作系統版本為SUSE 12 SP1時,修改“/etc/dracut.conf”文件,在add_drivers項中添加xen-pv以及virtio的驅動(xen-pv驅動:xen_vnif、xen_vbd、xen_platform_pci;virtio驅動:virtio_blk、virtio_scsi、virtio_net、virtio_pci、virtio_ring、virtio)。驅動名之間以空格隔開,執行命令dracut -f,重新生成initrd。
? 當操作系統版本高于SUSE 12 SP1或高于openSUSE 13版本時,修改“/etc/dracut.conf”文件,在add_drivers項中添加xen-pv和virtio的驅動(xen-pv驅動:xen-blkfront、xen-netfront;virtio驅動:virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驅動名之間以空格隔開,保存并退出“/etc/dracut.conf”文件,執行dracut -f命令,重新生成initrd。
操作方法可參見下文“SUSE/openSUSE系列操作系統相關操作”。
說明:
- SUSE系列操作系統首先應確認OS是否已經安裝了xen-kmp包(xen-pv的驅動包),執行以下命令:
- rpm -qa |grep xen-kmp
- 回顯類似如下:
- xen-kmp-default-4.2.2_04_3.0.76_0.11-0.7.5
- 如果沒有安裝xen-kmp的包,請到ISO裝機文件中獲取并安裝。
- 如果誤將built-in形式的驅動添加到initrd或initramfs文件中,不會影響云主機正常使用。
CentOS/EulerOS系列操作系統相關操作
- 執行以下命令,打開“/etc/dracut.conf”文件。
vi /etc/dracut.conf
- 按“i”進入編輯模式,在“add_drivers”項中添加xen-pv和virtio的驅動(具體格式要根據操作系統本身的要求來決定)。
[root@CTU10000xxxxx ~]# vi /etc/dracut.conf
# additional kernel modules to the default
add_drivers+="xen-blkfront xen-netfront virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
……
- 按“Esc”后,輸入:wq,按“Enter”。 保存設置并退出“/etc/dracut.conf”文件。
- 執行以下命令,重新生成initrd。
dracut -f /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
如果引導的虛擬文件系統不是默認的initramfs,則命令為:dracut -f 實際使用的initramfs文件名或者initrd文件名。“實際使用的initramfs文件名或者initrd文件名”可在grub.cfg配置(“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”或“/boot/grub/grub. conf”,具體路徑根據OS不同會有所區別)中獲取。
- 如果引導的虛擬文件系統是initramfs,執行以下命令,檢查是否已經成功裝載了原生的XEN和KVM驅動相應模塊。
lsinitrd /boot/initramfs-`uname -r`.img | grep xen
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
如果引導的虛擬文件系統是initrd,執行如下命令,檢查是否已經成功裝載了原生的XEN和KVM驅動相應模塊。
lsinitrd /boot/initrd-`uname -r` | grep xen
lsinitrd /boot/initrd-`uname -r` | grep virtio
以引導的虛擬文件系統是initramfs為例,回顯信息如下所示:
[root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | grep xen
-rwxr--r-- 1 root root 54888 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
-rwxr--r-- 1 root root 45664 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/net/xen-netfront.ko
[root@CTU10000xxxxx home]# lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
-rwxr--r-- 1 root root 23448 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/block/virtio_blk.ko
-rwxr--r-- 1 root root 50704 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/net/virtio_net.ko
-rwxr--r-- 1 root root 28424 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko
drwxr-xr-x 2 root root 0 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio
-rwxr--r-- 1 root root 14544 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio.ko
-rwxr--r-- 1 root root 21040 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko
-rwxr--r-- 1 root root 18016 Jul 16 17:53 lib/modules/2.6.32-573.8.1.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko
說明:
- 如果誤將built-in形式存在內核中的驅動添加到initrd或initramfs文件中,不會影響云主機正常使用,這里全寫進去只是為了修改的方便,但是使用lsinitrd命令無法檢查到。可使用如下方法確定這些驅動是否以built-in形式存在內核中,例如:
- cat /boot/config-
uname -r| grep CONFIG_VIRTIO | grep y - cat /boot/config-
uname -r| grep CONFIG_XEN | grep y
Ubuntu/Debian系列操作系統相關操作
- 執行以下命令,打開“modules”文件。
vi /etc/initramfs-tools/modules
- 按“i”進入編輯模式,修改“/etc/initramfs-tools/modules”文件,添加xen-pv以及virtio的驅動(具體格式要根據操作系統本身的要求來決定)。
[root@CTU10000xxxxx ~]#vi /etc/initramfs-tools/modules
……
# Examples:
#
# raid1
# sd_mOd
xen-blkfront
xen-netfront
virtio_blk
virtio_scsi
virtio_net
virtio_pci
virtio_ring
virtio
- 按“Esc”后,輸入:wq,按“Enter”。保存設置并退出“/etc/initramfs-tools/modules”文件。
- 執行以下命令,重新生成initrd。
update-initramfs -u
- 執行以下命令,檢查是否已經成功裝載了原生的XEN和KVM驅動相應模塊。
lsinitramfs /boot/initrd.img-`uname -r` |grep xen
lsinitramfs /boot/initrd.img-`uname -r` |grep virtio
[root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep xen
lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen
lib/modules/3.5.0-23-generic/kernel/drivers/net/ethernet/qlogic/netxen/netxen_nic.ko
lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback
lib/modules/3.5.0-23-generic/kernel/drivers/net/xen-netback/xen-netback.ko
lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback
lib/modules/3.5.0-23-generic/kernel/drivers/block/xen-blkback/xen-blkback.ko
[root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep virtio
lib/modules/3.5.0-23-generic/kernel/drivers/scsi/virtio_scsi.ko
說明:
- 如果誤將built-in形式存在內核中的驅動添加到initrd或initramfs文件中,不會影響云主機正常使用,這里全寫進去只是為了修改方便,但是使用lsinitrd命令無法檢查到。可使用如下方法確定這些驅動是否以built-in形式存在內核中,例如:
[root@ CTU10000xxxxx home]# cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
[root@ CTU10000xxxxx home]# cat /boot/config-`uname -r` | grep CONFIG_XEN | grep y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_NETDEV_FRONTEND=y
SUSE/openSUSE系列操作系統相關操作
當操作系統版本低于SUSE 12 SP1或低于openSUSE 13時,請修改“/etc/sysconfig/kernel”文件,操作步驟請參考第一種情況。
當操作系統版本為SUSE 12 SP1時,修改“/etc/dracut.conf”文件,添加xen-pv以及virtio的驅動,操作步驟請參考第二種情況。
當操作系統版本高于SUSE 12 SP1或高于openSUSE 13版本時,修改“/etc/dracut.conf”文件,在add_drivers項中添加xen-pv和virtio的驅動,操作步驟請參考第三種情況。
- 第一種情況:當操作系統版本低于SUSE 12 SP1或低于openSUSE 13時,操作步驟如下。
說明:
- SUSE系列操作系統首先應確認OS是否已經安裝了xen-kmp包(xen-pv的驅動包),執行如下命令:
- rpm -qa |grep xen-kmp
- 回顯類似如下:
- xen-kmp-default-4.2.2_04_3.0.76_0.11-0.7.5
- 如果沒有安裝xen-kmp的包,請到安裝ISO中獲取并安裝。
a. 執行如下命令,修改“/etc/sysconfig/kernel”文件。
vi etc/sysconfig/kernel
b. 在INITRD_MODULES=""中添加xen-pv以及virtio的驅動(具體格式要根據OS本身的要求來決定)。
SIA10000xxxxx:~ # vi /etc/sysconfig/kernel
# (like drivers for scsi-controllers, for lvm or reiserfs)
#
INITRD_MODULES="ata_piix ata_generic xen_vnif xen_vbd xen_platform_pci virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
c. 執行mkinitrd命令,重新生成initrd。
說明:
- 如果引導的虛擬文件系統不是默認的initramfs或者initrd,則命令為:dracut -f 實際使用的initramfs或者initrd文件名。“實際使用的initramfs或者initrd文件名”可在menu.lst或者grub.cfg配置(“/boot/grub/menu.lst”或“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”)中獲取。
以SUSE 11 SP4為例,如下所示:
default 0
timeout 10
gfxmenu (hd0,0)/boot/message
title sles11sp4_001_[_VMX_]
root (hd0,0)
kernel /boot/linux.vmx vga=0x314 splash=silent console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showopts
initrd /boot/initrd.vmx
title Failsafe_sles11sp4_001_[_VMX_]
root (hd0,0)
kernel /boot/linux.vmx vga=0x314 splash=silent ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processsor.max+cstate=1 nomodeset x11failsafe console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showopts
initrd /boot/initrd.vmx
其中,initrd所在行的/boot/initrd.vmx為實際使用的initrd文件,執行的時候請按照dracut -f /boot/initrd.vmx執行。如果initrd所在行的initrd文件不包含/boot目錄,如/initramfs-xxx,請在執行dracut命令時增加boot目錄,例如:dracut -f /boot/initramfs-xxx。
d. 執行如下命令,檢查是否已經成功裝載了XEN的PVOPS或者KVM的virtio相應模塊。
lsinitrd /boot/initrd-`uname -r` | grep xen
lsinitrd /boot/initrd-`uname -r` | grep virtio
SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep xen
-rwxr--r-- 1 root root 42400 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
-rwxr--r-- 1 root root 44200 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/xen-netfront.ko
SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio
-rwxr--r-- 1 root root 19248 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko
-rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.ko
drwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio
-rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko
-rwxr--r-- 1 root root 20008 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko
-rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.ko
-rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.ko
e. 重啟云主機。
f. 重啟完畢后,修改“/boot/grub/menu.lst”文件,增加xen_platform_pci.dev_unplug=all和修改root的配置。
修改前如下所示:
###Don't change this comment -YaST2 identifier: Original name: linux###
title SUSE Linux Enterprise Server 11SP4 - 3.0.76-0.11 (default)
root (hd0,0)
kernel /boot/vmlinuz-3.0.76-0.11-default root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 splash=silentcrashkernel=256M-:128M showopts vga=0x314
initrd /boot/initrd-3.0.76-0.11-default
修改后如下所示:
###Don't change this comment -YaST2 identifier: Original name: linux###
title SUSE Linux Enterprise Server 11SP4 - 3.0.76-0.11 (default)
root (hd0,0)
kernel /boot/vmlinuz-3.0.76-0.11-default root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 splash=silentcrashkernel=256M-:128M showopts vga=0x314 xen_platform_pci.dev_unplug=all
initrd /boot/initrd-3.0.76-0.11-default
說明:
-
確保磁盤root分區為UUID的表示形式。
-
xen_platform_pci.dev_unplug=all該參數的添加是為了屏蔽qemu設備。
-
SUSE 11 SP1 64bit ~ SUSE 11 SP4
64bit系統需要在“menu.lst”文件添加xen_platform_pci.dev_unplug=all,SUSE 12以后版本默認啟用此功能,無需配置。
g. 執行如下命令確認initrd中是否存在XEN驅動。
lsinitrd /boot/initrd-`uname -r` | grep xen
lsinitrd /boot/initrd-`uname -r` | grep virtio
SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep xen
-rwxr--r-- 1 root root 42400 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/xen-blkfront.ko
-rwxr--r-- 1 root root 44200 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/xen-netfront.ko
SIA10000xxxxx:~ # lsinitrd /boot/initrd-`uname -r` | grep virtio
-rwxr--r-- 1 root root 19248 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/scsi/virtio_scsi.ko
-rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.ko
drwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio
-rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.ko
-rwxr--r-- 1 root root 20008 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_pci.ko
-rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.ko
-rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.ko
說明:
- 如果誤將built-in形式存在內核中的驅動添加到initrd或initramfs文件中,不會影響云主機正常使用,這里全寫進去只是為了修改方便,但是使用lsinitrd命令無法檢查到。可使用如下方法確定這些驅動是否以built-in形式存在內核中,例如:
- cat /boot/config-
uname -r| grep CONFIG_VIRTIO | grep y - cat /boot/config-
uname -r| grep CONFIG_XEN | grep y - 第二種情況:當操作系統版本為SUSE 12 SP1時,操作步驟如下。
a. 執行以下命令,打開“/etc/dracut.conf”文件。
vi /etc/dracut.conf
b. 按“i”進入編輯模式,在“add-drivers”項中添加xen-pv和virtio的驅動(具體格式要根據操作系統本身的要求來決定)。
[root@CTU10000xxxxx ~]# vi /etc/dracut.conf
# additional kernel modules to the default
add_drivers+="ata_piix ata_generic xen_vnif xen_vbd xen_platform_pci virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
c. 按“Esc”后,輸入:wq,按“Enter”。 保存設置并退出“/etc/dracut.conf”文件。
d. 執行以下命令,重新生成initrd。
dracut -f /boot/initramfs-文件名
如果引導的虛擬文件系統不是默認的initramfs,則命令為:dracut -f 實際使用的initramfs文件名或者initrd文件名。“實際使用的initramfs文件名或者initrd文件名”可在grub.cfg配置(“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”或“/boot/grub/grub.conf”,具體路徑根據OS不同會有所不同)中獲取。
e. 如果引導的虛擬文件系統是initramfs,執行以下命令,檢查是否已經成功裝載了原生的XEN和KVM驅動相應模塊。
lsinitrd /boot/initramfs-`uname -r`.img | grep xen
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
如果引導的虛擬文件系統是initrd,執行如下命令,檢查是否已經成功裝載了原生的XEN和KVM驅動相應模塊。
lsinitrd /boot/initrd-`uname -r` | grep xen
lsinitrd /boot/initrd-`uname -r` | grep virtio
- 當操作系統版本高于SUSE 12 SP1或高于openSUSE 13版本時,操作步驟如下。
以SUSE Linux Enterprise Server 12 SP2 (x86_64)為例,如下所示:
a. 執行以下命令,打開“/etc/dracut.conf”文件。
vi /etc/dracut.conf
b. 按“i”進入編輯模式,在“add_drivers”項中添加xen-pv和virtio的驅動(具體格式要根據操作系統本身的要求來決定)。
[root@CTU10000xxxxx ~]# vi /etc/dracut.conf
# additional kernel modules to the default
add_drivers+="ata_piix ata_generic xen-blkfront xen-netfront virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
c. 按“Esc”后,輸入:wq,按“Enter”。 保存設置并退出“/etc/dracut.conf”文件。
d. 執行以下命令,重新生成initrd。
dracut -f /boot/initramfs-文件名
如果引導的虛擬文件系統不是默認的initramfs,則命令為:dracut -f 實際使用的initramfs文件名或者initrd文件名。“實際使用的initramfs文件名或者initrd文件名”可在grub.cfg配置(“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”或“/boot/grub/grub. conf”,具體路徑根據OS不同會有所區別)中獲取。
e. 如果引導的虛擬文件系統是initramfs,執行以下命令,檢查是否已經成功裝載了原生的XEN和KVM驅動相應模塊。
lsinitrd /boot/initramfs-`uname -r`.img | grep xen
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
如果引導的虛擬文件系統是initrd ,執行如下命令,檢查是否已經成功裝載了原生的XEN和KVM驅動相應模塊。
lsinitrd /boot/initrd-`uname -r` | grep xen
lsinitrd /boot/initrd-`uname -r` | grep virtio
以引導的虛擬文件系統是initrd為例,回顯信息如下所示:
sluo-ecs-30dc:~ # lsinitrd /boot/initrd-`uname -r` | grep xen
-rw-r--r-- 1 root root 69575 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/block/xen-blkfront.ko
-rw-r--r-- 1 root root 53415 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/net/xen-netfront.ko
drwxr-xr-x 2 root root 0 Sep 28 10:21 lib/modules/4.4.21-69-default/updates/pvdriver/xen-hcall
-rwxr-xr-x 1 root root 8320 Sep 28 10:21 lib/modules/4.4.21-69-default/updates/pvdriver/xen-hcall/xen-hcall.ko
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 - cat /boot/config-
uname -r| grep CONFIG_XEN | grep y