Сценарии
Перед использованием KVM ECS чтобы создать приватный образ, вам необходимо установить нативные драйверы KVM на ECS. Если драйверы уже установлены, пропустите этот раздел.
Если вы не установите драйверы KVM, NIC‑ы ECS может не обнаруживаться и ECS не может взаимодействовать с другими ресурсами.
Предварительные требования
- Нативные драйверы KVM не установлены на ECS.
- Проверьте, установлены ли драйверы VirtIO. Команда зависит от ОС.
- CentOS/EulerOS
Если корневая файловая система смонтирована initramfs, выполните следующую команду:
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
Если корневая файловая система смонтирована initrd, выполните следующую команду:
lsinitrd /boot/initrd-`uname -r` | grep virtio
- Ubuntu/Debian
lsinitramfs /boot/initrd.img-`uname -r` |grep virtio
- SUSE/openSUSE
- SUSE 12 SP1/openSUSE 13 или более ранние:
lsinitrd /boot/initrd-`uname -r` | grep virtio
- SUSE 12 SP1 или более поздняя версия SUSE 12 SP1/openSUSE 13:
Если корневая файловая система монтируется initramfs, выполните следующую команду:
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
Если корневая файловая система монтируется initrd, выполните следующую команду:
lsinitrd /boot/initrd-`uname -r` | grep virtio
- SUSE 12 SP1/openSUSE 13 или более ранние:
Если драйверы VirtIO уже установлены, пропустите этот раздел.

Если драйверы VirtIO не установлены, установите их согласно инструкциям в этом разделе.
- CentOS/EulerOS
- Проверьте, установлены ли драйверы VirtIO. Команда зависит от ОС.
- Ядро ECS должно быть новее, чем 2.6.24.
- Отключите антивирус и программное обеспечение для обнаружения вторжений. Вы можете включить программное обеспечение после установки драйверов KVM.
- Вы выполнили операции в Изменение идентификаторов дисков в файле GRUB на UUID и Изменение идентификаторов дисков в файле fstab на UUID.
Процедура
Измените файл конфигурации в зависимости от версии ОС.
OS | Конфигурация | Ссылка |
|---|---|---|
CentOS/EulerOS | Возьмите CentOS 7.0 в качестве примера.
| |
Ubuntu/Debian |
| |
SUSE и openSUSE | Если версия ОС старее SUSE 12 SP1 или openSUSE 13:
| |
Если версия ОС — SUSE 12 SP1:
| ||
Если версия ОС новее, чем SUSE 12 SP1 или openSUSE 13:
|
CentOS и EulerOS
- Выполните следующую команду, чтобы открыть /etc/dracut.conf файл:
vi /etc/dracut.conf
- Нажмите i чтобы войти в режим редактирования и добавить драйверы VirtIO к add_drivers (формат зависит от ОС).[root@CTU10000xxxxx ~]# vi /etc/dracut.conf# additional kernel modules to the defaultadd_drivers+="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 в зависимости от ОС.
- Если виртуальная файловая система — initramfs, выполните следующую команду, чтобы проверить, установлены ли собственные драйверы KVM:
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.koNoteЕсли вы добавляете встроенные драйверы в файл initrd или initramfs, то ECS не будет затронут. Это упрощает модификацию драйверов. Однако вы не можете проверить драйверы, запустив lsinitrd команда. Вы можете выполнить следующую команду, чтобы проверить, являются ли драйверы встроенными в ядре:
cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y
Ubuntu and Debian
- Выполните следующую команду, чтобы открыть модули файл:
vi /etc/initramfs-tools/modules
- Нажмите i чтобы войти в режим редактирования и добавить драйверы VirtIO в /etc/initramfs-tools/modules файл (формат может различаться в зависимости от ОС).[root@CTU10000xxxxx ~]#vi /etc/initramfs-tools/modules...# Examples:## raid1# sd_mOdvirtio_blkvirtio_scsivirtio_netvirtio_pcivirtio_ringvirtio
- Нажмите Esc, введите :wq, а затем нажмите Enter. Система сохраняет изменение и выходит из /etc/initramfs-tools/modules файл.
- Выполните следующую команду для регенерации initrd:
update-initramfs -u
- Выполните следующую команду для проверки, установлены ли native KVM драйверы:
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.koNoteЕсли вы добавите встроенные драйверы в файл initrd или initramfs, то ECS не будет затронут. Это упрощает изменение драйверов. Однако вы не можете проверить драйверы, запустив lsinitrd команда. Вы можете выполнить следующую команду для проверки, являются ли драйверы встроенными в ядре:
[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
SUSE и openSUSE (раньше SUSE 12 SP1 или openSUSE 13)
Измените /etc/sysconfig/kernel файл.
- Выполните следующую команду, чтобы изменить /etc/sysconfig/kernel файл:
vi /etc/sysconfig/kernel
- Добавьте драйверы VirtIO в INITRD_MODULES="" (формат драйверов зависит от OS).SIA10000xxxxx:~ # vi /etc/sysconfig/kernel# (like drivers for scsi-controllers, for lvm or reiserfs)#INITRD_MODULES="ata_piix ata_generic virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
- Выполните mkinitrd команду для создания initrd снова.Note
Если виртуальная файловая система не является 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.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 команда.
- Выполните следующую команду, чтобы проверить, установлены ли драйверы KVM VirtIO:
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.ko-rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.kodrwxr-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 - Перезапустите ECS.
- Выполните следующую команду, чтобы проверить, существуют ли драйверы KVM в initrd:
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.ko-rwxr--r-- 1 root root 23856 Jun 22 2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/block/virtio_blk.kodrwxr-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.koNoteЕсли вы добавите встроенные драйверы в файл initrd или initramfs, то ECS не будет затронут. Это упрощает модификацию драйверов. Однако вы не можете проверить драйверы, запустив lsinitrd command. Вы можете выполнить следующую команду, чтобы проверить, являются ли драйверы встроенными в ядре:
cat /boot/config-`uname -r` | grep CONFIG_VIRTIO | grep y
SUSE и openSUSE (SUSE 12 SP1)
Измените /etc/dracut.conf файл.
- Выполните следующую команду, чтобы открыть /etc/dracut.conf файл:
vi /etc/dracut.conf
- Нажмите i чтобы перейти в режим редактирования и добавить драйверы VirtIO в add-drivers (формат зависит от ОС).[root@CTU10000xxxxx ~]# vi /etc/dracut.conf# additional kernel modules to the defaultadd_drivers+="ata_piix ata_generic 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 в зависимости от ОС.
- Если виртуальная файловая система — initramfs, выполните следующую команду, чтобы проверить, установлены ли нативные драйверы KVM:
lsinitrd /boot/initramfs-`uname -r`.img | grep virtio
Если виртуальная файловая система — initrd, выполните следующую команду, чтобы проверить, установлены ли нативные драйверы KVM:
lsinitrd /boot/initrd-`uname -r` | grep virtio
SUSE and openSUSE (Later than SUSE 12 SP1 or openSUSE 13)
Измените /etc/dracut.conf файл.
Возьмём SUSE Linux Enterprise Server 12 SP2 (x86_64) в качестве примера.
- Выполните следующую команду, чтобы открыть /etc/dracut.conf файл:
vi /etc/dracut.conf
- Нажмите i чтобы войти в режим редактирования и добавить драйверы VirtIO в add_drivers (формат зависит от ОС).[root@CTU10000xxxxx ~]# vi /etc/dracut.conf# additional kernel modules to the defaultadd_drivers+="ata_piix ata_generic 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 в зависимости от ОС.
- Если виртуальная файловая система — initramfs, выполните следующую команду, чтобы проверить, установлены ли драйверы native KVM:
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.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.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.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.koNoteЕсли вы добавите встроенные драйверы в файл 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
- Удалить файлы логов из /var/log директория.
rm -rf /var/log/*
NoteПеред удалением файлов журналов сделайте резервную копию каталогов журналов и файлов журналов, необходимых для запуска приложения. Например, если каталог журналов Nginx по умолчанию /var/log/nginx удален, Nginx может не запуститься.
- Удалить исторические записи.
echo > /root/.bash_history
history -c