Перед использованием KVM ECS для создания приватного образа необходимо установить родные драйверы KVM на ECS. Если драйверы уже установлены, пропустите этот раздел.
Если вы не установите драйверы KVM, сетевые интерфейсы ECS могут не обнаруживаться, и ECS не сможет взаимодействовать с другими ресурсами.
Если корневая файловая система смонтирована initramfs, выполните следующую команду:
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
Если корневая файловая система смонтирована initrd, выполните следующую команду:
lsinitrd /boot/initrd-`uname -r` | grep virtio
lsinitramfs /boot/initrd.img-`uname -r` |grep virtio
lsinitrd /boot/initrd-`uname -r` | grep virtio
Если корневая файловая система смонтирована initramfs, выполните следующую команду:
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
Если корневая файловая система монтируется initrd, выполните следующую команду:
lsinitrd /boot/initrd-`uname -r` | grep virtio
Если драйверы VirtIO установлены, пропустите этот раздел.

Если драйверы VirtIO не установлены, установите их согласно инструкциям в этом разделе.
Измените файл конфигурации в соответствии с дистрибутивом Linux.
Дистрибутив | Конфигурация | Ссылка |
|---|---|---|
CentOS/EulerOS | Возьмём CentOS 7.0 в качестве примера.
| |
Ubuntu/Debian |
| |
SUSE/openSUSE | Если версия ОС старше SUSE 12 SP1 или openSUSE 13:
| |
Если версия ОС — SUSE 12 SP1:
| ||
Если версия ОС новее SUSE 12 SP1 или 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
Если виртуальная файловая система — initrd, выполните следующую команду, чтобы проверить, установлены ли нативные драйверы KVM:
lsinitrd /boot/initrd-`uname -r` | grep virtio
Предположим, что виртуальная файловая система — initramfs. Будет выведен следующий вывод команды:
[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). Ниже приведён пример файла initrd для 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 Если вы добавляете встроенные драйверы в файл initrd или initramfs, ECS не будет затронут. Это упрощает изменение драйверов. Однако проверить драйверы с помощью команды lsinitrd нельзя. Вы можете выполнить следующие команды, чтобы проверить наличие встроенных драйверов в ядре:
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. Если виртуальная файловая система — initrd, выполните следующую команду, чтобы проверить, установлены ли нативные драйверы KVM:
Modify the /etc/dracut.conf file.
Возьмите SUSE Linux Enterprise Server 12 SP2 (x86_64) в качестве примера. Если виртуальная файловая система не является initramfs по умолчанию, выполните команду dracut -f \u003cactual-initramfs-or-initrd-filename\u003e. Фактическое имя файла initramfs или initrd можно получить из файла grub.cfg, который может находиться по пути /boot/grub/grub.cfg, /boot/grub2/grub.cfg или /boot/grub/grub.conf в зависимости от ОС. Если виртуальная файловая система — initrd, выполните следующую команду, чтобы проверить, установлены ли нативные драйверы KVM: Предположим, что виртуальная файловая система — initrd. Будет выведен следующий вывод команды: Если вы добавляете встроенные драйверы в файл initrd или initramfs, ECS не будет затронут. Это упрощает модификацию драйверов. Однако проверить драйверы с помощью команды lsinitrd нельзя. Вы можете выполнить следующие команды, чтобы проверить наличие встроенных драйверов в ядре:
Удалите файлы журналов, исторические записи и другие данные.
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/*
Перед удалением файлов журналов сделайте резервную копию каталогов журналов и файлов журналов, необходимых для запуска приложения. Например, если удалить каталог журналов Nginx по умолчанию /var/log/nginx, Nginx может не запуститься.
echo > /root/.bash_historyhistory -c