Перед использованием KVM ECS чтобы создать приватный образ, вам необходимо установить нативные драйверы KVM на ECS. Если драйверы уже установлены, пропустите этот раздел.
Если вы не установите драйверы KVM, NIC‑ы 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 не установлены, установите их согласно инструкциям в этом разделе.
Измените файл конфигурации в зависимости от версии ОС.
OS | Конфигурация | Ссылка |
|---|---|---|
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+="add_drivers+="virtio_blkvirtio_blk virtio_scsivirtio_scsi virtio_netvirtio_net virtio_pcivirtio_pci virtio_ring virtio"virtio_ring virtio"....
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 в зависимости от ОС.
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.kovirtio_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.kovirtio_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.kovirtio_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/virtiovirtio-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.kovirtio.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.kovirtio_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.kovirtio_ring.ko
Если вы добавляете встроенные драйверы в файл initrd или initramfs, то ECS не будет затронут. Это упрощает модификацию драйверов. Однако вы не можете проверить драйверы, запустив lsinitrd команда. Вы можете выполнить следующую команду, чтобы проверить, являются ли драйверы встроенными в ядре:
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_blkvirtio_scsivirtio_scsivirtio_netvirtio_netvirtio_pcivirtio_pcivirtio_ringvirtio_ringvirtiovirtio
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.kovirtio_scsi.ko
Если вы добавите встроенные драйверы в файл initrd или initramfs, то ECS не будет затронут. Это упрощает изменение драйверов. Однако вы не можете проверить драйверы, запустив lsinitrd команда. Вы можете выполнить следующую команду для проверки, являются ли драйверы встроенными в ядре:
[root@ CTU10000xxxxx home]## catcat /boot/config-`uname/boot/config-`uname -r`-r` || grepgrep CONFIG_VIRTIOCONFIG_VIRTIO || grepgrep yyCONFIG_VIRTIO_BLK=yCONFIG_VIRTIO_NET=yCONFIG_VIRTIO=yCONFIG_VIRTIO_RING=yCONFIG_VIRTIO_PCI=yCONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
Измените /etc/sysconfig/kernel файл.
vi /etc/sysconfig/kernel
SIA10000xxxxx:~ # vi /etc/sysconfig/kernel# (like drivers for scsi-controllers, for lvm or reiserfs)#INITRD_MODULES="ata_piixINITRD_MODULES="ata_piix ata_genericata_generic virtio_blkvirtio_blk virtio_scsivirtio_scsi virtio_netvirtio_net virtio_pcivirtio_pci virtio_ringvirtio_ring virtio"virtio"
Если виртуальная файловая система не является initramfs или initrd по умолчанию, выполните dracut -f Имя фактически используемого файла initramfs или initrd command. Фактическое имя файла initramfs или initrd можно получить из menu.lst или grub.cfg файл (/boot/grub/menu.lst, /boot/grub/grub.cfg, или /boot/grub2/grub.cfg).
Ниже приведён пример файла initrd для SUSE 11 SP4:
default 0timeout 10gfxmenu (hd0,0)/boot/messagetitle 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 showoptsinitrd /boot/initrd.vmx/boot/initrd.vmxtitle 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 processor.max+cstate=1 nomodeset x11failsafe console=ttyS0,115200n8 console=tty0 net.ifnames=0 NON_PERSISTENT_DEVICE_NAMES=1 showoptsinitrd /boot/initrd.vmx
/boot/initrd.vmx в initrd строка является initrd файл, фактически используемый. Запустите dracut -f /boot/initrd.vmx command. Если initrd файл не содержит /boot каталог, например /initramfs-xxx, выполните dracut -f /boot/initramfs-xxx команда.
lsinitrd /boot/initrd-`uname -r` | grep virtio
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.kovirtio_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.kovirtio_blk.kodrwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtiovirtio-rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.kovirtio_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.kovirtio_pci.ko-rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.kovirtio.ko-rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.kovirtio_net.ko
lsinitrd /boot/initrd-`uname -r` | grep virtio
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.kovirtio_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.kovirtio_blk.kodrwxr-xr-x 2 root root 0 Jul 12 14:53 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtiovirtio-rwxr--r-- 1 root root 15848 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio_ring.kovirtio_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.kovirtio_pci.ko-rwxr--r-- 1 root root 12272 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/virtio/virtio.kovirtio.ko-rwxr--r-- 1 root root 38208 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/net/virtio_net.kovirtio_net.ko
Если вы добавите встроенные драйверы в файл initrd или initramfs, то ECS не будет затронут. Это упрощает модификацию драйверов. Однако вы не можете проверить драйверы, запустив lsinitrd command. Вы можете выполнить следующую команду, чтобы проверить, являются ли драйверы встроенными в ядре:
cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y
Измените /etc/dracut.conf файл.
vi /etc/dracut.conf
[root@CTU10000xxxxx ~]# vi /etc/dracut.conf# additional kernel modules to the defaultadd_drivers+="ata_piix"ata_piix ata_genericata_generic virtio_blkvirtio_blk virtio_scsivirtio_scsi virtio_netvirtio_net virtio_pcivirtio_pci virtio_ringvirtio_ring virtio"virtio"
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 в зависимости от ОС.
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
Если виртуальная файловая система — initrd, выполните следующую команду, чтобы проверить, установлены ли нативные драйверы KVM:
lsinitrd /boot/initrd-`uname -r` | grep virtio
Измените /etc/dracut.conf файл.
Возьмём SUSE Linux Enterprise Server 12 SP2 (x86_64) в качестве примера.
vi /etc/dracut.conf
[root@CTU10000xxxxx ~]# vi /etc/dracut.conf# additional kernel modules to the defaultadd_drivers+="add_drivers+="ata_piixata_piix ata_genericata_generic virtio_blkvirtio_blk virtio_scsivirtio_scsi virtio_netvirtio_net virtio_pcivirtio_pci virtio_ringvirtio_ring virtio"virtio"
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 в зависимости от ОС.
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
Если виртуальная файловая система — initrd, выполните следующую команду, чтобы проверить, установлены ли драйверы native 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.kovirtio_blk.ko-rw-r--r-- 1 root root 57007 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/net/virtio_net.kovirtio_net.ko-rw-r--r-- 1 root root 32415 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/scsi/virtio_scsi.kovirtio_scsi.kodrwxr-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.kovirtio.ko-rw-r--r-- 1 root root 38943 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio_pci.kovirtio_pci.ko-rw-r--r-- 1 root root 24431 Oct 26 2016 lib/modules/4.4.21-69-default/kernel/drivers/virtio/virtio_ring.kovirtio_ring.ko
Если вы добавите встроенные драйверы в файл initrd или initramfs, то ECS не будет затронут. Это упрощает модификацию драйверов. Однако вы не можете проверить драйверы, запустив lsinitrd команда. Вы можете выполнить следующую команду, чтобы проверить, являются ли драйверы встроенными в ядре:
cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y
Удалить файлы логов, исторические записи и другие данные.
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
rm -rf /var/log/*
Перед удалением файлов журналов сделайте резервную копию каталогов журналов и файлов журналов, необходимых для запуска приложения. Например, если каталог журналов Nginx по умолчанию /var/log/nginx удален, Nginx может не запуститься.
echo > /root/.bash_history
history -c