Before using a KVM ECS to create a private image, you need to install native KVM drivers on the ECS. If the drivers have been installed, skip this section.
If you do not install KVM drivers, NICs of the ECS may not be detected and the ECS cannot communicate with other resources.
If the root filesystem is mounted by initramfs, run the following command:
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
If the root filesystem is mounted by initrd, run the following command:
lsinitrd /boot/initrd-`uname -r` | grep virtio
lsinitramfs /boot/initrd.img-`uname -r` |grep virtio
lsinitrd /boot/initrd-`uname -r` | grep virtio
If the root filesystem is mounted by initramfs, run the following command:
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
If the root filesystem is mounted by initrd, run the following command:
lsinitrd /boot/initrd-`uname -r` | grep virtio
If VirtIO drivers have been installed, skip this section.

If VirtIO drivers have not been installed, install them as instructed in this section.
Modify the configuration file based on the Linux distribution.
Distribution | Configuration | Reference |
|---|---|---|
CentOS/EulerOS | Take CentOS 7.0 as an example.
| |
Ubuntu/Debian |
| |
SUSE/openSUSE | If the OS version is earlier than SUSE 12 SP1 or openSUSE 13:
| |
If the OS version is SUSE 12 SP1:
| ||
If the OS version is later than SUSE 12 SP1 or openSUSE 13:
|
vi /etc/dracut.conf
[root@CTU10000xxxxx ~]# vi /etc/dracut.conf# additional kernel modules to the defaultadd_drivers+=" virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"....
dracut -f /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
If the virtual file system is not the default initramfs, run the dracut -f <actual-initramfs-or-initrd-filename> command. The actual initramfs or initrd file name can be obtained from the grub.cfg file, which can be /boot/grub/grub.cfg, /boot/grub2/grub.cfg, or /boot/grub/grub.conf depending on the OS.
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
If the virtual file system is initrd, run the following command to check whether native KVM drivers have been installed:
lsinitrd /boot/initrd-`uname -r` | grep virtio
Assume that the virtual file system is initramfs. The following command output will be displayed:
[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.kodrwxr-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
If you add built-in drivers to the initrd or initramfs file, the ECS will not be affected. This makes it easy to modify the drivers. However, you cannot check the drivers by running the lsinitrd command. You can run the following commands to check whether there are built-in drivers in the kernel:
cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y
vi /etc/initramfs-tools/modules
[root@CTU10000xxxxx ~]#vi /etc/initramfs-tools/modules...# Examples:## raid1# sd_mOdvirtio_blkvirtio_scsivirtio_netvirtio_pcivirtio_ringvirtio
update-initramfs -u
lsinitramfs /boot/initrd.img-`uname -r` |grep virtio
[root@ CTU10000xxxxx home]# lsinitramfs /boot/initrd.img-`uname -r` |grep virtiolib/modules/3.5.0-23-generic/kernel/drivers/scsi/ virtio_scsi.ko
If you add built-in drivers to the initrd or initramfs file, the ECS will not be affected. This makes it easy to modify the drivers. However, you cannot check the drivers by running the lsinitrd command. You can run the following commands to check whether there are built-in drivers in the kernel:
[root@ CTU10000xxxxx home] # cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep yCONFIG_VIRTIO_BLK=yCONFIG_VIRTIO_NET=yCONFIG_VIRTIO=yCONFIG_VIRTIO_RING=yCONFIG_VIRTIO_PCI=yCONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
Modify the /etc/sysconfig/kernel file. If the virtual file system is not the default initramfs or initrd, run dracut -f <actual-initramfs-or-initrd-filename>. The actual initramfs or initrd file name can be obtained from the menu.lst or grub.cfg file (/boot/grub/menu.lst, /boot/grub/grub.cfg, or /boot/grub2/grub.cfg). The following is an example initrd file of SUSE 11 SP4: /boot/initrd.vmx in the initrd line is the initrd file actually used. So, the command used to regenerate initrd is dracut -f /boot/initrd.vmx. If /boot is missing from the initrd file path, you need to add it when you run the dracut -f command. For example, if the file path is /initramfs-xxx, the command should be dracut -f /boot/initramfs-xxx. lsinitrd /boot/initrd-`uname -r` | grep virtio If you add built-in drivers to the initrd or initramfs file, the ECS will not be affected. This makes it easy to modify the drivers. However, you cannot check the drivers by running the lsinitrd command. You can run the following commands to check whether there are built-in drivers in the kernel:
Modify the /etc/dracut.conf file. If the virtual file system is not the default initramfs, run the dracut -f <actual-initramfs-or-initrd-filename> command. The actual initramfs or initrd file name can be obtained from the grub.cfg file, which can be /boot/grub/grub.cfg, /boot/grub2/grub.cfg, or /boot/grub/grub.conf depending on the OS. If the virtual file system is initrd, run the following command to check whether native KVM drivers have been installed:
Modify the /etc/dracut.conf file.
Take SUSE Linux Enterprise Server 12 SP2 (x86_64) as an example. If the virtual file system is not the default initramfs, run the dracut -f <actual-initramfs-or-initrd-filename> command. The actual initramfs or initrd file name can be obtained from the grub.cfg file, which can be /boot/grub/grub.cfg, /boot/grub2/grub.cfg, or /boot/grub/grub.conf depending on the OS. If the virtual file system is initrd, run the following command to check whether native KVM drivers have been installed: Assume that the virtual file system is initrd. The following command output will be displayed: If you add built-in drivers to the initrd or initramfs file, the ECS will not be affected. This makes it easy to modify the drivers. However, you cannot check the drivers by running the lsinitrd command. You can run the following commands to check whether there are built-in drivers in the kernel:
Delete log files, historical records, and other data.
echo > /$path/$to/$root /.ssh/authorized_keysExample: echo > /root/.ssh/authorized_keysecho > /$path/$to/$none-root /.ssh/authorized_keysExample: echo > /home/linux/.ssh/authorized_keys
rm -rf /var/log/*
Before deleting log files, back up log directories and log files required by application startup. For example, if the default Nginx log directory /var/log/nginx is deleted, Nginx may fail to be started.
echo > /root/.bash_historyhistory -c