第11章 仮想デバイスの管理
仮想マシンの機能、特徴、およびパフォーマンスを管理する最も効果的な方法の 1 つは、仮想デバイス を調整することです。
以下のセクションでは、仮想デバイスの 一般的な概要 と、CLI または Web コンソール を使用して仮想デバイスを管理する方法を説明します。
11.1. 仮想デバイスの動作
物理マシンと同様、仮想マシンでは、処理能力、メモリー、ストレージ、ネットワーク、グラフィックスなどの機能をシステムに提供する特殊なデバイスが必要になります。物理システムでは通常、これらの目的でハードウェアデバイスを使用します。ただし、仮想マシンはソフトウェア実装として機能するため、代わりにそのようなデバイスのソフトウェアの抽象化を使用する必要があります。これは、仮想デバイス と呼ばれています。
基本情報
仮想マシンの作成 時に、仮想マシンに接続されている仮想デバイスを設定でき、既存の仮想マシンでも管理できます。通常、仮想デバイスは、仮想マシンが停止している場合に限り仮想マシンに接続または切断できますが、仮想マシンの実行中に追加または削除できるものもあります。この機能は、デバイスの ホットプラグ および ホットアンプラグ と呼ばれています。
新しい仮想マシンを作成すると、特に指定しない限り、libvirt
は、必須の仮想デバイスのデフォルトセットを自動的に作成して設定します。これは、ホストシステムのアーキテクチャーとマシンタイプに基づいており、通常は以下のものが含まれます。
- CPU
- メモリー
- キーボード
- ネットワークインターフェイスコントローラー (NIC)
- さまざまなデバイスコントローラー
- ビデオカード
- サウンドカード
仮想マシンの作成後に仮想デバイスを管理するには、コマンドラインインターフェイス (CLI) を使用します。ただし、仮想ストレージデバイス および NIC を管理する場合は、RHEL 8 Web コンソールを使用することもできます。
パフォーマンスまたは柔軟性
デバイスの種類によっては、RHEL 8 が複数の実装に対応し、しばしばパフォーマンスと柔軟性にトレードオフが伴います。
たとえば、仮想ディスクに使用される物理ストレージは、qcow2
、raw
などのさまざまな形式のファイルで示され、次のようなさまざまなコントローラーを使用して仮想マシンに提示されます。
- エミュレートされたコントローラー
-
virtio-scsi
-
virtio-blk
virtio
デバイスは、仮想化を目的として特別に設計されているため、エミュレートされたコントローラーは、virtio
コントローラーよりも遅くなります。一方、エミュレートされたコントローラーは、virtio
デバイスに対するドライバーがないオペレーティングシステムを実行するのを可能にします。同様に、virtio-scsi
は、SCSI コマンドへのより完全な対応を提供しており、仮想マシンにより多くのディスクを割り当てることができるようにします。最後に、virtio-blk
は、virtio-scsi
とエミュレートされたコントローラーよりも高いパフォーマンスを提供しますが、ユースケースは範囲がより限定されます。たとえば、virtio-blk
を使用する場合には、物理ディスクを LUN デバイスとして仮想マシンに割り当てることはできません。
仮想デバイスの種類の詳細は、仮想デバイスの種類 を参照してください。