日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

安裝virtio驅動

自定義鏡像的操作系統內核需支持virtio驅動,鏡像才能被導入阿里云云平臺,正常啟動云服務器。制作或導入自定義鏡像時,請確保自定義鏡像已安裝virtio驅動且已將virtio驅動添加到臨時文件系統,否則請手動操作。

您可以按照以下步驟,檢查當前操作系統內核是否支持virtio驅動,并執行相關操作。

  1. 檢查服務器內核是否支持virtio驅動。

  2. 根據檢查結果,選擇需要執行的操作。

檢查服務器內核是否支持virtio驅動

運行以下命令,檢查當前操作系統內核是否支持virtio驅動,以判斷是否需要為自定義鏡像安裝virtio驅動或將virtio驅動添加到臨時文件系統。

grep -i virtio /boot/config-$(uname -r)

virtio_driver

根據回顯信息判斷:

根據輸出信息中的參數CONFIG_VIRTIO_BLKCONFIG_VIRTIO_NET的取值判斷:

  • 取值均為y:已正確安裝virtio驅動,可直接執行相關文檔

  • 沒有這兩個參數:未安裝virtio驅動,需要手動安裝。具體操作,請參見安裝virtio驅動。

  • 取值均為m/取值一個為y一個為m:支持virtio驅動,還需運行以下命令,判斷virtio驅動是否已添加到臨時文件系統。

    • 取值均為m:運行以下命令,判斷virtio驅動是否已添加到臨時文件系統。

    • 取值一個為y一個為m:為y的驅動已經編譯到內核中且正確安裝,還需運行以下命令,判斷為m的virtio驅動是否已添加到臨時文件系統。

    CentOS系列

    lsinitrd /boot/initramfs-$(uname -r).img | grep virtio

    image

    • 如上圖所示,表示virtio驅動已經添加到臨時文件系統中,可直接執行相關文檔。

    • 否則,需將virtio驅動添加到臨時文件系統。如果CONFIG_VIRTIO_BLKCONFIG_VIRTIO_NET參數的取值一個為y一個為m,則只需要判斷取值為m的驅動是否已添加到臨時文件系統。

    Ubuntu/Debian系列

    lsinitramfs /boot/initrd.img-$(uname -r)|grep  virtio

    image

    • 如上圖所示,表示virtio驅動已經添加到臨時文件系統中,可直接執行相關文檔

    • 否則,需將virtio驅動添加到臨時文件系統。如果CONFIG_VIRTIO_BLKCONFIG_VIRTIO_NET參數的取值一個為y一個為m,則只需要判斷取值為m的驅動是否已添加到臨時文件系統。

將virtio驅動添加到臨時文件系統

通過檢查,發現源服務器內核支持virtio驅動,但是未添加到臨時文件系統中,需要手動添加。本章節以CentOS、Debian、Ubuntu等操作系統為例。

CentOS 6/Anolis OS 7/AlmaLinux 8/Fedora 33

CentOS 6/Anolis OS 7/AlmaLinux 8/Fedora 33及以上版本,且內核版本高于2.6.24(通過uname -r查詢)時,安裝如下操作修復臨時文件。

  1. 運行以下命令,打開dracut.conf文件。

    vim /etc/dracut.conf
  2. i進入編輯模式,然后添加如下內容。

    add_drivers+="virtio_blk virtio_net"

    修改完成后按Esc鍵,并輸入:wq后按下回車鍵,保存并退出。

    說明

    如果CONFIG_VIRTIO_BLKCONFIG_VIRTIO_NET參數的取值一個為y一個為m,則只需要添加取值為m的驅動。例如CONFIG_VIRTIO_NET參數取值為m,則只需要添加add_drivers+="virtio_net"。

  3. 執行以下命令,重新生成initrd。

    dracut -f
    說明

    命令執行完成后,您可以執行echo $?命令查看返回是否為0,返回為0則說明已經重新生成initrd。您還可以執行

    lsinitrd /boot/initramfs-$(uname -r).img | grep virtio命令查看是否已將virtio驅動正確添加到臨時文件系統中。

Debian/Ubuntu系列

  1. 運行以下命令,打開modules文件。

    vim /etc/initramfs-tools/modules
  2. i進入編輯模式,然后添加如下內容。

    virtio_blk
    virtio_net

    修改完成后按Esc鍵,并輸入:wq后按下回車鍵,保存并退出。

    說明

    如果CONFIG_VIRTIO_BLKCONFIG_VIRTIO_NET參數的取值一個為y一個為m,則只需要添加取值為m的驅動。例如CONFIG_VIRTIO_NET參數取值為m,則只需要添加virtio_net。

  3. 執行以下命令,重新生成initrd。

    update-initramfs -u
    說明

    命令執行完成后,您可以執行echo $?命令查看返回是否為0,返回為0則說明已經重新生成initrd。您還可以執行lsinitramfs /boot/initrd.img-$(uname -r)|grep  virtio命令查看是否已將virtio驅動正確添加到臨時文件系統中。

SUSE/OpenSUSE系列

  • 版本低于SUSE 12 SP1或低于OpenSUSE 13

    1. 運行以下命令,打開kernel文件。

      vim /etc/sysconfig/kernel
    2. i進入編輯模式,然后添加如下內容。

      INITRD_MODULES="virtio_blk virtio_net"

      修改完成后按Esc鍵,并輸入:wq后按下回車鍵,保存并退出。

      說明

      如果CONFIG_VIRTIO_BLKCONFIG_VIRTIO_NET參數的取值一個為y一個為m,則只需要添加取值為m的驅動。例如CONFIG_VIRTIO_NET參數取值為m,則只需要添加INITRD_MODULES="virtio_net"

    3. 執行以下命令,重新生成initrd。

      update-initramfs -u
  • 版本為SUSE 12 SP1、OpenSUSE 13或更高版本

    1. 運行以下命令,打開dracut.conf文件。

      vim /etc/dracut.conf
    2. i進入編輯模式,然后添加如下內容。

      add_drivers+="virtio_blk virtio_net"

      修改完成后按Esc鍵,并輸入:wq后按下回車鍵,保存并退出。

      說明

      如果CONFIG_VIRTIO_BLKCONFIG_VIRTIO_NET參數的取值一個為y一個為m,則只需要添加取值為m的驅動。例如CONFIG_VIRTIO_NET參數取值為m,則只需要添加add_drivers+="virtio_net"

    3. 執行以下命令,重新生成initrd。

      dracut -f
說明

命令執行完成后,您可以執行echo $?命令查看返回是否為0,返回為0則說明已經重新生成initrd。您還可以執行

lsinitrd /boot/initramfs-$(uname -r).img | grep virtio命令查看是否已將virtio驅動正確添加到臨時文件系統中。

安裝virtio驅動

說明

RedHat和CentOS 5系統的內核版本建議升級到5.11版本,再安裝virtio驅動。具體操作,請參見如何將RedHat和CentOS 5系統升級到5.11版本。

步驟1:下載內核安裝包

說明

本操作以CentOS操作系統下載內核版本linux-4.4.24.tar.gz為例,您需要將內核版本修改為實際操作系統內核對應的版本。

  1. 運行以下命令,安裝編譯內核的必要組件。

    yum install -y ncurses-devel gcc make wget
  2. 運行以下命令,查詢當前系統使用的內核版本,如示例中的4.4.24-2.al7.x86_64。

    uname -r

    kernel_version

  3. 前往Linux內核列表頁面查看對應的內核版本源碼的下載地址。

    如下圖示例中的4.4.24開頭的linux-4.4.24.tar.gz的下載地址為https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.24.tar.gz

    download

  4. 運行以下命令,切換目錄。

    cd /usr/src/
  5. 運行以下命令,下載安裝包。

    wget https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.24.tar.gz
  6. 運行以下命令,解壓安裝包。

    tar -xzf linux-4.4.24.tar.gz
  7. 運行以下命令,建立軟鏈接。

    ln -s linux-4.4.24 linux
  8. 運行以下命令,切換目錄。

    cd /usr/src/linux

步驟2:編譯內核

  1. 依次運行以下命令,編譯內核。

    make mrproper
    symvers_path=$(find /usr/src/ -name "Module.symvers")
    test -f $symvers_path && cp $symvers_path .
    cp /boot/config-$(uname -r) ./.config
    make menuconfig
    說明

    如果運行make menuconfig后報錯,您可以根據報錯提示進行修復。例如缺少ncurses-devel、bison、flex組件時,需要依次運行以下命令,安裝相關組件。

    yum install  ncurses-devel
    yum install  bison
    yum install  flex
  2. 出現以下界面時,開始打開virtio相關配置:

    說明

    *配置表示編譯到內核,選m配置表示編譯為模塊。

    1. 配置Virtualization項。

      1. 使用空格鍵選擇Virtualization項,并按Enter鍵進入詳細列表。Select_Virtualization

      2. 確認是否選擇了KVM(Kernel-based Virtual Machine)項。Select_KVM

    2. 配置Processor type and features項。

      1. 返回到主界面,通過上下鍵選擇Processor type and features項,并按Enter鍵進入詳細列表。

      2. 使用空格鍵選擇Paravirtualized guest support項,并按Enter鍵進入詳細列表。guest_support

      3. 確認是否選擇了KVM paravirtualized clockKVM Guest support項。KVM

    3. 配置Device Drivers項。

      1. 返回到主界面,通過上下鍵選擇Device Drivers項,并按Enter鍵進入詳細列表。

      2. 使用空格鍵選擇Block devices項,并按Enter鍵進入詳細列表。

      3. 確認是否選擇了Virtio block driver項。Virtio_block

      4. 回到上一級Device Drivers詳細列表,通過上下鍵選擇Network device support項,并按Enter鍵進入詳細列表。

      5. 確認是否選擇了Virtio network driver項。Virtio_network

    4. Esc鍵退出內核配置界面,并根據彈窗提示選擇Yes保存.config文件。

    5. 檢查virtio相關配置是否已經正確配置。

      具體操作,請參見檢查服務器內核是否支持virtio驅動。

    6. (條件可選)如果檢查后發現暫未設置virtio相關配置,依次運行以下命令自動觸發編輯.config文件。

      make oldconfig
      make prepare
      make scripts
      make
      make install
    7. 運行以下命令,查看virtio驅動的安裝情況。

      find /lib/modules/"$(uname -r)"/ -name "virtio*" | grep -E "virtio*"
      grep -E "virtio*" < /lib/modules/"$(uname -r)"/modules.builtin

      如下圖所示,如果任一命令輸出virtio_blk、virtio_pci、virtio_console等文件列表,表明您已經正確安裝了virtio驅動。確認結果

相關文檔

Linux系統安裝virtio驅動后,您可以執行以下操作: