VK Cloud logo

VirtIO драйверлерін тексеру және орнату

Виртуалды машинаны VK Cloud ішіне көшіру үшін оның ОЖ-сында VirtIO драйверлері орнатылған болуы керек. Linux-тектес ОЖ-лардың заманауи дистрибутивтерінің көпшілігінде VirtIO драйверлері әдепкі бойынша бар. Олар бөлек модульдер (.ko кеңейтімімен) түрінде құрастырылуы немесе ОЖ ядросының құрамына кіруі мүмкін.

  1. ОЖ ядросы VirtIO драйверлерін қолдайтынын тексеріңіз. Ол үшін келесі команданы орындаңыз:

    grep -E -i "VIRTIO_(BLK|NET|PCI|FS)" /boot/config-$(uname -r)

    Жауап мысалы:

    CONFIG_VIRTIO_BLK=mCONFIG_VIRTIO_NET=mCONFIG_VIRTIO_PCI_LIB=yCONFIG_VIRTIO_PCI=yCONFIG_VIRTIO_PCI_LEGACY=yCONFIG_VIRTIO_FS=m

    Мұнда ядро конфигурациясы параметрлерінің мәндері мынадай:

    • y — драйвер ядроның құрамына кіреді.
    • m — драйвер ядроның құрамына кірмейді, бірақ ядро оны қолдайды.

    Команда жауабында ядро конфигурациясының алты параметрінің кез келгенінің болмауы сәйкес VirtIO драйвері орнатылмағанын және ядро тарапынан қолдау көрсетілмейтінін білдіреді.

  2. Команда жауабын талдаңыз:

    1. Егер команда жауабында ядро конфигурациясының барлық алты параметрі бар болса және олардың барлығы y мәніне тең болса, яғни барлық қажетті VirtIO драйверлері ядроның құрамына әлдеқашан кірсе, нұсқаулықтың қалған қадамдарын өткізіп жіберіңіз.

    2. Егер команда жауабында конфигурация параметрлерінің кейбірі болмаса, ОЖ ядросын VirtIO драйверлерін қолдауды қосып, қайта құрастырыңыз. Содан кейін VirtIO драйверлерін қолдауды тексеруді басынан бастап қайталаңыз.

    3. Егер ядро конфигурациясының алты параметрінің кез келгені m мәніне тең болса, оларға сәйкес драйверлердің ядроның бөлек модульдері ретінде орнатылғанын тексеріңіз:

      Келесі команданы орындаңыз:

      lsinitramfs /boot/initrd.img-$(uname -r) | grep -E "virtio(_blk|_net|_pci|fs)"

      Команда жауабындағы virtio_net.ko, virtio_blk.ko, virtio_pci.ko немесе virtiofs.ko атаулары сәйкес драйверлердің ядро модульдері ретінде орнатылғанын білдіреді.

      Егер барлық қажетті драйверлер әлдеқашан орнатылған болса, нұсқаулықтың қалған қадамдарын өткізіп жіберіңіз.

    4. Егер тексеру қажетті VirtIO драйверлерінің ядроның бөлек модульдері ретінде орнатылмағанын көрсетті:

      1. Келесі команданы орындап, VirtIO драйверлерін орнатыңыз:

        echo -e "virtio_blk\nvirtio_net\nvirtio_pci\nvirtiofs" | sudo tee -a /etc/initramfs-tools/modulessudo update-initramfs -u
      2. ОЖ-ны қайта іске қосып, драйверлердің initrd файлына қосылғанын және жүктелгенін тексеріңіз:

        lsinitramfs /boot/initrd.img-$(uname -r) | grep -E "virtio(_blk|_net|_pci|fs)"find /lib/modules/"$(uname -r)"/ -name "virtio*" | grep -E "(blk|net|pci|fs)"

        Ядроның бөлек модульдері ретінде орнатылған барлық VirtIO драйверлері үшін екі команданың да жауабында осы драйверлерге сәйкес модуль атаулары болуы керек: virtio_net.ko, virtio_blk.ko, virtio_pci.ko немесе virtiofs.ko.