xen虚拟化ecs安装原生的xen和kvm驱动-九游平台
操作场景
对于xen虚拟化类型的弹性云服务器,在创建linux私有镜像前,需要确保云服务器已安装原生的xen和kvm驱动。
本节介绍安装原生xen和kvm驱动的具体方法。

如果不安装xen驱动,弹性云服务器的网络性能很差,并且安全组和防火墙也不会生效;
如果不安装kvm驱动,弹性云服务器的网卡可能无法检测到,无法与外部通信。因此,请您务必安装xen和kvm驱动。
前提条件
- 请先确认您当前的云服务器为xen构架。
您可以执行以下命令,查看当前云服务器的虚拟化类型。
lscpu- 如果回显信息中的hypervisor vendor为xen,说明当前云服务器为xen虚拟化类型,请按照本章节操作。
- 如果回显信息中的hypervisor vendor为kvm,说明当前云服务器为kvm虚拟化类型。请参见。
图1 查看linux云服务器虚拟化类型 - 对于使用linux系统原生的xen和kvm驱动的linux云服务器,其内核版本必须高于2.6.24。
- 建议您禁用任何防病毒软件或入侵检测软件,安装原生的xen和kvm驱动完成后,您可以再次启用这些软件。
- 请确认已完成和修改fstab文件磁盘标识方式为uuid。
卸载pv driver
为了成功安装原生的xen和kvm驱动,需要先卸载pv driver。
- 使用vnc方式,以“root”用户登录云服务器。
- 执行如下命令,检查操作系统中是否安装pv driver相关的驱动。
ps -ef | grep uvp-monitor
- 若回显信息如下所示,表示已安装pv driver相关的驱动。
- 若无如下回显信息,表示未安装pv driver相关的驱动,本节操作结束。
root 4561 1 0 jun29 ? 00:00:00 /usr/bin/uvp-monitor root 4567 4561 0 jun29 ? 00:00:00 /usr/bin/uvp-monitor root 6185 6085 0 03:04 pts/2 00:00:00 grep uvp-monitor
- 在vnc登录窗口的云服务器操作系统界面,打开命令行终端(具体方式请查询对应操作系统的使用手册)。
进入命令行模式。
- 执行以下命令,卸载pv driver。
/etc/.uvp-monitor/uninstall
- 回显信息如下时,表示tools卸载成功。
the pv driver is uninstalled successfully. reboot the system for the uninstallation to take effect.
- 回显信息如下提示不存在“.uvp-monitor”时,请执行步骤5。
-bash: /etc/.uvp-monitor/uninstall: no such file or directory
- 回显信息如下时,表示tools卸载成功。
- 执行如下操作,删除kvm虚拟化平台下不生效的uvp-monitor,防止日志溢出。
- 执行如下命令,查询操作系统是否安装了uvp用户态相关的监控程序。
rpm -qa | grep uvp
回显信息如下所示:
libxenstore_uvp3_0-3.00-36.1.x86_64 uvp-monitor-2.2.0.315-3.1.x86_64 kmod-uvpmod-2.2.0.315-3.1.x86_64
- 执行如下命令,删除以下三个安装包。
rpm -e kmod-uvpmod
rpm -e uvp-monitor
rpm -e libxenstore_uvp
- 执行如下命令,查询操作系统是否安装了uvp用户态相关的监控程序。
操作步骤
- 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时,操作步骤如下。
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中获取并安装。
- 执行如下命令,修改“/etc/sysconfig/kernel”文件。
vi /etc/sysconfig/kernel
- 在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"
- 执行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。
- 执行如下命令,检查是否已经成功装载了xen的pvops或者kvm的virtio相应模块。
lsinitrd /boot/initrd-`uname -r` | grep xen
lsinitrd /boot/initrd-`uname -r` | grep virtiosia10000xxxxx:~ # 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
- 重启云服务器。
- 重启完毕后,修改“/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以后版本默认启用此功能,无需配置。
- 执行如下命令确认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
- 执行如下命令,修改“/etc/sysconfig/kernel”文件。
- 当操作系统版本为suse 12 sp1时,操作步骤如下。
- 执行以下命令,打开“/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 ="ata_piix ata_generic xen_vnif xen_vbd xen_platform_pci virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
- 按“esc”后,输入:wq,按“enter”。 保存设置并退出“/etc/dracut.conf”文件。
- 执行以下命令,重新生成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不同会有所不同)中获取。
- 如果引导的虚拟文件系统是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
- 执行以下命令,打开“/etc/dracut.conf”文件。
- 当操作系统版本高于suse 12 sp1或高于opensuse 13版本时,操作步骤如下。
以suse linux enterprise server 12 sp2 (x86_64)为例,如下所示:
- 执行以下命令,打开“/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 ="ata_piix ata_generic 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-文件名
如果引导的虚拟文件系统不是默认的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
以引导的虚拟文件系统是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
- 执行以下命令,打开“/etc/dracut.conf”文件。
后续操作
按照如下步骤清除日志文件、历史记录等。
- 执行如下命令,清除冗余key文件:
echo > /$path/$to/$root/.ssh/authorized_keys
例如:echo > /root/.ssh/authorized_keys
echo > /$path/$to/$none-root/.ssh/authorized_keys
例如:echo > /home/linux/.ssh/authorized_keys
- 执行如下命令,清空“/var/log”目录的日志文件:
rm -rf /var/log/*
删除日志前,请备份需要的应用日志目录及日志文件,防止应用没有日志目录导致启动失败。例如,nginx日志默认路径为/var/log/nginx,若删除了此目录,可能导致nginx应用启动失败。
- 执行如下命令,清空历史记录:
echo > /root/.bash_history
history -c
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨