すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:virtioドライバーのインストール

最終更新日:Jan 10, 2024

オペレーティングシステムカーネルがvirtioドライバーをサポートしているカスタムイメージのみをAlibaba Cloud Elastic Compute Service (ECS) にインポートし、起動可能なECSインスタンスの作成に使用できます。 ソースサーバーのデータに基づいてカスタムイメージを作成するとき、またはカスタムイメージをインポートするときは、virtioドライバーがイメージにインストールされ、一時ファイルシステムに追加されていることを確認してください。 virtioドライバがインストールされていない場合は、ドライバをインストールします。

次の手順を実行して、ソースサーバーのオペレーティングシステムカーネルがvirtioドライバーをサポートしているかどうかを確認し、チェック結果に基づいてアクションを実行できます。

  1. ソースサーバーのオペレーティングシステムカーネルがvirtioドライバーをサポートしているかどうかを確認します

  2. チェック結果に基づいて次の操作を実行します。

ソースサーバーのオペレーティングシステムカーネルがvirtioドライバーをサポートしているかどうかを確認する

次のコマンドを実行して、ソースサーバーのオペレーティングシステムカーネルがvirtioドライバーをサポートしているかどうかを確認し、カスタムイメージ用のvirtioドライバーをインストールするか、一時ファイルシステムにドライバーを追加するかを判断します。

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

virtio_driver

コマンド出力を表示します。

コマンド出力のCONFIG_VIRTIO_BLKおよびCONFIG_VIRTIO_NETパラメーターの値を確認します。

  • パラメーター値が両方ともyの場合、virtioドライバーは正しくインストールされています。 このトピックの [次の操作] セクションで説明されている操作を実行します。

  • パラメーターが存在しない場合、virtioドライバーはインストールされません。 ドライバをインストールする必要があります。 詳細については、このトピックの「virtioドライバーのインストール」をご参照ください。

  • パラメーター値が両方ともmの場合、virtioドライバーがサポートされます。 次のコマンドを実行して、ドライバが一時ファイルシステムに追加されているかどうかを確認します。

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

    temporary_file

    • virtioドライバーが一時ファイルシステムに追加された場合、前の図に示すようなコマンド出力が返されます。 この場合は、このトピックの「次の操作」セクションで説明している操作を実行します。

    • それ以外の場合は、virtioドライバーを一時ファイルシステムに追加します。 詳細については、このトピックの「一時ファイルシステムへのvirtioドライバーの追加」をご参照ください。

virtioドライバーを一時ファイルシステムに追加する

ソースサーバーのオペレーティングシステムカーネルがvirtioドライバーをサポートしているが、virtioドライバーが一時ファイルシステムに追加されていない場合は、一時ファイルシステムにドライバーを追加します。 移行元サーバーのオペレーティングシステムに基づいて、次のコマンドを1つ実行します。

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キーを押してInsertモードに入り、次のコンテンツをファイルに追加します。

    add_drivers +="virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"

    Escキーを押して :wqと入力し、enterキーを押して変更を保存して終了します。

  3. 次のコマンドを実行してinitrdを再生成します。

    dracut -f
    説明

    Red HatおよびCentOS 5では、virtioドライバーをインストールする前に、カーネルバージョンを5.11にアップグレードすることをお勧めします。

DebianまたはUbuntu

  1. 次のコマンドを実行して、modulesファイルを開きます。

    vim /etc/initramfs-tools/modules
  2. Iキーを押してInsertモードに入り、次のコンテンツをファイルに追加します。

    virtio_blk
    virtio_scsi
    virtio_net
    virtio_pci
    virtio_ring
    virtio 

    Escキーを押して :wqと入力し、enterキーを押して変更を保存して終了します。

  3. 次のコマンドを実行してinitrdを再生成します。

    update-initramfs -u

SUSEまたはopenSUSE

  • SUSE 12 SP1またはopenSUSE 13より前のバージョン

    1. 次のコマンドを実行して、カーネルファイルを開きます。

      vim /etc/sysconfig/kernel
    2. Iキーを押してInsertモードに入り、次のコンテンツをファイルに追加します。

      INITRD_MODULES="virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"

      Escキーを押して :wqと入力し、enterキーを押して変更を保存して終了します。

    3. 次のコマンドを実行してinitrdを再生成します。

      update-initramfs -u
  • SUSE 12 SP1、OpenSUSE 13以降

    1. 次のコマンドを実行して、dracut.confファイルを開きます。

      vim /etc/dracut.conf
    2. Iキーを押してInsertモードに入り、次のコンテンツをファイルに追加します。

      add_drivers +="virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"

      Escキーを押して :wqと入力し、enterキーを押して変更を保存して終了します。

    3. 次のコマンドを実行してinitrdを再生成します。

      dracut -f

一時ファイルシステムが修復された後、必要に応じてAlibaba Cloudにイメージファイルをインポートできます。

virtioドライバーのインストール

手順1: カーネルインストールパッケージのダウンロード

説明

この例では、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. Index of /pub/linux/kernel/ ページに移動して、カーネルバージョンリポジトリのダウンロードURLを照会します。

    この例では、次の図に示すように、linux-4.4.24.tar.gzのダウンロードURLが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 mrsupric
    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 ncurses-develをインストールする
    yumインストールバイソン
    yumインストールフレックス 
  2. 次のページが表示されたら、virtio関連の設定を行います。

    説明

    アスタリスク (*) を含む設定を選択すると、virtioドライバーがカーネルにコンパイルされます。 mを含む構成を選択した場合、virtioドライバーはモジュールにコンパイルされ、ドライバーの起動時にモジュールがカーネルに挿入されます。

    1. 仮想化オプションを設定します。

      1. スペースバーキーを押して仮想化を選択し、Enterキーを押してオプションのリストを表示します。Select_Virtualization

      2. カーネルベースの仮想マシン (KVM) サポートオプションが選択されていることを確認します。Select_KVM

    2. プロセッサの種類と機能のオプションを設定します。

      1. メインメニューに戻り、上下の矢印キーを押してプロセッサの種類と機能を選択し、Enterキーを押してオプションのリストを表示します。

      2. スペースバーキーを押してParahivalized guest supportを選択し、Enterキーを押してオプションのリストを表示します。guest_support

      3. KVM準仮想化クロックおよびKVMゲストサポートオプションが選択されていることを確認します。KVM

    3. デバイスドライバーオプションを設定します。

      1. メインメニューに戻り、上下の矢印キーを押してデバイスドライバを選択し、Enterキーを押してオプションのリストを表示します。

      2. スペースバーキーを押してデバイスをブロックを選択し、Enterキーを押してオプションのリストを表示します。

      3. Virtio block driverオプションが選択されていることを確認します。Virtio_block

      4. [デバイスドライバー] オプションのリストに戻り、上下の矢印キーを押して [ネットワークデバイスのサポート] を選択し、[入力] キーを押してオプションのリストを表示します。

      5. Virtio network driverオプションが選択されていることを確認します。Virtio_network

    4. [Esc] キーを押してカーネル構成ウィンドウを終了し、を保存するプロンプトで [はい] を選択します。ファイルを設定します。

    5. virtio関連の設定が完了しているかどうかを確認します。

    6. (オプション) virtio関連の設定が完了していない場合は、次のコマンドを順番に実行してを編集します。configファイル:

      make oldconfig
      準備する
      スクリプトを作成する
      作る
      インストールする 
    7. 次のコマンドを実行して、virtioドライバーがインストールされているかどうかを確認します。

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

      virtioドライバーがインストールされている場合、次の図に示すように、コマンド出力の1つにvirtio関連のファイル (virtio_blk、virtio_pci、virtio_consoleなど) のリストが含まれます。确认结果

次のステップ

virtioドライバーのインストール後、次の操作を実行できます。