Red Hat Training

A Red Hat training course is available for RHEL 8

仮想化の設定と管理 (機械翻訳)

Red Hat Enterprise Linux 8

Red Hat Enterprise Linux 8でホストをセットアップし、仮想マシンを作成および管理し、仮想化機能を理解する (機械翻訳)

Red Hat Customer Content Services

概要

この文書はRed Hat Enterprise Linux 8上で仮想化を管理する方法を説明します。仮想化に関する一般的な情報に加えて、RHEL 8 Webコンソールと同様にコマンドラインツールで仮想化を管理する方法を説明します。

Red Hat ドキュメントへのフィードバック (機械翻訳)

ご意見ご要望をお聞かせください。ドキュメントの改善点ございませんか。インストールするには、次を実行します。

  • 特定の文章に簡単なコメントを記入する場合は、ドキュメントが Multi-page HTML 形式になっ ているのを確認してください。コメントを追加する部分を強調表示し、そのテキストの下に表示される Add Feedback ポップアップをクリックし、表示された手順に従ってください。
  • より詳細なフィードバックを行う場合は、Bugzilla のチケットを作成します。

    1. Bugzilla の Web サイトにアクセスします。
    2. Component で Documentation を選択します。
    3. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも記入してください。
    4. Submit Bug をクリックします。

第1章 RHEL 8での仮想化 - 概要 (機械翻訳)

仮想化の概念やLinuxでのその実装に慣れていない場合は、RHEL 8での仮想化の概要、基本、利点、コンポーネント、その他のRed Hatが提供する仮想化ソリューションについて説明します。

1.1. RHEL 8の仮想化とは何ですか? (機械翻訳)

Red Hat Enterprise Linux 8 (RHEL 8) は、仮想化 機能を提供します。これは、RHEL 8を実行しているマシンが、仮想化ソフトウェアの助けを借りて、複数の仮想マシン (VM) (ゲスト とも呼ばれる) を ホスト できることを意味します。ゲストは、ホストの物理ハードウェアとコンピューティングリソースを使用して、独立した仮想化オペレーティングシステム (ゲスト OS) を、ホストのオペレーティングシステム上のユーザースペースプロセスとして実行します

つまり、仮想化によってオペレーティングシステムをオペレーティングシステム内に含めることが可能になります。

VMを使用すると、ソフトウェアの構成や機能を安全にテストしたり、従来のソフトウェアを実行したり、ハードウェアの作業負荷効率を最適化したりできます。利点の詳細は、「仮想化の利点 (機械翻訳)」を参照してください。

仮想システムの詳細は、the Red Hat Customer Portalを参照してください。

RHEL 8 で仮想化を試すには、2章RHEL 8で仮想化を始める (機械翻訳)を参照してください。

注記

RHEL 8の仮想化に加えて、Red Hatはそれぞれ異なるユーザーフォーカスと機能を備えた多数の特殊化された仮想化ソリューションを提供しています。詳細は「Red Hatの仮想化ソリューション (機械翻訳)」を参照してください。

1.2. 仮想化の利点 (機械翻訳)

仮想マシン(VM)を使用すると、物理マシンを使用する場合と比較して次のような利点があります。

  • 柔軟できめ細かいリソース割り当て

    VMは、通常は物理的なホストマシン上で実行され、物理ハードウェアもゲストOSが使用するために割り当てることができます。ただし、VMへの物理リソースの割り当てはソフトウェアで行われるため、非常に柔軟です。VMはホストメモリ、CPU、またはストレージスペースの構成可能な部分を使用し、その構成は非常にきめの細かいリソース要求を指定できます。

    たとえば、ゲストOSがそのディスクと見なすものは、ホストファイルシステム上のファイルとして表すことができ、そのディスクのサイズは、物理ディスクに使用可能なサイズよりもはるかに制限が少なくなります。

  • ソフトウェア制御構成

    VMの設定はすべてホスト上のデータとしてソフトウェアの制御下で保存されます。したがって、VMの作成、削除、クローン作成、移行、リモート操作、またはリモートストレージへの接続を簡単に行うことができます。

    さらに、VMの現在の状態はいつでもスナップショットとしてバックアップできます。その後、スナップショットをロードしてシステムを保存状態に復元できます。

  • ホストからの分離

    ゲストは、ホストOSとは別の仮想化カーネル上で実行されます。つまり、VMには任意のOSをインストールでき、ゲストOSが不安定になったり危険にさらされたりしても、ホストは影響を受けません。

    注記

    すべてのオペレーティングシステムがRHEL 8ホストのゲストOSとしてサポートされているわけではありません。詳細は「RHEL 8仮想化における推奨機能 (機械翻訳)」を参照してください。

  • スペースと費用対効果

    1台の物理マシンで多数のVMをホストできます。したがって、複数の物理マシンが同じタスクを実行する必要がなくなり、物理ハードウェアに関連するスペース、電力、およびメンテナンスの要件が軽減されます。

1.3. RHEL 8仮想マシンコンポーネントとそれらの相互作用 (機械翻訳)

RHEL 8の仮想化は、次の主要ソフトウェアコンポーネントで構成されています。

ハイパーバイザー

RHEL 8で仮想マシン (VM) を作成する基本は、ハードウェアを制御し、ホストマシンで複数のオペレーティングシステムを実行できるようにするソフトウェア層 ハイパーバイザー です。

ハイパーバイザーには、カーネルベースの仮想マシン (KVM) カーネルモジュールと、仮想化カーネルドライバー (virtiovfioなど) が含まれます。これらのコンポーネントは、ホストマシン上のLinuxカーネルがユーザー空間ソフトウェアへの仮想化のためのリソースを提供することを保証します。

ユーザースペースレベルでは、QEMU エミュレーターが、ゲスト OS が実行できる完全な仮想化ハードウェアプラットフォームをシミュレートし、リソースがホスト上でどのように割り当てられ、ゲストに提示されるかを管理します。

さらに、libvirt ソフトウェアスイートは管理層および通信層として機能し、QEMU とのやり取りを容易にし、セキュリティルールを適用し、ゲストを設定および実行するための追加のツールを多数提供します。

XML構成

ホストベースの XML 設定ファイル (別名 ドメイン XML ファイル) には、特定の仮想マシンが記述されます。これには、以下が含まれます。

  • VMの名前、タイムゾーン、VMに関するその他の情報などのメタデータ。
  • 仮想CPU(vCPUS)、ストレージデバイス、入力/出力デバイス、ネットワークインターフェイスカード、その他のハードウェア(実および仮想)を含む、VM内のデバイスの説明。
  • 使用可能な最大メモリ量、再起動設定、およびVMの動作に関するその他の設定などのVM設定。

コンポーネントの相互作用

VMが起動されると、ハイパーバイザーはXML構成に基づいてホスト上にユーザースペースプロセスとしてVMのインスタンスを作成します。ハイパーバイザーは、VM プロセスが、virshvirt-installguestfish コマンド、または Web コンソールの GUI などの、ホストベースのインターフェースにアクセスできるようにします。

これらの仮想化ツールが使用されると、libvirtはそれらの入力をQEMU用の指示に変換します。QEMUは命令をKVMに伝えます。これにより、カーネルは命令を実行するのに必要なリソースを適切に割り当てます。その結果、QEMUは、ゲストの作成や変更、ゲストのオペレーティングシステムでのアクションの実行など、対応するユーザースペースの変更を実行できます。

注記

QEMUはアーキテクチャの重要なコンポーネントですが、セキュリティ上の理由から、RHEL 8システムで直接使用することを目的としていません。したがって、 qemu-* コマンドはRed Hatではサポートされていないため、libvirtを使用してQEMUとやり取りすることを強くお勧めします。

ホストベースのインタフェースの詳細は、Tools and interfaces for virtualization management in RHEL 8を参照してください。

図1.1 RHEL 8仮想化アーキテクチャ

virt architecture

1.4. RHEL 8の仮想化管理のためのツールとインターフェース (機械翻訳)

RHEL 8では、コマンドラインインターフェイス(CLI)または複数のグラフィカルユーザーインターフェイス(GUI)を使用して仮想化を管理できます。

コマンドラインインターフェース

CLIは、RHEL 8で仮想化を管理するための最も強力な方法です。仮想化管理用の有名なCLIコマンドは次のとおりです。

  • virsh - 提供された引数に応じて、多種多様な目的を持つ多目的仮想化コマンドラインユーティリティーおよびシェル。以下に例を示します。

    • 仮想マシンの起動とシャットダウン - virsh start および virsh shutdown
    • 利用可能な仮想マシン(VM)の一覧表示 - virsh list
    • 設定ファイルから仮想マシンを作成する - virsh create
    • 仮想化シェルに入る - virsh

    詳細はvirsh(1)のmanページを参照してください。

  • virt-install - 新しい仮想マシンを作成するためのCLIユーティリティ。詳細はvirt-install(1)のmanページを参照してください。
  • virt-xml - 仮想マシンの構成を編集するためのユーティリティ。
  • guestfish - 仮想マシンのディスクイメージを調べて変更するためのユーティリティ。詳細はguestfish(1)のmanページを参照してください。

CLI を使用した基本的な仮想化管理の手順は、2章RHEL 8で仮想化を始める (機械翻訳) を参照してください。。

グラフィカルインタフェース

RHEL 8で仮想化を管理するには、次のGUIを使用できます。

  • RHEL 8 の Web コンソール (Cockpit としても知られている) は、仮想マシンおよび仮想化ホストを管理するための、リモートからアクセス可能で使いやすいグラフィカルユーザーインターフェースを提供します。

    Web コンソールを使用した基本的な仮想化管理の手順は 5章RHEL 8 Web コンソールを使用した仮想マシンの管理 (機械翻訳) を参照してください。。

  • 仮想マシンマネージャー (virt-manager) アプリケーションは、仮想マシンおよび仮想化ホストを管理するための特別な GUI を提供します。

    重要

    virt-manager は、RHEL 8 でも引き続きサポートされていますが、廃止予定です。RHEL 8 Webコンソールは、今後のリリースで代替される予定です。したがって、GUIで仮想化を管理するためのWebコンソールに慣れることをお勧めします。ただし、RHEL 8 では、一部の機能は、virt-manager またはコマンドラインのいずれか一方からしかアクセスできない場合があります。

  • Gnome Boxes アプリケーションは、仮想マシンリモートシステムを表示したりアクセスしたりするための軽量のグラフィカルインタフェースです。Gnome Boxesは主にデスクトップシステムで使用するために設計されています。

    重要

    Gnome Boxes は、GNOME デスクトップ環境に含まれ、RHEL 8 でサポートされていますが、Red Hat は、GUI で仮想化を管理するのに Web コンソールを使用することを推奨します。

1.5. Red Hatの仮想化ソリューション (機械翻訳)

以下のRed Hat製品は、RHEL 8仮想化機能の上に構築され、RHEL 8で利用可能なKVM仮想化機能を拡張します。また、limitations of RHEL 8 virtualization の多くが、これらの製品には適用されません。

Red Hat Virtualization(RHV)

RHVは、エンタープライズクラスのスケーラビリティとパフォーマンスを実現するように設計されており、ホスト、仮想マシン、ネットワーク、ストレージ、ユーザーなど、仮想インフラストラクチャ全体を一元化されたグラフィカルインターフェイスから管理できます。

Red Hat Enterprise Linux と Red Hat Virtualization での仮想化の違いは、the Red Hat Customer Portal を参照してください。。

Red Hat Virtualizationは、大規模展開またはミッションクリティカルなアプリケーションを実行している企業で使用できます。Red Hat Virtualizationに適した大規模展開の例には、データベース、取引プラットフォーム、およびダウンタイムなしで継続的に稼働する必要があるメッセージングシステムが含まれます。

Red Hat Virtualization の詳細は、the Red Hat Customer Portal または Red Hat Virtualization documentation suiteを参照してください。

完全にサポートされている 60 日間評価版の Red Hat Virtualization をダウンロードするには、https://access.redhat.com/products/red-hat-virtualization/evaluation を参照してください。

Red Hat OpenStackプラットフォーム(RHOSP)

Red Hat OpenStack Platform は、安全で信頼性の高いパブリックまたはプライベートの OpenStack クラウドを作成、デプロイ、および拡張するための統合基盤を提供します。

Red Hat OpenStack Platform の詳細は、the Red Hat Customer Portal または Red Hat OpenStack Platform documentation suite を参照してください。

完全にサポートされている 60 日間評価版の Red Hat OpenStack Platform ダウンロードするには、https://access.redhat.com/products/red-hat-openstack-platform/evaluation を参照してください。

さらに、特定の Red Hat 製品は、オペレーティングシステムレベルの仮想化 (コンテナー化 としても知られています) を提供します。

  • コンテナはホストOSの独立したインスタンスであり、既存のOSカーネル上で動作します。コンテナーの詳細は、Red Hat Customer Portalを参照してください。
  • コンテナにはKVM仮想化の汎用性はありませんが、より軽量で柔軟に処理できます。より詳細な比較は、Introduction to Linux Containers を参照してください。

第2章 RHEL 8で仮想化を始める (機械翻訳)

virtualization in RHEL 8 の使用を開始するには、以下の手順に従ってください。このためのデフォルトの方法はコマンドラインインターフェイス (CLI) です、しかしユーザの便宜のために、ステップのいくつかは the web console GUI で完了できます。

  1. 仮想化モジュールを有効にし、仮想化パッケージをインストールします。「RHEL 8で仮想化を有効にする (機械翻訳)」を参照してください。
  2. ゲスト仮想マシンを作成します。

  3. ゲスト仮想マシンを起動します。

  4. ゲスト仮想マシンに接続します。

注記

Webコンソールは現在仮想マシン用のゲスト管理機能のサブセットしか提供していないため、RHEL 8で仮想化を高度に使用するにはコマンドラインの使用をお勧めします。

2.1. RHEL 8で仮想化を有効にする (機械翻訳)

RHEL 8で仮想化を使用するには、仮想化モジュールを有効にし、仮想化パッケージをインストールし、システムが仮想マシンをホストするように設定されていることを確認する必要があります。

前提条件

  • Red Hat Enterprise Linux 8 は、ホストマシンに installed and registered されている必要があります。
  • 仮想化ホストとして機能するには、システムが次のハードウェア要件を満たしている必要があります。

    • ホストマシンのアーキテクチャーが supports KVM virtualizationする必要があります。
    • 以下のシステムリソースが利用可能です。

      • ホスト用に6 GBの空きディスク容量、および各予定ゲスト用にさらに6 GB
      • ホスト用に2 GBのRAM、さらに各予定ゲスト用に2 GB

手順

  1. 仮想化モジュールにパッケージをインストールします。

    # yum module install virt
  2. virt-install パッケージをインストールします。

    # yum install virt-install
  3. システムが仮想化ホストになる準備ができていることを確認します。

    # virt-host-validate
    [...]
    QEMU: Checking for device assignment IOMMU support         : PASS
    QEMU: Checking if IOMMU is enabled by kernel               : WARN (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments)
    LXC: Checking for Linux >= 2.6.26                          : PASS
    [...]
    LXC: Checking for cgroup 'blkio' controller mount-point    : PASS
    LXC: Checking if device /sys/fs/fuse/connections exists    : FAIL (Load the 'fuse' module to enable /proc/ overrides)
  4. すべての virt-host-validatePASS 値を返す場合は、システムで creating virtual machinesが可能になります。

    いずれかのチェックで FAIL が返された場合、表示される指示に従って問題を解決してください。

    いずれかのチェックで WARN が返された場合、表示される指示に従って仮想化機能を向上させることを検討してください。

その他の情報

  • 仮想化がホストCPUでサポートされていない場合は、virt-host-validate は、以下の出力を生成します。

    QEMU: Checking for hardware virtualization: FAIL (Only emulated CPUs are available, performance will be significantly limited)

    ただし、このようなホストシステムで仮想マシンを作成しようとすると、パフォーマンスの問題よりも失敗します。

2.2. 仮想マシンを作成する (機械翻訳)

RHEL 8 で仮想マシン (VM) を作成するには、command line interface または the RHEL 8 web consoleを使用します。

2.2.1. 前提条件 (機械翻訳)

  • 仮想化は、システムで installed and enabled されている必要があります。
  • システム上にVMを作成する前に、ディスクスペース、RAM、CPUなど、VMに割り当てる必要があるシステムリソースの量を検討してください。推奨される値は、仮想マシンで行うタスクやワークロードにより大幅に異なる場合があります。

2.2.2. コマンドラインインターフェイスを使用した仮想マシンの作成 (機械翻訳)

virt-install ユーティリティーを使用して、RHEL 8 ホスト上で仮想マシン (VM) を作成するには、以下の手順に従ってください。

前提条件
  • オペレーティングシステム(OS)のインストールソース。次のいずれかになります。ローカルまたはネットワーク上で使用できます。

    • インストールメディアの ISO イメージ
    • 既存の仮想マシンインストールのディスクイメージ
  • 必要に応じて、インストールをより速く簡単に設定するためにKickstartファイルを提供することもできます。
手順

VM を作成して OS のインストールを開始するには、virt-install コマンドを使用します。その引数には、少なくとも次のものを指定します。

  • 新しいマシンの名前
  • 割り当てられたメモリ量
  • 割り当てられた仮想CPU(vCPU)の数
  • 割り当てられたストレージの種類とサイズ
  • OSインストールソースの種類と場所

選択したインストール方法に基づいて、必要なオプションと値は異なります。例については以下を参照してください。

  • 以下は、という名前のVMを作成します。 /home/username/Downloads/Win10install.iso ファイルにローカルに保存されている ISO イメージから Windows 10 OS をインストールする、demo-guest1 という名前の仮想マシンを作成します。このVMにも2048 MiBのRAM、2つのvCPU、および8 GiBのqcow2仮想ディスクが自動的に割り当てられます。

    # virt-install --name demo-guest1 --memory 2048 --vcpus 2 --disk size=8 --os-variant win10 --cdrom /home/username/Downloads/Win10install.iso
  • 以下は、/home/username/Downloads/rhel8.iso イメージを使用し、ライブ CD から RHEL 8 OS を実行する、demo-guest2 という名前の仮想マシンを作成します。このVMにはディスク容量が割り当てられていないため、セッション中に行われた変更は保持されません。さらに、VMには4096 MiBのRAMと4つのvCPUが割り当てられています。

    # virt-install --name demo-guest2 --memory 4096 --vcpus 4 --disk none --livecd --os-variant rhel8.0 --cdrom /home/username/Downloads/rhel8.iso
  • 以下は、demo-guest3 という名前の RHEL 8 VM を作成し、既存のディスクイメージ /home/username/backup/disk.qcow2 に接続します。これは、マシン間でハードドライブを物理的に移動するのと似ているため、demo-guest3で使用可能なOSとデータは、イメージが以前にどのように処理されたかによって決まります。さらに、このVMには2048 MiBのRAMと2つのvCPUが割り当てられています。

    # virt-install --name demo-guest3 --memory 2048 --vcpus 2 --os-variant rhel8.0 --import --disk /home/username/backup/disk.qcow2

    ディスクイメージをインポートする場合は、--os-variantオプションを使用することが強く推奨されます。提供されないと、作成された VM のパフォーマンスは悪影響を受けます。

  • 以下は、http://example.com/OS-install URL からインストールする demo-guest4 という名前の仮想マシンを作成します。インストールを正常に開始するには、URLに作業用OSインストールツリーが含まれている必要があります。さらに、OS は、キックスタートファイル /home/username/ks.cfg を使用して自動的に設定されます。このVMには、2048 MiBのRAM、2つのvCPU、および16 GiBのqcow2仮想ディスクも割り当てられています。

    # virt-install --name demo-guest4 --memory 2048 --vcpus 2 --disk size=16 --os-variant rhel8.0 --location http://example.com/OS-install --initrd-inject /home/username/ks.cfg --extra-args="ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8"
  • 以下は、グラフィックがない、テキストのみのモードでである RHEL8.isoファイルからインストールする、demo-guest5 という名前の仮想マシンを作成します。ゲストコンソールをシリアルコンソールに接続します。VMには16384 MiBのメモリ、16のvCPU、および280 GiBのディスクがあります。この種のインストールは、低速のネットワークリンクを介してホストに接続するときに役立ちます。

    # virt-install --name demo-guest5 --memory 16384 --vcpus 16 --disk size=280 --os-variant rhel8.0 --location RHEL8.iso --nographics --extra-args='console=ttyS0'
  • 以下は、demo-guest6 という名前の仮想マシンを作成します。これは、demo-guest5 と設定が同じですが、10.0.0.1 のリモートホストにあります。

    # virt-install --connect qemu+ssh://root@10.0.0.1/system --name demo-guest6 --memory 16384 --vcpus 16 --disk size=280 --os-variant rhel8.0 --location RHEL8.iso --nographics --extra-args='console=ttyS0'

仮想マシンが正常に作成された場合は、仮想マシンのグラフィカルコンソールで virt-viewer ウィンドウが開き、ゲスト OS のインストールが開始します。

注記

仮想マシンとその OS のインストールをさらに設定するために、virt-install に、他の多くのオプションを指定できます。詳細は、man ページの virt-install を参照してください。

2.2.3. RHEL 8 Web コンソールを使用した仮想マシンの作成 (機械翻訳)

に Webコンソールが接続されているホストマシン上にVMを作成し、以下の手順に従ってください。

前提条件
  • RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

    Web コンソールプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

  • 仮想マシンを作成する前に、ディスク領域、RAM、CPU など、仮想マシンに割り当てる必要があるシステムリソースのサイズを検討してください。推奨される値は、仮想マシンで行うタスクやワークロードにより大幅に異なる場合があります。
  • ローカルで利用可能なオペレーティングシステム (OS) のインストールソース。 次のいずれかになります。

    • インストールメディアの ISO イメージ
    • 既存のゲストインストールのディスクイメージ
手順
  1. RHEL 8 Web コンソールの Virtual Machines インターフェースで、VM の作成 をクリックします。

    「Create New Virtual Machine」ダイアログが表示されます。

    cockpit create new vm
  2. 作成する仮想マシンの基本設定を入力します。

    • Connection - 仮想マシンが使用するホストへの接続
    • Name - 仮想マシンの名前
    • インストール元の種類 - インストールソースの種類:ファイルシステム、URL
    • Installation Source - インストールソースを示すパスまたは URL
    • OS Vendor - 仮想マシンのオペレーティングシステムのベンダー
    • Operating System - 仮想マシンのオペレーティングシステム
    • Memory - 仮想マシンを設定するメモリーの容量
    • Storage Size - 仮想マシンを設定するストレージ容量
    • Immediately Start VM - 仮想マシンの作成直後にそのマシンを開始するかどうか
  3. 作成 をクリックします。

    仮想マシンが作成されました。Immediately Start VM チェックボックスが選択されていると、仮想マシンがすぐに起動し、ゲスト OS のインストールを開始します。

仮想マシンを最初に実行したときにオペレーティングシステムをインストールしておく。

関連資料

2.3. 仮想マシンの起動 (機械翻訳)

RHEL 8 で仮想マシン (VM) を起動するには、the command line interface または the web console GUI を使用します。

2.3.1. 前提条件 (機械翻訳)

2.3.2. コマンドラインインターフェイスを使用した仮想マシンの起動 (機械翻訳)

  • コマンドラインインターフェースを使用してローカルの仮想マシンを起動するには、virsh start コマンドを使用します。

    # virsh start demo-guest1
    Domain demo-guest1 started
  • VMがリモートホスト上にある場合は、ホストへのQEMU + SSH接続を使用してください。たとえば、次は、192.168.123.123 のホストにある仮想マシン demo-guest1 を開始します。

    # virsh -c qemu+ssh://root@192.168.123.123/system start demo-guest1
    
    root@192.168.123.123's password:
    Last login: Mon Feb 18 07:28:55 2019
    
    Domain demo-guest1 started

    リモートホスト上の VM の管理は、modifying your libvirt and SSH configuration のようにして簡略化できます。

2.3.3. RHEL 8 Web コンソールを使用した仮想マシンの起動 (機械翻訳)

仮想マシンが shut off 状態にある場合は、RHEL 8 Web コンソールを使用して起動できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. 起動したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. 実行 をクリックします。
    仮想マシンが起動します。
関連資料

2.4. 仮想マシンへの接続 (機械翻訳)

RHEL 8で仮想マシン(VM)と対話するには、次のいずれかを実行して接続する必要があります。

接続先の仮想マシンがローカルホストではなくリモートホストにある場合は、任意で more convenient access to remote hostsのシステムを設定することもできます。

2.4.1. 前提条件 (機械翻訳)

2.4.2. THEL 8 Web コンソールを使用した仮想マシングラフィカルコンソールの表示 (機械翻訳)

RHEL 8 Web コンソールで、選択した仮想マシンのグラフィカルコンソールを表示できます。仮想マシンコンソールには仮想マシンのグラフィカル出力が表示されます。

前提条件
  • RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

    Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

  • ホストおよび仮想マシンの両方が、グラフィカルインターフェースに対応している。
手順
  1. グラフィカルコンソールを表示する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. コンソール をクリックします。
    グラフィカルコンソールが Web インターフェースに表示されます。
cockpit graphical console in cockpit

実際のマシンと同じように、マウスとキーボードを使用して仮想マシンコンソールと対話することができます。仮想マシンコンソールには、仮想マシンで実行されているアクティビティーが表示されます。

注記

RHEL 8 Webコンソールが実行されているサーバーは、次のような特定のキーの組み合わせを傍受することができます。 Ctrl+Alt+F1仮想マシンに送信されないようにします。

このようなキーの組み合わせを送信するには、 送信キー メニューを選択して送信するキーシーケンスを選択します。

例えば、 Ctrl+Alt+F1 仮想マシンへの組み合わせをクリックします。 送信キー メニューを選択して Ctrl + Alt + F1 メニュー項目

関連資料

2.4.3. Virt Viewerを使用して仮想マシンのグラフィカルコンソールを開く (機械翻訳)

KVM 仮想マシン (VM) のグラフィカルコンソールに接続して、Virt Viewer デスクトップアプリケーションで開く方法は、以下の手順に従ってください。

前提条件
  • あなたのシステムは、あなたが接続している仮想マシンと同様に、グラフィックディスプレイをサポートしなければなりません。
  • ターゲットVMがリモートホストにある場合は、そのホストへの接続およびルートアクセス権限が必要です。
  • [オプション] ターゲットの仮想マシンがリモートホストにある場合は、libvirt と SSH を more convenient access to remote hostsのように設定します。
手順
  • ローカルの仮想マシンに接続するには、次のコマンドを使用し、guest-name を、接続する仮想マシンの名前に置き換えます。

    # virt-viewer guest-name
  • リモートの仮想マシンに接続するには、SSH プロトコルで virt-viewer コマンドを実行します。たとえば、次のコマンドは、root 権限で、リモートシステム 10.0.0.1 にある guest-name という名前の仮想マシンに接続します。接続には10.0.0.1のルート認証も必要です。

    # virt-viewer --direct --connect qemu+ssh://root@10.0.0.1/system guest-name
    root@10.0.0.1's password:

接続が正しく機能している場合は、Virt Viewer ウィンドウに仮想マシンのディスプレイが表示されます。

Virt Viewer displaying a RHEL 7 guest OS

実際のマシンと対話するのと同じ方法で、マウスとキーボードを使用してVMコンソールと対話することができます。VMコンソールの表示は、VMで実行されているアクティビティを反映しています。

関連資料

2.4.4. SSHを使用して仮想マシンに接続する (機械翻訳)

SSH接続プロトコルを使用して仮想マシン(VM)の端末と対話するには、以下の手順に従ってください。

前提条件
  • ターゲットVMへのネットワーク接続とルートアクセス権限。
  • libvirt-nss コンポーネントを仮想マシンのホストにインストールして有効にする必要があります。そうでない場合は、次の手順を実行します。

    1. libvirt-nss パッケージをインストールします。

      # yum install libvirt-nss
    2. /etc/nsswitch.conf ファイルを編集して、hosts 行に libvirt_guest を追加します。

      [...]
      passwd:      compat
      shadow:      compat
      group:       compat
      hosts:       files libvirt_guest dns
      [...]
  • ターゲットの仮想マシンがリモートホストにある場合は、そのホストへの接続およびルートアクセス権限も必要です。
手順
  1. オプション:リモートゲストに接続するときは、最初にその物理ホストにSSHで接続します。次の例は、ルート資格情報を使用してホストマシン10.0.0.1に接続する方法を示しています。

    # ssh root@10.0.0.1
    root@10.0.0.1's password:
    Last login: Mon Sep 24 12:05:36 2018
    root~#
  2. 接続するには、VMの名前とユーザーアクセス認証情報を使用します。たとえば、次はroot資格情報を使用して「testguest1」VMに接続します。

    # ssh root@testguest1
    root@testguest1's password:
    Last login: Wed Sep 12 12:05:36 2018
    root~]#
    注記

    仮想マシンの名前がわからない場合は、virsh list --all コマンドを使用して、ホストで利用可能な仮想マシンを一覧表示できます。

    # virsh list --all
    Id    Name                           State
    ----------------------------------------------------
    2     testguest1                    running
    -     testguest2                    shut off

2.4.5. 仮想マシンのシリアルコンソールを開く (機械翻訳)

virsh console コマンドを使用して、仮想マシン (VM) のシリアルコンソールに接続できます。

これは、VMが以下の場合に役立ちます。

  • VNCまたはSPICEプロトコルを提供しないため、GUIツールのビデオ表示は提供されません。
  • ネットワークに接続されていないため、using SSHとは対話できません。
前提条件
  • VMのカーネルコマンドラインでシリアルコンソールを設定する必要があります。これを確認するには、仮想マシンの cat /proc/cmdline コマンドの出力に console = ttyS0 が含まれます。以下に例を示します。

    # cat /proc/cmdline
    BOOT_IMAGE=/vmlinuz-3.10.0-948.el7.x86_64 root=/dev/mapper/rhel-root ro console=tty0 console=ttyS0,9600n8 rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb

    シリアルコンソールがVM上で正しく設定されていない場合は、virsh コンソール を VM に接続すると、応答のないゲストコンソールに接続します。ただし、次のようにしても応答しないコンソールを終了することができます。 Ctrl +]ショートカット

  • VMにシリアルコンソールを設定するには、次の手順に従います。

    1. VM 上で /etc/default/grub ファイルを編集し、console=ttyS0 を、GRUB_CMDLINE_LINUX で開始する行に追加します。
    2. 変更が反映されないようにする可能性があるカーネルオプションを消去します。

      # grub2-editenv - unset kernelopts
    3. Grub設定をリロードします。

      # grub2-mkconfig -o /boot/grub2/grub.cfg
      Generating grub configuration file ...
      Found linux image: /boot/vmlinuz-3.10.0-948.el7.x86_64
      Found initrd image: /boot/initramfs-3.10.0-948.el7.x86_64.img
      [...]
      done
    4. VMを再起動します。
手順
  1. ホストシステムで、virsh console コマンドを使用します。次の例では、libvirt ドライバーが安全なコンソール処理をサポートしている場合に、guest1 仮想マシンに接続します。

    # virsh console guest1 --safe
    Connected to domain guest1
    Escape character is ^]
    
    Subscription-name
    Kernel 3.10.0-948.el7.x86_64 on an x86_64
    
    localhost login:
  2. 標準のコマンドラインインターフェースと同じ方法でvirshコンソールと対話することができます。
関連資料
  • VMシリアルコンソールについての詳細は、virshのmanページを参照してください。

2.4.6. リモート仮想化ホストへの簡単なアクセスを設定する (機械翻訳)

libvirt ユーティリティを使用してリモートホストシステム上の仮想マシンを管理する場合は、-c qemu+ssh://root@hostname/system 構文を使用することが推奨されます。たとえば、10.0.0.1 ホストで、root で virsh list コマンドを実行します。

# virsh -c qemu+ssh://root@10.0.0.1/system list

root@10.0.0.1's password:
Last login: Mon Feb 18 07:28:55 2019

Id   Name              State
---------------------------------
1    remote-guest      running

ただし、便宜上、SSHとlibvirtの設定を変更することで、接続の詳細を完全に指定する必要をなくすことができます。たとえば、次のようにすることができます。

# virsh -c remote-host list

root@10.0.0.1's password:
Last login: Mon Feb 18 07:28:55 2019

Id   Name              State
---------------------------------
1    remote-guest      running

この改善を可能にするために、以下の指示に従ってください。

手順
  1. ~/.ssh/config ファイルを編集して作成し、次の行を追加します。ここで host-alias は、特定のリモートホストに関連付けられた短縮名です。hosturl は、ホストの URL アドレスです。

    Host host-alias
            User                    root
            Hostname                hosturl

    たとえば、以下は、root@10.0.0.1 に tyrannosaurus エイリアスを設定します。

    Host tyrannosaurus
            User                    root
            Hostname                10.0.0.1
  2. /etc/libvirt/libvirt.conf ファイルを編集または作成し、以下を追加します。qemu-host-alias は、QEMU および libvirt ユーティリティーが目的のホストに関連付けるホストエイリアスです。

    uri_aliases = [
      "qemu-host-alias=qemu+ssh://host-alias/system",
    ]

    たとえば、次の例では、前の手順で設定した tyrannosaurus エイリアスを使用して、t-rex エイリアスを設定します。これは、qemu+ssh://10.0.0.1/systemを表します。

    uri_aliases = [
      "t-rex=qemu+ssh://tyrannosaurus/system",
    ]
  3. その結果、ローカルシステムで libvirt ベースのユーティリティーを使用し、-c qemu-host-alias をコマンドに追加することで、リモートの仮想マシンを管理できます。これにより、リモートホストのSSH経由でコマンドが自動的に実行されます。

    たとえば、次の例では、10.0.0.1 リモートホスト上の仮想マシン (前のステップで t-rex として設定した接続) の一覧を表示します。

    $ virsh -c t-rex list
    
    root@10.0.0.1's password:
    Last login: Mon Feb 18 07:28:55 2019
    
    Id   Name              State
    ---------------------------------
    1    velociraptor      running
  4. [オプション] 単一のリモートホスト上でlibvirtユーティリティを排他的に使用したい場合は、libvirtベースのユーティリティのデフォルトターゲットとして特定の接続を設定することもできます。そうするには、/etc/libvirt/libvirt.conf ファイルを編集し、uri_default パラメーターの値を qemu-host-alias に設定します。たとえば、次の例では、前の手順でデフォルトの libvirt ターゲットとして設定された t-rex ホストのエイリアスを使用します。

    # These can be used in cases when no URI is supplied by the application
    # (@uri_default also prevents probing of the hypervisor driver).
    #
    uri_default = "t-rex"

    その結果、すべてのlibvirtベースのコマンドは指定されたリモートホスト上で自動的に実行されます。

    $ virsh list
    root@10.0.0.1's password:
    Last login: Mon Feb 18 07:28:55 2019
    
    Id   Name              State
    ---------------------------------
    1    velociraptor      running

    ただし、ローカルホストまたは別のリモートホストでもVMを管理したい場合は、これはお勧めできません。

関連資料
  • リモートホストに接続するときに、リモートシステムにrootパスワードを入力しなくても済むようにすることもできます。これを行うには、次のうち1つ以上の手順を実行します。

  • 上述の -c (または --connect) と、リモートホストアクセス設定を使用できるユーティリティーには、以下が含まれます。

2.5. 仮想マシンをシャットダウンする (機械翻訳)

Red Hat Enterprise Linux 8 で実行中の仮想マシンをシャットダウンするには、the command line interface または the web console GUI を使用します。

2.5.1. コマンドラインインターフェイスを使用して仮想マシンをシャットダウンする (機械翻訳)

レスポンシブ仮想マシン(VM)をシャットダウンするには、以下のいずれかを実行します。

  • connected to the guest の場合に、ゲスト OS に適したシャットダウンコマンドを使用します。
  • ホストで virsh shutdown コマンドを使用します。

    • VMがローカルホスト上にある場合

      # virsh shutdown demo-guest1
      Domain demo-guest1 is being shutdown
    • VMがリモートホスト上にある場合、この例では10.0.0.1です。

      # virsh -c qemu+ssh://root@10.0.0.1/system shutdown demo-guest1
      
      root@10.0.0.1's password:
      Last login: Mon Feb 18 07:28:55 2019
      Domain demo-guest1 is being shutdown

応答しなくなった場合など、ゲストを強制的にシャットダウンするには、そのホストで virsh destroy コマンドを実行します。

# virsh destroy demo-guest1
Domain demo-guest1 destroyed
注記

virsh destroy コマンドは、実際にはゲスト構成またはディスクイメージを削除しません。実行中のゲストインスタンスを破壊するだけです。ただし、まれに、このコマンドを実行するとゲストのファイルシステムが破損することがあるため、その他のすべてのシャットダウン方法が失敗した場合に限り、virsh destroy の使用が推奨されます。

2.5.2. RHEL 8 Web コンソールを使用した仮想マシンの停止 (機械翻訳)

仮想マシンが 稼働 状態であれば、RHEL 8 Web コンソールを使用してシャットダウンできます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. シャットダウンしたい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. シャットダウン をクリックします。
    仮想マシンがシャットダウンします。
注記

仮想マシンがシャットダウンしない場合は、仮想マシンの横にある矢印をクリックしてください。 シャットダウン ボタンを押して選択 強制終了.

関連資料

第3章 IBM POWER上のRHEL 8で仮想化を始める (機械翻訳)

IBM POWER8またはPOWER9ハードウェアでRHEL 8を使用する場合は、KVM仮想化を使用することが可能です。ただし、システムで enabling the KVM hypervisor の場合は、AMD64 および Intel64 のアーキテクチャーの仮想化に、追加の手順が必要です。IBM POWER では、特定の RHEL 8 仮想化機能に different or restricted functionality もあります。

以下のセクションの情報を除けば、IBM POWERで仮想化を使用することは、AMD64およびIntel 64の場合と同じように機能します。したがって、IBM POWERでの仮想化の使用について詳しくは、他のRHEL 8仮想化資料を参照することができます。

3.1. IBM POWERで仮想化を有効にする (機械翻訳)

KVMハイパーバイザーをセットアップし、RHEL 8を実行しているIBM POWER8またはIBM POWER9システム上に仮想マシン(VM)を作成できるようにするには、以下の手順に従ってください。

前提条件

  • RHEL 8がホストマシンにインストールされ、登録されています。
  • 以下のシステムリソースが利用可能です。

    • ホスト用に6 GBの空きディスク容量、および各予定ゲスト用にさらに6 GB。
    • ホスト用に2 GBのRAM、さらに各予定ゲスト用に2 GB。
  • ご使用のCPUマシン・タイプはIBM POWER仮想化をサポートしていなければなりません。

    これを確認するには、/proc/cpuinfo ファイルであなたのプラットフォーム情報を探してください。

    # grep ^platform /proc/cpuinfo/
    platform        : PowerNV

    このコマンドの出力には PowerNV エントリーがある場合は、PowerNV マシンタイプを実行しており、IBM POWER 上で仮想化を使用できます。

手順

  1. KVM-HVカーネルモジュールをロードする

    # modprobe kvm_hv
  2. KVMカーネルモジュールがロードされていることを確認します

    # lsmod | grep kvm

    KVMが正常にロードされた場合、このコマンドの出力には以下が含まれます。 kvm_hv

  3. 仮想化モジュールにパッケージをインストールします。

    # yum module install virt
  4. virt-install パッケージをインストールします。

    # yum install virt-install
  5. システムが仮想化ホストになる準備ができていることを確認します。

    # virt-host-validate
    [...]
    QEMU: Checking if device /dev/vhost-net exists                          : PASS
    QEMU: Checking if device /dev/net/tun exists                            : PASS
    QEMU: Checking for cgroup 'memory' controller support                   : PASS
    QEMU: Checking for cgroup 'memory' controller mount-point               : PASS
    [...]
    QEMU: Checking for cgroup 'blkio' controller support                    : PASS
    QEMU: Checking for cgroup 'blkio' controller mount-point                : PASS
    QEMU: Checking if IOMMU is enabled by kernel                            : PASS
  6. すべての virt-host-validatePASS 値を返す場合は、システムで creating virtual machinesが可能になります。

    いずれかのチェックで FAIL が返された場合、表示される指示に従って問題を解決してください。

    いずれかのチェックで WARN が返された場合、表示される指示に従って仮想化機能を向上させることを検討してください。

その他の情報

  • 仮想化がホストCPUでサポートされていない場合は、virt-host-validate は、以下の出力を生成します。

    QEMU: Checking for hardware virtualization: FAIL (Only emulated CPUs are available, performance will be significantly limited)

    ただし、このようなホストシステムでVMを作成しようとすると、パフォーマンスの問題よりもむしろ失敗します。

3.2. IBM POWER上の仮想化がAMD64およびIntel 64とどう違うのか (機械翻訳)

IBM POWERシステム上のRHEL 8でのKVM仮想化は、いくつかの点でAMD64およびIntel 64システム上のKVMと異なります。特に、

メモリー所要量
IBM POWER上のVMはより多くのメモリーを消費します。したがって、IBM POWERホスト上の仮想マシン(VM)に推奨される最小メモリー割り振りは2 GB RAMです。
表示プロトコル

SPICEプロトコルは、IBM POWERシステムではサポートされていません。VMのグラフィック出力を表示するには、VNC プロトコルを使用します。さらに、次の仮想グラフィックスカードデバイスのみがサポートされています。

  • vga - -vga std モードでのみサポートされていますが、-vga cirrus モードではサポートされていません。
  • virtio-vga
  • virtio-gpu
SMBIOS
SMBIOS設定は利用できません
メモリ割り当てエラー

互換モードVMを含むPOWER8 VMは、以下のようなエラーで失敗する可能性があります。

qemu-kvm: Failed to allocate KVM HPT of order 33 (try smaller maxmem?): Cannot allocate memory

これは、RHEL 7.3以前をゲストOSとして使用するVMで発生する可能性が非常に高いです。

この問題を解決するには、ホストのカーネルコマンドラインに kvm_cma_resv_ratio=memoryを追加して、ゲストのハッシュページテーブル (HPT) に使用できる CMA メモリープールを増やします。memory は、CMA プール (デフォルトは 5) 予約する必要があるホストメモリの割合です。。

Huge page

THP (Transparent huge pages) は、IBM POWER8 VM に顕著なパフォーマンス上の利点をもたらすことはありません。ただし、IBM POWER9 VMは、予想どおりTHPの恩恵を受けることができます。

さらに、IBM POWER8システム上の静的な巨大ページのサイズは、AMD64、Intel 64、およびIBM POWER9上の2 MiBおよび1 GiBとは対照的に、16 MiBおよび16 GiBです。結果として、静的な巨大ページで構成されたVMをIBM POWER8ホストからIBM POWER9ホストに移行するには、最初にVM上に1 GBの巨大ページをセットアップする必要があります。

KVMクロック
kvm-clock サービスは、IBM POWER9 の仮想マシンで時間管理用に構成する必要はありません。
Pvpanic

IBM POWER9システムはサポートしていません pvpanic デバイス。ただし、このアーキテクチャでは、同等の機能が使用可能であり、デフォルトでアクティブになっています。VMで有効にするには、preserve 値で <on_crash> XML構成要素を使用します。

また、<devices>セクションから <panic> 要素を必ず削除してくだしあ。その要素があると、VM が IBM POWER システムで起動できなくなる可能性があるためです。

シングルスレッドホスト
IBM POWER8システムでは、ホストマシンは、VM をサポートするために シングルスレッドモード で稼働しなければなりません。これは、qemu-kvm パッケージがインストールされていると、自動的に設定されます。ただし、シングルスレッドホスト上で実行されているVMは、引き続きマルチスレッドを使用できます。
周辺機器

AMD64およびIntel 64システムでサポートされているいくつかの周辺装置は、IBM POWERシステムではサポートされていないか、または代替として別の装置がサポートされています。

  • ioh3420 および xio3130-downstreamを含む PCI-E 階層に使用されるデバイスは、サポートされません。この機能は、spapr-pci-host-bridge デバイスが提供する複数の独立した PCI root ブリッジに置き換えられます。
  • UHCIおよびEHCI PCIコントローラはサポートされていません。代わりにOHCIとXHCIコントローラーを使用してください。
  • 仮想 IDE CD-ROM (ide-cd) を含むIDEデバイスと、仮想 IDE ディスク (ide-hd) はサポートされていません。代わりに virtio-scsi デバイスおよび virtio-blk デバイスを使用します。
  • エミュレートされたPCI NIC(rtl8139)はサポートされていません。代わりに virtio-net デバイスを使用します。
  • (intel-hdahda-output、および AC97) を含むサウンドデバイスはサポートされていません。
  • usb-redir および usb-tablet を含む USB リダイレクトデバイスはサポートされていません。
v2vとp2v
virt-v2v ユーティリティーおよび virt-p2v ユーティリティーは、AMD64 および Intel 64 アーキテクチャでのみサポートされます。このため、それらはIBM POWERでは提供されていません。

第4章 IBM Z上のRHEL 8で仮想化を始める (機械翻訳)

IBM Zハードウェア上でRHEL 8を使用する場合は、KVM仮想化を使用することが可能です。ただし、システムで enabling the KVM hypervisor の場合は、AMD64 および Intel64 のアーキテクチャーの仮想化に、追加の手順が必要です。IBM Z では、特定の RHEL 8 仮想化機能に different or restricted functionality もあります。

以下のセクションの情報を除けば、IBM Zで仮想化を使用することは、AMD64およびIntel 64の場合と同じように機能します。したがって、IBM Zで仮想化を使用する方法の詳細については、他のRHEL 8仮想化ドキュメントを参照することができます。

4.1. IBM Zで仮想化を有効にする (機械翻訳)

KVMハイパーバイザーをセットアップし、RHEL 8を実行しているIBM Zシステム上に仮想マシン(VM)を作成できるようにするには、以下の手順に従ってください。

前提条件

  • RHEL 8がホストマシンにインストールされ、登録されています。
  • 以下のシステムリソースが利用可能です。

    • ホスト用に6 GBの空きディスク容量、および各予定ゲスト用にさらに6 GB。
    • ホスト用に2 GBのRAM、さらに各予定ゲスト用に2 GB。
  • ご使用のIBM Zホストシステムでは、z13以降のCPUを使用する必要があります。
  • RHEL 8は論理区画(LPAR)にインストールする必要があります。さらに、LPAR は、start-interpretive execution (SIE) 仮想機能に対応する必要があります。

    これを確認するには、/proc/cpuinfo ファイルで sie を検索します。

    # grep sie /proc/cpuinfo/
    features        : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te sie

手順

  1. KVMカーネルモジュールをロードします。

    # modprobe kvm
  2. KVMカーネルモジュールがロードされていることを確認します。

    # lsmod | grep kvm

    KVMが正常にロードされた場合、このコマンドの出力には以下が含まれます。 kvm

  3. 仮想化モジュールにパッケージをインストールします。

    # yum module install virt
  4. virt-install パッケージをインストールします。

    # yum install virt-install
  5. システムが仮想化ホストになる準備ができていることを確認します。

    # virt-host-validate
    [...]
    QEMU: Checking if device /dev/kvm is accessible                : PASS
    QEMU: Checking if device /dev/vhost-net exists                 : PASS
    QEMU: Checking if device /dev/net/tun exists                   : PASS
    QEMU: Checking for cgroup 'memory' controller support          : PASS
    QEMU: Checking for cgroup 'memory' controller mount-point      : PASS
    [...]
  6. すべての virt-host-validatePASS 値を返す場合は、システムで creating virtual machinesが可能になります。

    いずれかのチェックで FAIL が返された場合、表示される指示に従って問題を解決してください。

    いずれかのチェックで WARN が返された場合、表示される指示に従って仮想化機能を向上させることを検討してください。

その他の情報

  • 仮想化がホストCPUでサポートされていない場合は、virt-host-validate は、以下の出力を生成します。

    QEMU: Checking for hardware virtualization: FAIL (Only emulated CPUs are available, performance will be significantly limited)

    ただし、このようなホストシステムでVMを作成しようとすると、パフォーマンスの問題よりもむしろ失敗します。

4.2. IBM Zの仮想化がAMD64およびIntel 64と異なる点 (機械翻訳)

IBM Zシステム上のRHEL 8でのKVM仮想化は、以下の点でAMD64およびIntel 64システム上のKVMと異なります。

グラフィック出力なし
VNCプロトコルを使用してVMに接続しているときは、VMのグラフィカル出力を表示することはできません。これは gnome-desktop ユーティリティーはIBM Zではサポートされていません。
PCIデバイスとUSBデバイス

仮想 PCI デバイスおよび USB デバイスは IBM Zではサポートされていません。これは、virtio-*-pci デバイスはサポートされておらず、代わりに virtio-*-ccw デバイスを使用してください。たとえば、virtio-net-pci の代わりに virtio-net-ccw を使用します。

PCIパススルーとも呼ばれるPCIデバイスの直接接続もサポートされています。

デバイス起動順序

IBM Z は、<boot dev='device'> XML 構成要素をサポートしません。デバイスの起動順序を定義するには、XML の <devices> セクションで、<boot order='number'> 要素を使用します。以下に例を示します。

<devices> <disk type='file' snapshot='external'> <driver name="tap" type="aio" cache="default"/> <source file='/var/lib/xen/images/fv0' startupPolicy='optional'> <seclabel relabel='no'/> </source> <target dev='hda' bus='ide'/> <iotune> <total_bytes_sec>10000000</total_bytes_sec> <read_iops_sec>400000</read_iops_sec> <write_iops_sec>100000</write_iops_sec> </iotune> <boot order='2'/> [...] </disk>
注記

AMD64 および Intel 64 のホストでは、ブート手順管理に <boot order='number'> を使用することが推奨されます。

vfio-ap
IBM Z ホストの VMは、vfio-ap 暗号デバイスパススルーを使用します。これは、その他のアーキテクチャーではサポートされていません。
SMBIOS
SMBIOS構成はIBM Zでは使用できません。
ウォッチドッグデバイス

IBM Z ホストの VM でウォッチドッグデバイスを使用する場合は、diag288 モデルを使用します。以下に例を示します。

<devices> <watchdog model='diag288' action='poweroff'/> </devices>
KVMクロック
kvm-clock サービスは、AMD64 システムおよび Intel 64 システムに固有のものであり、IBM Z の VM 時間管理用に構成する必要はありません。
v2vとp2v
virt-v2v ユーティリティーおよび virt-p2v ユーティリティーは、AMD64 および Intel 64 アーキテクチャでのみサポートされます。このため、それらはIBM Zでは提供されていません。

第5章 RHEL 8 Web コンソールを使用した仮想マシンの管理 (機械翻訳)

グラフィカルインターフェースで仮想マシンを管理するには、RHEL 8 web consoleVirtual Machines ペインを使用できます。

web console overview

以下のセクションでは、Web コンソールの仮想管理機能と、その使用方法を説明します。

5.1. RHEL 8 Web コンソールを使用した仮想マシンの管理 (機械翻訳)

RHEL 8 Web コンソールは、Web ベースのシステム管理インターフェースです。Webコンソールプラグインをインストールすると、Webコンソールを使用して、Webコンソールが接続できるサーバー上の仮想マシン(VM)を管理できます。Webコンソールが接続できるホストシステム上のVMをグラフィカルに表示し、システムリソースを監視して設定を簡単に調整できます。

仮想マシンの管理に RHEL 8 Web コンソールを使用すると以下を実行できます。

  • 仮想マシンの作成および削除
  • 仮想マシンにオペレーティングシステムのインストール
  • 仮想マシンの実行およびシャットダウン
  • 仮想マシンに関する情報の表示
  • 仮想マシンのディスクの作成およびアタッチ
  • 仮想マシンに仮想 CPU 設定の構成
  • 仮想ネットワークインターフェースの管理
  • VM コンソールを使用して仮想マシンと対話
注記

仮想マシンマネージャー (virt-manager) は、RHEL 8 ではサポートされていますが、非推奨になっています。RHEL 8 Webコンソールは、今後のリリースで代替される予定です。したがって、GUIで仮想化を管理するためのWebコンソールに慣れることをお勧めします。ただし、RHEL 8 では、一部の機能は、virt-manager またはコマンドラインのいずれか一方からしかアクセスできない場合があります。

5.2. 仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)

RHEL 8 Web コンソールを使用して仮想マシンを管理する前に、Web コンソールの仮想マシンプラグインをインストールしておく。

前提条件

  • Web コンソールがマシンにインストールされていることを確認してください。

    $ yum info cockpit
    Installed Packages
    Name         : cockpit
    [...]

    Web コンソールがインストールされていない場合、Web コンソールのインストールの詳細はManaging systems using the RHEL 8 web consoleを参照してください。

手順

  • cockpit-machines プラグインをインストールします。

    # yum install cockpit-machines

    インストールが成功したら仮想マシン Webコンソールのサイドメニューにが表示されます。

    cockpit vms info

5.3. RHEL 8 Web コンソールを使用した仮想マシンの作成と、ゲストのオペレーティングシステムのインストール (機械翻訳)

次のセクションでは、RHEL 8 Webコンソールを使用して仮想マシン(VM)を作成し、VMにオペレーティングシステムをインストールする方法について説明します。

5.3.1. RHEL 8 Web コンソールを使用した仮想マシンの作成 (機械翻訳)

に Webコンソールが接続されているホストマシン上にVMを作成し、以下の手順に従ってください。

前提条件
  • RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

    Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

  • 仮想マシンを作成する前に、ディスク領域、RAM、CPU など、仮想マシンに割り当てる必要があるシステムリソースのサイズを検討してください。推奨される値は、仮想マシンで行うタスクやワークロードにより大幅に異なる場合があります。
  • ローカルで利用可能なオペレーティングシステム (OS) のインストールソース。 次のいずれかになります。

    • インストールメディアの ISO イメージ
    • 既存のゲストインストールのディスクイメージ
手順
  1. をクリックします。VMを作成 RHEL 8 WebコンソールのVirtual Machinesインターフェースで。

    「Create New Virtual Machine」ダイアログが表示されます。

    cockpit create new vm
  2. 作成する仮想マシンの基本設定を入力します。

    • Connection - 仮想マシンが使用するホストへの接続
    • Name - 仮想マシンの名前
    • インストール元の種類 - インストールソースの種類:ファイルシステム、URL
    • Installation Source - インストールソースを示すパスまたは URL
    • OS Vendor - 仮想マシンのオペレーティングシステムのベンダー
    • Operating System - 仮想マシンのオペレーティングシステム
    • Memory - 仮想マシンを設定するメモリーの容量
    • Storage Size - 仮想マシンを設定するストレージ容量
    • Immediately Start VM - 仮想マシンの作成直後にそのマシンを開始するかどうか
  3. クリック 作成する.

    仮想マシンが作成されました。Immediately Start VM チェックボックスが選択されていると、仮想マシンがすぐに起動し、ゲスト OS のインストールを開始します。

仮想マシンを最初に実行したときにオペレーティングシステムをインストールしておく。

関連資料

5.3.2. RHEL 8 Web コンソールを使用したオペレーティングシステムのインストール (機械翻訳)

仮想マシンが最初にロードするときに、仮想マシンにオペレーティングシステムをインストールしておく。

前提条件
  • RHEL 8 Web コンソールを使用して仮想マシンを管理する前に、Web コンソールの仮想マシンプラグインをインストールしておく。

    Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

  • オペレーティングシステムをインストールする仮想マシン。
手順
  • クリック Install.
    仮想マシンコンソールで、オペレーティングシステムのインストールルーチンが実行します。
注記

Create New Virtual Machine ダイアログの Immediately Start VM チェックボックスにチェックマークを入れると、仮想マシンの作成時にオペレーティングシステムのインストールルーチンが自動的に起動します。

注記

インストールルーチンが失敗した場合は、仮想マシンを削除し、再作成する必要があります。

5.4. RHEL 8 Web コンソールを使用した仮想マシンの削除 (機械翻訳)

RHEL 8 Webコンソールが接続されているホストから仮想マシンとその関連ストレージファイルを削除できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

  1. ​RHEL 8 Web コンソールの仮想マシンインターフェースで、削除する仮想マシンの名前をクリックします。

    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。

    cockpit 1 vm info
  2. クリック 削除する.
    確認ダイアログが表示されます。

    cockpit vm delete confirm
  3. (オプション)仮想マシンに関連付けられているストレージファイルの全部または一部を削除するには、削除するストレージファイルの横にあるチェックボックスをオンにします。
  4. クリック 削除する.
    仮想マシンと、選択した関連ストレージファイルが削除されます。

5.5. RHEL 8 Webコンソールを使用した仮想マシンの起動および停止 (機械翻訳)

RHEL 8 Webコンソールを使用すると、次のことができます。 run, 、shut down, 、そして restart 仮想マシンまたは、応答しない仮想マシンにマスクできない割り込みを送ることができます。

5.5.1. RHEL 8 Web コンソールを使用した仮想マシンの起動 (機械翻訳)

仮想マシンが shut off 状態にある場合は、RHEL 8 Web コンソールを使用して起動できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. 起動したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック 実行します。.
    仮想マシンが起動します。
関連資料

5.5.2. RHEL 8 Web コンソールを使用した仮想マシンの停止 (機械翻訳)

仮想マシンが 稼働 状態であれば、RHEL 8 Web コンソールを使用してシャットダウンできます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. シャットダウンしたい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック シャットダウン.
    仮想マシンがシャットダウンします。
注記

仮想マシンがシャットダウンしない場合は、仮想マシンの横にある矢印をクリックしてください。 シャットダウン ボタンを押して選択 強制終了.

関連資料

5.5.3. RHEL 8 Web コンソールを使用した仮想マシンの再起動 (機械翻訳)

仮想マシンが 稼働 状態であれば、RHEL 8 Web コンソールを使用して再起動できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. 再起動する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック Restart.
    仮想マシンがシャットダウンし、再起動します。
注記

仮想マシンが再起動しない場合は、仮想マシンの横にある矢印をクリックしてください。 Restart ボタンを押して選択 強制再起動.

関連資料

5.5.4. RHEL 8 Web コンソールを使用してマスク不可能な割り込みを仮想マシンに送信 (機械翻訳)

NMI (Non-Maskable Interrupt) を送信すると、応答しない稼働中の仮想マシンが応答またはシャットダウンする可能性があります。例えば、あなたは Ctrl+Alt+デル 応答しないVMへのNMI。

前提条件

RHEL 8 Web コンソールを使用して仮想マシンを管理する前に、Web コンソールの仮想マシンプラグインをインストールしておく。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. NMIを送信したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. の横にある矢印をクリックします。 シャットダウン ボタンを押して選択 マスク不可能割り込みを送信.
    MNI が仮想マシンに送信されます。
関連資料

5.6. RHEL 8 Web コンソールを使用した仮想マシン情報の表示 (機械翻訳)

RHEL 8 Web コンソールを使用して、Web コンソールが接続する仮想ストレージおよび仮想マシンに関する情報を表示できます。

5.6.1. 見ている ​RHEL 8 Webコンソールでの仮想化の概要 (機械翻訳)

ここでは、利用可能な仮想ストレージと、Web コンソールセッションの接続先である仮想マシンの概要を表示する方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

利用可能なストレージと、Web コンソールの接続先である仮想マシンの情報を表示するには、以下を行います。

  • クリック 仮想マシン Webコンソールのサイドメニューにあります。
    利用可能な方法と、Web コンソールセッションが接続する仮想マシンに関する情報が表示されます。
cockpit vms info

この情報には以下が含まれます。

  • Storage Pools - Web コンソールからアクセスできるストレージプールの数とそのステータス
  • Networks - Web コンソールからアクセスできるネットワークの数とそのステータス
  • Name - 仮想マシンの名前
  • Connection - libvirt 接続、システム、またはセッションの種類
  • State - 仮想マシンの状態
関連資料

5.6.2. RHEL 8 Web コンソールを使用してストレージプール情報の表示 (機械翻訳)

ここでは、Web コンソールセッションがアクセスするストレージプールの詳細なストレージプールの情報を表示する方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

ストレージプール情報を表示するには、以下のコマンドを実行します。

  1. クリック ストレージプール [仮想マシン]タブの上部にあります。Storage Pools ウィンドウが表示され、設定されているストレージプールの一覧が示されます。

    web console storage pools window

    この情報には以下が含まれます。

    • Name - ストレージプールの名前
    • Size - ストレージプールのサイズ
    • Connection - ストレージプールのアクセスに使用される接続
    • State - ストレージプールのステータス
  2. 情報を表示するストレージ whose 情報の名前がある行をクリックします。

    行が展開され、選択したストレージプールに関する次の情報を含む Overview ペインが表示されます。

    • Path - ストレージプールのパス
    • Persistent - ストレージプールが永続的かどうか
    • Autostart - ストレージプールが自動的に起動するかどうか
    • Type - ストレージプールの種類
    web console storage pool overview
  3. ストレージプールから作成されたストレージボリュームのリストを表示するには、をクリックします。 ストレージボリューム.

    Storage Volumes ペインが表示され、設定されているストレージボリュームと、そのサイズ、使用量の一覧が示されます。

    web console storage pool storage volumes
関連資料

5.6.3. RHEL 8 Web コンソールを使用した仮想マシン基本情報の表示 (機械翻訳)

ここでは、Web コンソールセッションの接続先である選択された仮想マシンの基本情報を表示する方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

選択した仮想マシンに関する基本情報を表示します。

  • 情報を表示したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
注記

別のタブが選択されている場合は、をクリックしてください。 概要.

cockpit basic vm info

この情報には以下が含まれます。

  • Memory - 仮想マシンに割り当てるメモリー容量
  • Emulated Machine - 仮想マシンによってエミュレートされたマシンタイプ
  • vCPU - 仮想マシンに設定された仮想 CPU の数

    注記

    より詳細な仮想 CPU 情報を取得したり、仮想マシンに設定された仮想 CPU を設定する場合は、「RHEL 8 Web コンソールを使用した仮想 CPU の管理 (機械翻訳)」 を参照してください。

  • Boot Order - 仮想マシンに設定されたブート順序
  • CPU Type - 仮想マシンに設定された仮想 CPU のアーキテクチャー
  • Autostart - 仮想マシンで自動起動が有効になっているかどうか
関連資料

5.6.4. RHEL 8 Web コンソールを使用した仮想マシンのリソース使用状況の表示 (機械翻訳)

ここでは、Web コンソールセッションの接続先である選択された仮想マシンのリソース使用情報を表示する方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

選択した仮想マシンのメモリーおよび仮想 CPU の使用状況に関する情報を表示します。

  1. 情報を表示したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック 使用法.
    Usage ペインが表示され、仮想マシンのメモリーおよび仮想 CPU の使用状況に関する情報が表示されます。
cockpit resource usage
関連資料

5.6.5. RHEL 8 Web コンソールを使用した仮想マシンディスク情報の表示 (機械翻訳)

ここでは、Web コンソールセッションが接続する仮想マシンのディスク状況を表示する方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

選択した仮想マシンに関する情報を表示します。

  1. 情報を表示したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ディスク.
    Disks ペインが表示され、仮想マシンに割り当てられたディスクに関する情報が表示されます。
cockpit disk info

この情報には以下が含まれます。

  • Device - ディスクのデバイスタイプ
  • Target - ディスクのコントローラータイプ
  • Used - 使用中のディスク容量
  • Capacity - ディスクのサイズ
  • Bus - ディスクのバスタイプ
  • Readonly - ディスクが読み取り専用であるかどうか
  • Source - ディスクデバイスまたはファイル
関連資料

5.6.6. RHEL 8 Web コンソールを使用した仮想 NIC 情報の表示 (機械翻訳)

ここでは、選択した仮想マシンで、仮想ネットワークインターフェースカード (vNIC) に関する情報を表示する方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

選択した仮想マシンで、仮想ネットワークインターフェースカード (NIC) に関する情報を表示します。

  1. 情報を表示したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ネットワーク.
    Networks ペインが表示され、仮想マシンに設定された仮想 NIC に関する情報が表示されます。

    cockpit vNIC info

    この情報には以下が含まれます。

    • Type - 仮想マシンのネットワークインターフェースの種類。これにはダイレクト、ネットワーク、ブリッジ、イーサネット、hostdev、mcast、ユーザー、およびサーバーが含まれます。
    • Model type - 仮想 NIC のモデル
    • MAC Address - 仮想 NIC の MAC アドレス
    • Source - ネットワークインターフェースのソース。これはネットワークの種類によって異なります。
    • State - 仮想 NIC の状態
  3. 仮想ネットワーク設定を編集するには、をクリックします。 編集する.仮想ネットワークインターフェース設定が表示されます。

    web console virtual network if settings
  4. ネットワークの種類とモデルを変更します。
  5. クリック 保存する.ネットワークインターフェースが変更しました。

    注記

    仮想マシンの実行中に行った仮想ネットワークインターフェース設定の変更は、仮想マシンが停止および再起動しないと反映されません。

関連資料

5.7. RHEL 8 Web コンソールを使用した仮想 CPU の管理 (機械翻訳)

RHEL 8 Web コンソールを使用して、Web コンソールが接続する仮想マシンに設定された仮想 CPU を管理できます。仮想マシンに関する情報を表示できます。また、仮想マシンの仮想 CPU も設定できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

  1. 仮想CPUパラメータを表示および構成する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。 このペインには、仮想 CPU の数などの選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を実行できます。
  2. 概要ペインでvCPUの数をクリックします。
    vCPU Details ダイアログが表示されます。

    cockpit configure vCPUs

    注記

    vCPU Details ダイアログの警告は、仮想 CPU 設定が変更しないと表示されません。

  3. 選択した仮想マシンの仮想 CPU を設定します。

    • vCPU Count - 仮想マシンの仮想 CPU の数を入力します。

      注記

      vCPU Count は、vCPU Maximum 以下にする必要があります。

    • vCPU Maximum - 仮想マシンに設定できる仮想 CPU の最大数を入力します。
    • Sockets - 仮想マシンに公開するソケットの数を選択します。
    • Cores per socket - 仮想マシンに公開する各ソケットのコア数を選択します。
    • Threads per core - 仮想マシンに公開する各コアのスレッド数を選択します。
  4. クリック 適用する.

    仮想マシンの仮想 CPU が設定されます。

    注記

    仮想マシンの実行中に行った仮想 CPU 設定の変更は、仮想マシンを停止して再起動しないと反映されません。

5.8. RHEL 8 Web コンソールを使用した仮想マシンディスクの管理 (機械翻訳)

RHEL 8 Web コンソールを使用して、Web コンソールが接続する仮想マシンに設定されたディスクを管理できます。

以下を行うことができます。

5.8.1. RHEL 8 Web コンソールを使用した仮想マシンディスク情報の表示 (機械翻訳)

ここでは、Web コンソールセッションが接続する仮想マシンのディスク状況を表示する方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

選択した仮想マシンに関する情報を表示します。

  1. 情報を表示したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ディスク.
    Disks ペインが表示され、仮想マシンに割り当てられたディスクに関する情報が表示されます。
cockpit disk info

この情報には以下が含まれます。

  • Device - ディスクのデバイスタイプ
  • Target - ディスクのコントローラータイプ
  • Used - 使用中のディスク容量
  • Capacity - ディスクのサイズ
  • Bus - ディスクのバスタイプ
  • Readonly - ディスクが読み取り専用であるかどうか
  • Source - ディスクデバイスまたはファイル
関連資料

5.8.2. RHEL 8 Web コンソールを使用して新しいディスクを仮想マシンに追加 (機械翻訳)

新しいディスクを仮想マシンに追加するには、RHEL 8 Web コンソールを使用して、新しいディスク (ストレージプール) を作成し、仮想マシンにアタッチします。

注記

RHEL 8 Web コンソールを使用して仮想マシンに新しいディスクを作成する場合は、ディレクトリータイプのストレージプールのみを使用できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. 作成する仮想マシンの名前の行をクリックして、新しいディスクを接続します。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ディスク.
    Disks ペインが表示され、仮想マシンに設定されたディスクに関する情報が表示されます。

    cockpit disk info

  3. クリック ディスクを追加.

    ディスクの追加ダイアログが表示されます。 cockpit add disk

  4. 必ず Create New オプションボタンが選択されるようにしてください。
  5. 新しいディスクを設定します。

    • Pool - 仮想ディスクの作成元であるストレージプールを選択します。
    • Target - 作成される仮想ディスクのターゲットを選択します。
    • Name - 作成される仮想ディスクの名前を入力します。
    • Size - 作成される仮想ディスクのサイズを入力し、単位 (MiB または GiB)を選択します。
    • Format - 作成される仮想ディスクの形式を選択します。サポートされる種類は qcow2 と raw です。
    • Persistence - 仮想ディスクが永続化されるかどうか。チェックマークを入れると仮想ディスクは永続化されます。チェックマークを入れないと仮想ディスクは永続化されません。

      注記

      一時的なデバイスは、稼働中の仮想マシンにのみ追加できます。

  6. クリック 追加する.

    仮想ディスクが作成され、仮想マシンに接続されます。

関連資料

5.8.3. RHEL 8 Web コンソールを使用した既存ディスクの仮想マシンへのアタッチ (機械翻訳)

ここでは、RHEL 8 Web コンソールを使用して既存のディスクを仮想マシンにアタッチする方法を説明します。

注記

RHEL 8 Web コンソールを使用するとディレクトリータイプのストレージプールのみを仮想マシンにアタッチできます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. 既存のディスクを接続する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ディスク.
    Disks ペインが表示され、仮想マシンに設定されたディスクに関する情報が表示されます。

    cockpit disk info

  3. クリック ディスクを追加.
    ディスクの追加ダイアログが表示されます。 cockpit add disk
  4. 既存の使用 オプションボタンをクリックします。
    適切な設定フィールドが[ディスクの追加]ダイアログに表示されます。 cockpit attach disk
  5. 仮想マシンのディスクを設定します。

    • Pool - 仮想ディスクがアタッチされるストレージプールを選択します。
    • Target - アタッチされる仮想ディスクのターゲットを選択します。
    • Volume - アタッチされるストレージボリュームを選択します。
    • Persistence - 仮想ディスクを永続的にする場合はチェックマークを入れます。仮想ディスクを一時的にする場合はチェックマークを外します。
  6. クリック 追加する

    選択した仮想ディスクは仮想マシンにアタッチされます。

関連資料

5.8.4. 仮想マシンからのディスクのデタッチ (機械翻訳)

ここでは、RHEL 8 Web コンソールを使用して仮想マシンからディスクをデタッチする方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. 既存のディスクを切り離したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ディスク.
    Disks ペインが表示され、仮想マシンに設定されたディスクに関する情報が表示されます。

    cockpit disk info

  3. クリック icon detach disk 仮想マシンから切り離すディスクの横にあります。

    仮想マシンから仮想ディスクがデタッチされます。

注意

仮想マシンからディスクをデタッチする前に確認は行われません。

関連資料

5.9. RHEL 8 Web コンソールを使用した仮想マシン v NIC の管理 (機械翻訳)

RHEL 8 Web コンソールを使用して、Web コンソールが接続する仮想マシンに設定された仮想ネットワークインターフェースカード (vNIC) を管理できます。vNIC に関する情報を表示できます。また、仮想マシンへ vNIC を接続したり、接続を切断することも可能です。

5.9.1. RHEL 8 Web コンソールを使用した仮想 NIC 情報の表示 (機械翻訳)

ここでは、選択した仮想マシンで、仮想ネットワークインターフェースカード (vNIC) に関する情報を表示する方法を説明します。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

選択した仮想マシンで、仮想ネットワークインターフェースカード (NIC) に関する情報を表示します。

  1. 情報を表示したい仮想マシンの名前の行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ネットワーク.
    Networks ペインが表示され、仮想マシンに設定された仮想 NIC に関する情報が表示されます。

    cockpit vNIC info

    この情報には以下が含まれます。

    • Type - 仮想マシンのネットワークインターフェースの種類。これにはダイレクト、ネットワーク、ブリッジ、イーサネット、hostdev、mcast、ユーザー、およびサーバーが含まれます。
    • Model type - 仮想 NIC のモデル
    • MAC Address - 仮想 NIC の MAC アドレス
    • Source - ネットワークインターフェースのソース。これはネットワークの種類によって異なります。
    • State - 仮想 NIC の状態
  3. 仮想ネットワーク設定を編集するには、をクリックします。 編集する.仮想ネットワークインターフェース設定が表示されます。

    web console virtual network if settings
  4. ネットワークの種類とモデルを変更します。
  5. クリック 保存する.ネットワークインターフェースが変更しました。

    注記

    仮想マシンの実行中に行った仮想ネットワークインターフェース設定の変更は、仮想マシンが停止および再起動しないと反映されません。

関連資料

5.9.2. RHEL 8 Web コンソールを使用した仮想 NIC の接続 (機械翻訳)

RHEL 8 Web コンソールを使用して、選択した仮想マシンに設定された仮想ネットワークインターフェースカード (NIC) の接続を解除したものを、再接続できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. 仮想NICを接続する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ネットワーク.
    Networks ペインが表示され、仮想マシンに設定された仮想 NIC に関する情報が表示されます。

    cockpit vNIC plug

  3. クリック プラグ 接続したい仮想NICの行に。
    選択した仮想 NIC が仮想マシンに接続します。

5.9.3. RHEL 8 Web コンソールを使用した仮想 NIC の接続解除 (機械翻訳)

RHEL 8 Web コンソールを使用して、選択した仮想マシンに接続した仮想ネットワークインターフェースカード (NIC) の接続を解除できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. 仮想NICを切断する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック ネットワーク.
    Networks ペインが表示され、仮想マシンに設定された仮想 NIC に関する情報が表示されます。

    cockpit vNIC disconnect
  3. クリック 抜く 切断したい仮想NICの行にあります。
    選択した仮想 NIC の仮想マシンへの接続が解除されます。

5.10. RHEL 8 Web コンソールを使用した仮想マシンとの対話 (機械翻訳)

RHEL 8 Web で仮想マシンと対話するには、仮想マシンのコンソールに接続する必要があります。RHEL 8 Web コンソールを使用して、仮想マシンのコンソールを表示できます。グラフィカルコンソールおよびシリアルコンソールの両方が含まれます。

5.10.1. THEL 8 Web コンソールを使用した仮想マシングラフィカルコンソールの表示 (機械翻訳)

RHEL 8 Web コンソールで、選択した仮想マシンのグラフィカルコンソールを表示できます。仮想マシンコンソールには仮想マシンのグラフィカル出力が表示されます。

前提条件
  • RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

    Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

  • ホストおよび仮想マシンの両方が、グラフィカルインターフェースに対応している。
手順
  1. グラフィカルコンソールを表示する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック コンソール.
    グラフィカルコンソールが Web インターフェースに表示されます。
cockpit graphical console in cockpit

実際のマシンと同じように、マウスとキーボードを使用して仮想マシンコンソールと対話することができます。仮想マシンコンソールには、仮想マシンで実行されているアクティビティーが表示されます。

注記

RHEL 8 Webコンソールが実行されているサーバーは、次のような特定のキーの組み合わせを傍受することができます。 Ctrl+Alt+F1仮想マシンに送信されないようにします。

このようなキーの組み合わせを送信するには、 送信キー メニューを選択して送信するキーシーケンスを選択します。

例えば、 Ctrl+Alt+F1 仮想マシンへの組み合わせをクリックします。 送信キー メニューを選択して Ctrl + Alt + F1 メニュー項目

関連資料

5.10.2. RHEL 8 Web コンソールを使用したリモートビューアーでの仮想マシンコンソールの表示 (機械翻訳)

仮想マシンのコンソールをリモートビューアーで表示できます。接続は、Web コンソールまたは手動で確立できます。

5.10.2.1. リモートビューアーでのグラフィカルコンソールの表示 (機械翻訳)

リモートビューアーで、選択した仮想マシンのグラフィカルコンソールを表示できます。仮想マシンコンソールには仮想マシンのグラフィカル出力が表示されます。

注記

RHEL 8 Web コンソール内から Virt Viewer を起動できます。その他の VNC および SPICE リモートビューアーは手動で起動できます。

前提条件
  • RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

    Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

  • ホストおよび仮想マシンの両方が、グラフィカルインターフェースに対応している。
  • Virt Viewer でグラフィカルコンソールを表示する前に、Web コンソールが接続されるマシンに Virt Viewer がインストールされている。

    Virt Viewerのインストールに関する情報を表示するには、 Desktop Viewerのグラフィックコンソール コンソールタイプ、およびコンソールウィンドウで More Information をクリックします。

    cockpit install vv info
注記

ブラウザーの拡張機能やプラグインによっては、Web コンソールで Virt Viewer を開けないことがあります。

手順
  1. グラフィカルコンソールを表示する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック コンソール.
    グラフィカルコンソールが Web インターフェースに表示されます。
  3. を選択 Desktop Viewerのグラフィックコンソール コンソールの種類

    cockpit launch graphical console in vv
  4. クリック リモートビューアを起動する.
    グラフィカルコンソールが Virt Viewer に表示されます。

    VM in remote viewer

実際のマシンと同じように、マウスとキーボードを使用して仮想マシンコンソールと対話することができます。仮想マシンコンソールには、仮想マシンで実行されているアクティビティーが表示されます。

注記

RHEL 8 Webコンソールが実行されているサーバーは、次のような特定のキーの組み合わせを傍受することができます。 Ctrl+Alt+F1仮想マシンに送信されないようにします。

このようなキーの組み合わせを送信するには、 送信キー メニューを選択して送信するキーシーケンスを選択します。

例えば、 Ctrl+Alt+F1 仮想マシンへの組み合わせをクリックします。 送信キー メニューを選択して Ctrl + Alt + F1 メニュー項目

関連資料

5.10.2.2. 手動接続するリモートビューアーでのグラフィカルコンソールの表示 (機械翻訳)

リモートビューアーで、選択した仮想マシンのグラフィカルコンソールを表示できます。仮想マシンコンソールには仮想マシンのグラフィカル出力が表示されます。

Web インターフェースは、仮想マシンコンソールの表示するために SPICE または VNC ビューアーの起動に必要な情報を提供します。

前提条件
  • RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

    Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

  • リモートビューアーにグラフィカルコンソールを表示する前に、Web コンソールが接続しているマシンに、SPICE または VNC ビューアーアプリケーションがインストールされている。

    Virt Viewerのインストールに関する情報を表示するには、 Desktop Viewerのグラフィックコンソール コンソールタイプ、およびコンソールウィンドウで More Information をクリックします。

    cockpit install vv info
手順

SPICE または VNC ビューアーアプリケーションで仮想マシンのグラフィカルコンソールを表示できます。

  1. グラフィカルコンソールを表示する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック コンソール.
    グラフィカルコンソールが Web インターフェースに表示されます。
  3. を選択 Desktop Viewerのグラフィックコンソール コンソールの種類
    以下の Manual Connection (手動接続) 情報がペインの右側に表示されます。

    cockpit manual viewer info
  4. SPICE または VNC ビューアーに情報を入力します。

詳細は、SPICE または VNC ビューアーのドキュメントを参照してください。

関連資料

5.10.3. RHEL 8 Web コンソールを使用した仮想マシンシリアルコンソールの表示 (機械翻訳)

RHEL 8 Web コンソールで、選択した仮想マシンのシリアルコンソールを表示できます。これは、グラフィカルインターフェースでホストマシンまたは仮想マシンを設定していない場合に便利です。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順
  1. シリアルコンソールを表示する仮想マシンの名前を含む行をクリックします。
    行が展開され、Overview ペインが表示されます。このペインには選択した仮想マシンの基本情報が含まれ、仮想マシンのシャットダウンおよび削除を制御できます。
  2. クリック コンソール.
    グラフィカルコンソールが Web インターフェースに表示されます。
  3. を選択 シリアルコンソール コンソールの種類
    シリアルコンソールが Web インターフェースに表示されます。

    cockpit serial console in cockpit

仮想マシンからシリアルコンソールへの接続を切断および再確立できます。

  • シリアルコンソールを仮想マシンから切断するには、をクリックします。 切断する.
  • シリアルコンソールを仮想マシンに再接続するには、 再接続.
関連資料

5.11. RHEL 8 Web コンソールを使用したストレージプールの作成 (機械翻訳)

RHEL 8 Web コンソールを使用してストレージプールを作成できます。

前提条件

RHEL 8 Webコンソールを使用して仮想マシンを管理できるようにするには、Webコンソール仮想マシンプラグインをインストールする必要があります。

Web コンソールのプラグインがインストールされていない場合は、「仮想マシンを管理するために RHEL 8 Web コンソールの設定 (機械翻訳)」 で、Web コンソールの仮想マシンプラグインのインストールに関する詳細を確認してください。

手順

  1. クリック ストレージプール [仮想マシン]タブの上部にあります。Storage Pools ウィンドウが表示され、設定されているストレージプールの一覧が示されます。

    web console storage pools window
  2. クリック ストレージプールを作成する.Create Storage Pool ダイアログボックスが表示されます。

    cockpit create storage pool
  3. Create Storage Pool ダイアログに、次の情報を入力します。

    • Connection - ストレージプールが使用するホストへの接続
    • Name - ストレージプールの名前
    • タイプ - ストレージプールの種類:ファイルシステムディレクトリ、ネットワークファイルシステム
    • Target Path - ホストのファイルシステム上のストレージプールのパス
    • Startup - ホストの起動時にストレージプールが起動するかどうか
  4. クリック 作成する.ストレージプールが作成され、Create Storage Pool ダイアログが閉じて、新しいストレージプールがストレージプールの一覧に表示されます。

第6章 仮想デバイスの管理 (機械翻訳)

仮想マシン (VM) の機能、特徴、およびパフォーマンスを管理する最も効果的な方法の 1 つは、仮想デバイス を調整することです。

以下のセクションでは、仮想デバイスの general overview、およびそれらが仮想マシンからどのように attachedmodifiedremoved できるかを説明します。

6.1. 仮想デバイスの仕組み (機械翻訳)

基礎

物理マシンと同様に、仮想マシン(VM)には、処理能力、メモリ、ストレージ、ネットワーク、グラフィックなどの機能をシステムに提供するための専用のデバイスが必要です。物理システムは通常、これらの目的にハードウェアデバイスを使用します。ただし、VM はソフトウェア実装として機能するため、そのようなデバイスのソフトウェア抽象化を代わりに使用する必要があります。これは、仮想デバイス と呼ばれています。

creating the VMの場合に、仮想マシンに接続されている仮想デバイスは設定できますが、既存の仮想マシンでも管理できます。通常、VMに接続されている仮想デバイスは、VMがシャットダウンされているときにのみ構成できますが、VMの実行中に追加または削除できるものもあります。この機能は、デバイスの ホットプラグ および ホットアンプラグ とも呼ばれています。

新しい仮想マシンを作成すると、特に指定しない限り、libvirt は、必須の仮想デバイスのデフォルトセットを自動的に作成して構成します。これらはホストシステムのアーキテクチャとマシンの種類に基づいており、通常は次のものが含まれます。

  • CPU
  • 記憶
  • キーボード
  • ネットワークインタフェースコントローラ(NIC)
  • 各種デバイスコントローラ
  • ビデオカード
  • サウンドカード

VMの作成後に仮想デバイスを管理するには、コマンドラインインターフェイス(CLI)を使用します。ただし、virtual storage devices および NICs を管理するには、RHEL 8 Web コンソールを使用できます。

性能または柔軟性

一部の種類のデバイスでは、RHEL 8は複数の実装をサポートしますが、パフォーマンスと柔軟性の間にはトレードオフがあります。

たとえば、仮想ディスクに使用される物理ストレージは、qcow2raw などのさまざまな形式のファイルで表すことができ、さまざまなコントローラー (エミュレートコントローラー、virtio-scsi、 または virtio-blk) を使用して仮想マシンに提示されます。

エミュレートされたコントローラは、virtio デバイスは、仮想化を目的として特別に設計されているため、virtio コントローラーよりも遅くなります。一方、エミュレートされたコントローラは、virtio デバイスに対するドライバーがないオペレーティングシステムを実行するのを可能にします。同様に virtio-scsi SCSIコマンドをより完全にサポートし、より多くのディスクを仮想マシンに接続することを可能にします。最後に、virtio-blk は、virtio-scsi とエミュレートされたコントローラーよりも良いパフォーマンスを提供しますが、ユースケースは範囲がより限定されます。

仮想デバイスの種類の詳細は、「仮想デバイスの種類 (機械翻訳)」を参照してください。

関連資料

6.2. 仮想マシンへのデバイスの接続 (機械翻訳)

以下は、コマンドラインインターフェイス(CLI)を使用して仮想デバイスを作成して仮想マシン(VM)に接続するための一般的な情報です。一部のデバイスはVMに接続することもできます using the RHEL 8 web console

前提条件

  • VMに接続する予定のデバイスに必要なオプションを取得します。特定のデバイスで利用可能なオプションを確認するには、virt-xml --device=? コマンドを使用します。以下に例を示します。

    # virt-xml --network=?
    --network options:
    [...]
    address.unit
    boot_order
    clearxml
    driver_name
    [...]

手順

  1. デバイスを仮想マシンに接続するには、デバイスと必要なオプションの定義を含む virt-xml --add-device コマンドを使用します。

    • たとえば、以下は、/var/lib/libvirt/images/ディレクトリーに、20GB の newdisk qcow2 ディスクイメージを作成し、可能マシンの次回の起動時に、それを仮想マシンとして、実行中の testguest VM に接続します。

      # virt-xml testguest --add-device --disk /var/lib/libvirt/images/newdisk.qcow2,format=qcow2,size=20
      Domain 'testguest' defined successfully.
      Changes will take effect after the domain is fully powered off.
    • 以下は、仮想マシンの稼働時に、ホストでバス 002 のデバイス 004 として、testguest2 仮想マシンに接続した USB フラッシュドライブを接続します。

      # virt-xml testguest2 --add-device --update --hostdev 002.004
      Device hotplug successful.
      Domain 'testguest2' defined successfully.

      USB を定義するバスとデバイスの組み合わせは、lsusb コマンドを使用して取得できます。

  2. [オプション] 次のいずれかを実行して、デバイスが追加されたことを確認します。

    • virsh dumpxml コマンドを実行し、デバイスの XML 定義が、仮想マシンの XML 設定の <devices> セクションに追加されました。
    • VMを実行して、デバイスが存在し、正しく機能しているかどうかをテストします。

      たとえば、以下は、testguest 仮想マシンの設定を表示し、002.004 USB フラッシュディスクドライブが追加されていることを確認します。

      # virsh dumpxml testguest
      [...]
      <hostdev mode='subsystem' type='usb' managed='yes'>
        <source>
          <vendor id='0x4146'/>
          <product id='0x902e'/>
          <address bus='2' device='4'/>
        </source>
        <alias name='hostdev0'/>
        <address type='usb' bus='0' port='3'/>
      </hostdev>
      [...]

関連資料

  • virt-xml コマンドの詳細は、man virt-xmlを使用します。

6.3. 仮想マシンに接続されているデバイスの変更 (機械翻訳)

以下は、コマンド行インターフェース(CLI)を使用して仮想装置を変更するための一般情報を提供します。ディスクや NIC など、仮想マシンに接続されている一部のディスクは、using the RHEL 8 web console で修正できます。

前提条件

  • VMに接続する予定のデバイスに必要なオプションを取得します。特定のデバイスで利用可能なオプションを確認するには、virt-xml --device=? コマンドを使用します。以下に例を示します。
# virt-xml --network=?
--network options:
[...]
address.unit
boot_order
clearxml
driver_name
[...]
  • [オプション] virsh dumpxml vm-nameを使用し、ファイルに出力を送ることで、仮想マシンの XML 構成をバックアップします。たとえば、以下は、Motoko 仮想マシンの設定を motoko.xml ファイルとしてバックアップします。
# virsh dumpxml Motoko > motoko.xml
# cat motoko.xml
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Motoko</name>
  <uuid>ede29304-fe0c-4ca4-abcd-d246481acd18</uuid>
  [...]
</domain>

手順

  1. デバイスの定義と必要なオプションを追加して、virt-xml --edit コマンドを使用します。

    For example, the following clears the <cpu> configuration of the shut-off testguest VM and sets it to host-model: たとえば、次のようにすると、testguest 仮想マシンのシャットオフの <cpu> 設定を削除し、host-model に設定します。

    # virt-xml testguest --edit --cpu host-model,clearxml=yes
    Domain 'testguest' defined successfully.
  2. [オプション] 次のいずれかを実行して、デバイスが変更されたことを確認します。

    • VMを実行して、デバイスが存在し、変更内容を反映しているかどうかをテストします。
    • virsh dumpxml コマンドを使用して、デバイスの XML 定義が VM の XML 構成で変更されているかどうかを確認してください。

      たとえば、次のように、testguest 仮想マシンの設定を表示し、CPU モードが host-model として設定されていることを確認します。

      # virsh dumpxml testguest
      [...]
      <cpu mode='host-model' check='partial'>
        <model fallback='allow'/>
      </cpu>
      [...]
  3. [オプション] デバイスを変更したために VM が起動できなくなった場合は、virsh define ユーティリティーを使用して、以前にバックアップを作成した XML 設定ファイルを再ロードして XML 設定を復元します。

    # virsh define testguest.xml
注記

VM の XML 構成に直接小さな変更を加える場合は、virsh edit コマンド (virsh edit testguest など) も使用できます。ただし、VMの起動を妨げるような方法で設定が中断される可能性が高いため、この方法をより広範な変更に使用しないでください。

関連資料

  • virt-xml コマンドの使用は、man virt-xmlを使用します。

6.4. 仮想マシンからデバイスを削除する (機械翻訳)

以下は、コマンドラインインターフェイス(CLI)を使用して仮想マシン(VM)から仮想デバイスを削除するための一般的な情報です。using the RHEL 8 web console、ディスクや NIC などの一部のデバイスも仮想マシンから削除できます。

前提条件

  • [オプション] virsh dumpxml vm-nameを使用し、ファイルに出力を送ることで、仮想マシンの XML 構成をバックアップします。たとえば、以下は、Motoko 仮想マシンの設定を motoko.xml ファイルとしてバックアップします。
# virsh dumpxml Motoko > motoko.xml
# cat motoko.xml
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Motoko</name>
  <uuid>ede29304-fe0c-4ca4-abcd-d246481acd18</uuid>
  [...]
</domain>

手順

  1. デバイスの定義を付けて、virt-xml --remove-device コマンドを使用します。以下に例を示します。

    • 以下は、シャットダウン後に、稼働中の testguest 仮想マシンから vdb としてマークされているストレージデバイスを削除します。

      # virt-xml testguest --remove-device --disk target=vdb
      Domain 'testguest' defined successfully.
      Changes will take effect after the domain is fully powered off.
    • 次は、稼働中の testguest2 VM からすぐに USB フラッシュドライブデバイスを削除します。

      # virt-xml testguest2 --remove-device --update --hostdev type=usb
      Device hotunplug successful.
      Domain '7.4-workstation' defined successfully.
  2. [オプション] デバイスを取り外すとVMが起動できなくなる場合は、virsh define ユーティリティーを使用して、以前にバックアップした XML 設定ファイルを再ロードして XML 設定を復元します。

    # virsh define testguest.xml

関連資料

  • virt-xml コマンドの使用は、man virt-xmlを使用します。

6.5. 仮想デバイスの種類 (機械翻訳)

RHEL 8での仮想化は、仮想マシン(VM)に対して3つの異なるタイプの仮想デバイスを提示できます。

エミュレートデバイス

エミュレートデバイスは、広く使用されている物理デバイスのソフトウェア実装です。物理デバイスと対話するように設計された標準のデバイスドライバは、エミュレートされたデバイスと同じように動作します。したがって、エミュレートされたデバイスは特定のドライバを必要としません。そのため、エミュレートされたデバイスは非常に柔軟に使用できます。

ただし、特定の種類のハードウェアを忠実にエミュレートする必要があるため、エミュレートされたデバイスは、対応する物理デバイスまたはより最適化された仮想デバイスと比較して、パフォーマンスが大幅に低下する可能性があります。

以下のタイプのエミュレート装置がサポートされています。

  • 仮想CPU(vCPU)、多数のCPUモデルが利用可能です。エミュレーションのパフォーマンスへの影響は、ホストCPUとエミュレートされたvCPUの違いによって大きく異なります。
  • PCIバスコントローラなどのエミュレートされたシステムコンポーネント
  • SATA、SCSI、さらにはIDEなどのエミュレートされたストレージコントローラ
  • ICH9、ICH6、AC97などのエミュレートサウンドデバイス
  • VGAやQXLカードなどのエミュレートグラフィックカード
  • rtl8139などのエミュレートされたネットワークデバイス
準仮想化デバイス

準仮想化は、仮想デバイスをVMに公開するための高速で効率的な方法を提供します。準仮想化デバイスは、仮想マシンで使用するために特別に設計されたインターフェイスを公開しているため、デバイスのパフォーマンスが大幅に向上します。RHEL 8 は、virtio API を、ハイパーバイザーと仮想マシン間のレイヤーとして、仮想マシンに準仮想化デバイスを提供します。この方法の欠点は、ゲストOSに特定のデバイスドライバが必要なことです。

可能であれば、VM用にエミュレートされたデバイスの代わりに準仮想化デバイスを使用することをお勧めします。特に、それらがI / O集約型アプリケーションを実行している場合はそうです。準仮想化デバイスは、I / Oレイテンシを短縮し、I / Oスループットを向上させるため、場合によってはベアメタルパフォーマンスに非常に近くなります。他の準仮想化デバイスも、他の方法では利用できない機能を仮想マシンに追加します。

次の種類の準仮想化デバイスがサポートされています。

  • 準仮想化ネットワークデバイス(virtio-net
  • 準仮想化ストレージコントローラ

    • virtio-blk - ブロックデバイスエミュレーションを提供
    • virtio-scsi - より完全なSCSIエミュレーションを提供
  • 準仮想化クロック
  • 準仮想化シリアルデバイス(virtio-serial
  • バルーン装置(virtio-balloon)ハイパーバイザーとゲストのメモリ使用量に関する情報を共有するために使用されます。
  • 準仮想化乱数ジェネレータ(virtio-rng
  • 準仮想化グラフィックカード(QXL
物理共有デバイス

特定のハードウェアプラットフォームでは、仮想マシンはさまざまなハードウェアデバイスおよびコンポーネントに直接アクセスできます。このプロセスは、デバイスの割り当て として、または パススルー として知られています。

このように接続すると、物理デバイスの一部の側面は、物理マシンの場合と同様にVMから直接利用できるようになります。これをVMで使用すると、デバイスのパフォーマンスが向上します。ただし、VMに物理的に接続されているデバイスはホストから利用できなくなり、移行もできません。

それにもかかわらず、いくつかのデバイスは、複数の仮想マシンで 共有 できます。たとえば、単一の物理デバイスが特定の場合に複数の 仲介デバイス を提供します。これは、異なる VM に割り当てることができます。

次の種類のパススルーデバイスがサポートされています。

  • 仮想機能I / O(VFIO)デバイス割り当て - ハードウェアによるDMAと割り込みの分離を使用して、デバイスをアプリケーションまたは仮想マシンに安全に公開します。
  • USB、PCI、およびSCSIパススルー - 一般的な業界標準バスを直接VMに公開して、それらの特定の機能をゲストソフトウェアで使用できるようにします。
  • シングルルートI / O仮想化(SR-IOV) - PCI Expressリソースのハードウェアによる分離を可能にする仕様。これにより、単一の物理PCIリソースを仮想PCI機能に分割することが安全かつ効率的になります。これは一般にネットワークインタフェースカード(NIC)に使用されます。
  • NポートID仮想化(NPIV) - 単一の物理ホストバスアダプタ(HBA)を複数の仮想ポートで共有するためのファイバチャネルテクノロジ。
  • GPUおよびvGPU - 特定の種類のグラフィックまたは計算ワークロードのためのアクセラレータ。一部のGPUはゲストに直接接続できますが、特定の種類では基礎となる物理ハードウェアを共有する仮想GPU(vGPU)を作成することもできます。

第7章 仮想マシンのストレージ管理 (機械翻訳)

仮想マシンのストレージは、CLI または web consoleで管理できます。

このドキュメントでは、virsh コマンドを使用して、仮想マシンストレージを管理する方法を説明します。

7.1. 仮想マシンストレージについて (機械翻訳)

以下のセクションでは、ストレージプール、ストレージボリューム、およびVM用のストレージを提供するための使用方法など、仮想マシン(VM)用のストレージに関する情報を提供します。

7.1.1. 仮想マシンストレージ (機械翻訳)

以下に、VM用のストレージを作成するためのストレージプールとストレージボリュームの使用方法に関する情報を示します。

A ストレージプール VMによる使用のために確保されている、ホストによって管理されるストレージの量です。ストレージボリューム ストレージプール内のスペースから作成できます。各ストレージボリュームは、ゲストバス上のブロックデバイスとしてVMに割り当てることができます。

ストレージプールとボリュームは、libvirtを使用して管理されます。libvirt リモートプロトコルを使用して、仮想マシンストレージのあらゆる側面を管理できます。これらの操作は、リモートホスト上で実行できます。その結果、libvirtを使用して、RHEL Web コンソールなどの管理アプリケーションは、ユーザーが仮想マシンのストレージを設定するために必要なすべてのタスクを実行できるようにします。

libvirt APIを使用して、ストレージプール内のボリュームのリストを照会したり、ストレージプール内の容量、割り当て、および使用可能なストレージに関する情報を取得したりできます。ストレージプール内のストレージボリュームは、割り当てや容量などの情報を取得するために照会されることがありますが、これらはスパースボリュームでは異なる場合があります。

それをサポートするストレージプールの場合、 libvirt APIを使用して、ストレージボリュームを作成、クローン作成、サイズ変更、および削除することができます。APIは、ストレージボリュームへのデータのアップロード、ストレージボリュームからのデータのダウンロード、またはストレージボリュームからのデータの消去にも使用できます。

ストレージプールが開始されると、仮想マシンのXML構成ファイル内のボリュームへのホストパスの代わりに、ストレージプール名とストレージボリューム名を使用して、ストレージボリュームをゲストに割り当てることができます。

7.1.2. ストレージプール (機械翻訳)

ストレージプールは、仮想マシンにストレージを提供するために、libvirt が管理するファイル、ディレクトリー、またはストレージデバイスです。ストレージプールは、仮想マシンイメージを格納するストレージボリュームに分割されるか、追加のストレージとしてVMに接続されます。複数のゲストが同じストレージプールを共有できるため、ストレージリソースをより適切に割り当てることができます。

記憶域プールは永続的または一時的にすることができます。

  • 永続的ストレージプールは、ホストマシンのシステム再起動後も存続します。
  • 一時ストレージプールは、ホストが再起動するまでしか存在しません。

virsh pool-define コマンドを使用して、永続ストレージプールを作成します。virsh pool-create コマンドを使用して一時的なストレージプールを作成します。

ストレージプールのストレージタイプ

ストレージプールは、ローカルまたはネットワークベース(共有)のどちらでもかまいません。

  • ローカルストレージプール

    ローカルストレージプールはホストサーバーに直接接続されています。これらには、ローカルディレクトリ、直接接続されたディスク、物理パーティション、およびローカルデバイス上の論理ボリューム管理(LVM)ボリュームグループが含まれます。

    ローカルストレージプールは、移行や多数のVMを必要としない開発、テスト、小規模展開に役立ちます。

  • ネットワーク(共有)ストレージプール

    ネットワークストレージプールには、標準プロトコルを使用してネットワーク上で共有されるストレージデバイスが含まれます。

ストレージプールのアクション

ストレージプールは停止(破壊)できます。これにより、データの抽象化は解除されますが、データはそのまま残ります。

たとえば、mount -t nfs nfs.example.com:/path/to/share /path/to/dataを使用する NFS サーバー担当のストレージ管理者は、エクスポートされたサーバーパスとクライアントターゲットパスを記述するために仮想化ホスト上にNFSストレージプールを定義できます。これは、libvirt が、libvirt が起動した場合、libvirt が実行している時に必要に応じて、マウントを実行します。NFSサーバーがエクスポートしたディレクトリーを持つファイルは、NFSストレージ・プール内のストレージ・ボリュームとしてリストされています。

ストレージボリュームがVMに追加されるとき、管理者はターゲットパスをボリュームに追加する必要はありません。彼は名前でストレージプールとストレージボリュームを追加するだけです。したがって、ターゲットクライアントのパスが変更されても、仮想マシンには影響しません。

ストレージプールが開始すると、libvirt は、システム管理者がログインして mount nfs.example.com:/path/to/share /vmdata実行した場合と同じように、指定されたディレクトリに共有をマウントします。ストレージプールが自動起動するように設定されている場合、libvirt は、NFS 共有ディスクが、libvirt が起動したときに、指定したディレクトリーにマウントされていることを確認します。

ストレージプールが起動されると、NFS 共有ディスク内のファイルはストレージボリュームとして報告され、ストレージボリュームのパスは、libvirt API を使用してクエリーできます。ストレージボリュームのパスは、仮想マシンのブロックデバイスのソースストレージを記述する仮想マシンのXML定義のセクションにコピーできます。NFS の場合は、libvirt API を使用するアプリケーションは、プールのサイズの制限 (共有のストレージの容量) まで、ストレージプール (NFS 共有のファイル) でストレージボリュームを作成して削除できます。

すべての種類のストレージプールがボリュームの作成と削除をサポートしているわけではありません。ストレージプールを停止する (pool-destroy) と、開始操作を取り消します。この場合は、NFS 共有をマウント解除します。コマンド名が示すように、共有上のデータは破棄操作によって変更されません。詳細は man virshを参照してください。

サポートされているストレージプールとサポートされていないストレージプールの種類

以下は、RHELでサポートされているストレージプールの種類のリストです。

  • ディレクトリベースのストレージプール
  • ディスクベースのストレージプール
  • パーティションベースのストレージプール
  • GlusterFSストレージプール
  • iSCSIベースのストレージプール
  • LVMベースのストレージプール
  • NFSベースのストレージプール
  • SCSIデバイスを含むvHBAベースのストレージプール
  • マルチパスベースのストレージプール
  • RBDベースのストレージプール

以下は、RHELでサポートされていない libvirtストレージプールタイプの一覧です。

  • シープドッグベースのストレージプール
  • Vストレージベースのストレージプール
  • ZFSベースのストレージプール

7.1.3. ストレージボリューム (機械翻訳)

ストレージプールは、storage volumesに分類されます。ストレージボリュームは、libvirtが処理する物理パーティション、LVM 論理ボリューム、ファイルベースのディスクイメージ、その他のストレージタイプの抽象化です。基盤となるハードウェアに関係なく、ストレージボリュームはローカルストレージデバイスとしてVMに提示されます。

ホストマシンでは、ストレージボリュームはその名前と派生元のストレージプールの識別子によって参照されます。virsh コマンドラインでは、--pool storage_pool volume_nameの形式となります。

たとえば、guest_images プールの firstimage という名前のボリューム

# virsh vol-info --pool guest_images firstimage
  Name:             firstimage
  Type:             block
  Capacity:         20.00 GB
  Allocation:       20.00 GB

7.2. CLIを使用した仮想マシン用のストレージの管理 (機械翻訳)

このドキュメントでは、virsh コマンドを使用して、仮想マシンストレージを管理する方法を説明します。

CLIを使用して仮想マシンストレージを追加、削除、および変更できます。仮想マシンストレージに関する情報も表示できます。

注記

多くの場合、VM用のストレージは、the VM is createdと同時に作成されます。したがって、次の情報は主にVMストレージの高度な管理に関するものです。

7.2.1. CLIを使用した仮想マシンストレージ情報の表示 (機械翻訳)

CLIを使用してストレージプールとストレージボリュームに関する情報を表示する方法について説明します。

7.2.1.1. CLIを使ったストレージプール情報の表示 (機械翻訳)

ストレージプールに関する情報の表示に関する情報を以下に示します。ストレージプールに関する限定的または完全な詳細を含むすべてのストレージプールのリストを表示できます。表示されているストレージプールをフィルタリングすることもできます。

手順
  • virsh pool-list コマンドを使用して、ストレージプール情報を表示します。

    # virsh pool-list --all --details
     Name                State    Autostart  Persistent    Capacity  Allocation   Available
    ----------------------------------------------------------------------------------------
     default             running  yes        yes          48.97 GiB   23.93 GiB   25.03 GiB
     Downloads           running  yes        yes         175.62 GiB   62.02 GiB  113.60 GiB
     RHEL8-Storage-Pool  running  yes        yes         214.62 GiB   93.02 GiB  168.60 GiB
関連資料
  • 利用可能な virsh pool-list オプションは、関連する man ページを参照してください。

7.2.1.2. CLIを使用したストレージボリューム情報の表示 (機械翻訳)

ストレージプールに関する情報の表示に関する情報を以下に示します。指定したストレージプール内のすべてのストレージプールのリストと指定したストレージプールに関する詳細を表示できます。

手順
  1. virsh vol-list コマンドを使用して、指定したストレージプール内のストレージボリュームを一覧表示します。

    # virsh vol-list --pool RHEL8-Storage-Pool --details
     Name                Path                                               Type   Capacity  Allocation
    ---------------------------------------------------------------------------------------------
     .bash_history       /home/VirtualMachines/.bash_history       file  18.70 KiB   20.00 KiB
     .bash_logout        /home/VirtualMachines/.bash_logout        file    18.00 B    4.00 KiB
     .bash_profile       /home/VirtualMachines/.bash_profile       file   193.00 B    4.00 KiB
     .bashrc             /home/VirtualMachines/.bashrc             file   1.29 KiB    4.00 KiB
     .git-prompt.sh      /home/VirtualMachines/.git-prompt.sh      file  15.84 KiB   16.00 KiB
     .gitconfig          /home/VirtualMachines/.gitconfig          file   167.00 B    4.00 KiB
     RHEL8_Volume.qcow2  /home/VirtualMachines/RHEL8_Volume.qcow2  file  60.00 GiB   13.93 GiB
    注記

    利用可能 virsh vol-list オプションは、関連する man ページを参照してください。

  2. virsh vol-info コマンドを使用して、指定したストレージプール内のストレージボリュームを一覧表示します。

    # vol-info --pool RHEL8-Storage-Pool --vol RHEL8_Volume.qcow2
    Name:           RHEL8_Volume.qcow2
    Type:           file
    Capacity:       60.00 GiB
    Allocation:     13.93 GiB
    注記

    利用可能 virsh vol-info オプションは、関連する man ページを参照してください。

7.2.2. CLIを使用した仮想マシン用のストレージの作成と割り当て (機械翻訳)

以下は、仮想マシン用のストレージを作成して割り当てるための高度な手順です。

  1. ストレージプールを作成する

    利用可能なストレージメディアから1つ以上のストレージプールを作成します。サポートされているストレージプールの種類の一覧は、Storage pool types を参照してください。

    • 永続ストレージプールを作成するには、virsh pool-define コマンドおよび virsh pool-define-as コマンドを使用します。

      virsh pool-define コマンドは、プールオプションに XML ファイルを使用します。virsh pool-define-as コマンドは、コマンドラインにオプションを配置します。

    • 一時ストレージプールを作成するには、virsh pool-create コマンドおよび virsh pool-create-as コマンドを使用します。

      virsh pool-create コマンドは、プールオプションに XML ファイルを使用します。virsh pool-create-as コマンドは、コマンドラインにオプションを配置します。

注記

このドキュメントの例と手順はすべて、virsh pool-define コマンドを使用して永続的なストレージプールを作成するためのものです。virsh pool-create コマンド、virsh pool-define-as コマンド、および virsh pool-create-as コマンドは、関連する man ページを参照してください。

  1. ストレージボリュームを作成する

    利用可能なストレージプールから storage volumes を 1 つ以上を作成します。

    注記

    このドキュメントの例と手順はすべて、virsh vol‑create コマンドを使用してストレージを作成するためのものです。virsh vol-create-as コマンドの詳細は、関連する man ページを参照してください。

  2. 仮想マシンにストレージデバイスを割り当てる

    ストレージボリュームから抽象化された1つ以上のストレージデバイスをゲスト仮想マシンに割り当てます。

次の項では、CLIを使用してストレージを作成および割り当てる方法について説明します。

7.2.2.1. CLIを使用した仮想マシン用のディレクトリベースのストレージの作成と割り当て (機械翻訳)

以下では、ディレクトリベースのストレージプールとストレージボリュームの作成、および仮想マシンへのボリュームの割り当てについて説明します。

7.2.2.1.1. CLIを使用したディレクトリベースのストレージプールの作成 (機械翻訳)

以下に、ディレクトリベースのストレージプールを作成する手順を示します。

手順
  1. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  2. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs
注記

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. ストレージプールのターゲットパスを定義します。

    virsh pool-build コマンドを、フォーマット済みのファイルシステムのストレージプール用のストレージプールターゲットパスを作成し、ストレージソースデバイスを初期化し、データのデータを定義します。

    # virsh pool-build guest_images_fs
      Pool guest_images_fs built
    
    # ls -la /guest_images
      total 8
      drwx------.  2 root root 4096 May 31 19:38 .
      dr-xr-xr-x. 25 root root 4096 May 31 19:38 ..
  2. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  3. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  4. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  5. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  6. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found
7.2.2.1.2. ディレクトリベースのストレージプールパラメータ (機械翻訳)

以下は、ディレクトリー・ベースのストレージ・プールに必要なパラメーターとその例についての情報を提供します。

パラメーター

次の表に、ディレクトリベースのストレージプールのXMLファイルに必要なパラメータの一覧を示します。

表7.1 ディレクトリベースのストレージプールパラメータ

説明XML

ストレージプールの種類

<pool type='dir'>

ストレージプールの名前

<name>name</name>

ターゲットを指定しているパス。これはストレージプールに使用されるパスになります。

<target>
   <path>target_path</path>
</target>

以下は、/guest_imagesディレクトリーに基づいたストレージプールの XML ファイルの例です。

<pool type='dir'> <name>dirpool</name> <target> <path>/guest_images</path> </target> </pool>

7.2.2.2. CLIを使用した仮想マシン用のディスクベースストレージの作成と割り当て (機械翻訳)

以下では、ディスクベースのストレージプールとストレージボリュームの作成、および仮想マシンへのボリュームの割り当てについて説明します。

7.2.2.2.1. CLIを使用したディスクベースのストレージプールの作成 (機械翻訳)

以下に、ディスクベースのストレージプールを作成する手順を示します。

推奨情報

ディスクベースのストレージプールを作成する前に、次の点に注意してください。

  • 使用されている libvirt のバージョンに応じて、ディスクをストレージプール専用にすると、現在ディスクデバイスに格納されているすべてのデータを再フォーマットして消去される可能性があります。ストレージプールを作成する前に、ストレージデバイスのデータをバックアップすることを強くお勧めします。
  • ゲストには、ディスク全体またはブロックデバイス (/dev/sdb など) への書き込みアクセス権を与えないでください。パーティション (/dev/sdb1 など) または LVM ボリュームを使用します。

    ブロックデバイス全体をゲストに渡すと、ゲストはそれをパーティション化するか、またはその上に独自のLVMグループを作成します。これにより、ホストマシンはこれらのパーティションまたはLVMグループを検出し、エラーを引き起こす可能性があります。

手順
  1. ディスクにGUIDパーティションテーブル(GPT)ディスクラベルを付け直しました。GPTディスクラベルを使用すると、各デバイスに最大128個のパーティションを作成できます。

    # parted /dev/sdb
    GNU Parted 2.1
    Using /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel
    New disk label type? gpt
    (parted) quit
    Information: You may need to update /etc/fstab.
    #
  2. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  3. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs
注記

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. ストレージプールのターゲットパスを定義します。

    virsh pool-build コマンドを使用して、フォーマット済みファイルシステムのストレージプール用のストレージプールターゲットパスを作成し、ストレージソースデバイスを初期化し、データのフォーマットを定義します。

    # virsh pool-build guest_images_fs
      Pool guest_images_fs built
    
    # ls -la /guest_images
      total 8
      drwx------.  2 root root 4096 May 31 19:38 .
      dr-xr-xr-x. 25 root root 4096 May 31 19:38 ..
    注記

    ターゲットパスの構築は、ディスクベース、ファイルシステムベース、および論理ストレージプールにのみ必要です。libvirt は、overwrite オプションが指定されてる場合を除き、ソースストレージデバイスのデータフォーマットが、選択したストレージプールタイプと異なることを検出すると、ビルドに失敗します。

  2. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  3. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  4. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  5. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  6. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found
7.2.2.2.2. ディスクベースのストレージプールパラメータ (機械翻訳)

以下は、ディレクトリー・ベースのストレージ・プールに必要なパラメーターとその例についての情報を提供します。

パラメーター

次の表に、ディスクベースのストレージプールのXMLファイルに必要なパラメータの一覧を示します。

表7.2 ディスクベースのストレージプールパラメータ

説明XML

ストレージプールの種類

<pool type='disk'>

ストレージプールの名前

<name>name</name>

ストレージデバイスを指定しているパス。例えば、 /dev/sdb

<source>
   <path>source_path</path>
</source>

ターゲットデバイスを指定するパス。これはストレージプールに使用されるパスになります。

<target>
   <path>target_path</path>
</target>

以下は、ディスクベースのストレージプール用のXMLファイルの例です。

<pool type = 'disk'> <name> phy_disk </name> <source> <device path = '/ dev / sdb' /> <format type = 'gpt' /> </source> <target> <path> / dev </path> </target> </pool>

7.2.2.3. CLIを使用した仮想マシン用のファイルシステムベースのストレージの作成と割り当て (機械翻訳)

以下では、ディレクトリベースのストレージプールとストレージボリュームの作成、および仮想マシンへのボリュームの割り当てについて説明します。

7.2.2.3.1. CLIを使用したファイルシステムベースのストレージプールの作成 (機械翻訳)

以下に、ファイルシステムベースのストレージプールを作成する手順を示します。

推奨情報

ディスク全体をストレージプール (/dev/sdb など) として割り当てるためにこの手順を使わないでください。ゲストにディスク全体またはブロックデバイスへの書き込みアクセス権を与えないでください。この方法は、パーティション (/dev/sdb1 など) をストレージプールに割り当てるためにのみ使用されるべきです。

手順
  1. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  2. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs
注記

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. ストレージプールのターゲットパスを定義します。

    virsh pool-build コマンドを使用して、フォーマット済みファイルシステムのストレージプール用のストレージプールターゲットパスを作成し、ストレージソースデバイスを初期化し、データのフォーマットを定義します。

    # virsh pool-build guest_images_fs
      Pool guest_images_fs built
    
    # ls -la /guest_images
      total 8
      drwx------.  2 root root 4096 May 31 19:38 .
      dr-xr-xr-x. 25 root root 4096 May 31 19:38 ..
  2. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  3. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  4. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  5. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  6. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found
7.2.2.3.2. ファイルシステムベースのストレージプールパラメータ (機械翻訳)

以下は、ディレクトリー・ベースのストレージ・プールに必要なパラメーターとその例についての情報を提供します。

パラメーター

次の表に、ファイルシステムベースのストレージプールのXMLファイルに必要なパラメータの一覧を示します。

表7.3 ファイルシステムベースのストレージプールパラメータ

説明XML

ストレージプールの種類

<pool type='fs'>

ストレージプールの名前

<name>name</name>

パーティションを指定しているパス。例えば、 /dev/sdc1

<source>
   <device path=device_path />

ファイルシステムの種類、例えば ext4

    <format type=fs_type />
</source>

ターゲットを指定しているパス。これはストレージプールに使用されるパスになります。

<target>
    <path>path-to-pool</path>
</target>

以下は、/dev/sdc1 パーティションに基づいたストレージプールに対する XML ファイルの例です。:

<pool type='fs'> <name>guest_images_fs</name> <source> <device path='/dev/sdc1'/> <format type='auto'/> </source> <target> <path>/guest_images</path> </target> </pool>

7.2.2.4. CLIを使用した仮想マシン用のGlusterFSストレージの作成と割り当て (機械翻訳)

以下では、ディレクトリベースのストレージプールとストレージボリュームの作成、および仮想マシンへのボリュームの割り当てについて説明します。

7.2.2.4.1. CLIを使用したGlusterFSベースのストレージプールの作成 (機械翻訳)

GlusterFSは、ユーザースペース内のファイルシステム(FUSE)を使用するユーザースペースファイルシステムです。

以下は、GlusterFSベースのストレージプールを作成するための手順を提供します。

前提条件
  • GlusterFSベースのストレージプールをホスト上に作成する前に、Glusterサーバーを準備する必要があります。

    1. 次のコマンドでステータスを表示して、GlusterサーバーのIPアドレスを取得します。

      # gluster volume status
      Status of volume: gluster-vol1
      Gluster process                           Port	Online	Pid
      ------------------------------------------------------------
      Brick 222.111.222.111:/gluster-vol1       49155	  Y    18634
      
      Task Status of Volume gluster-vol1
      ------------------------------------------------------------
      There are no active volume tasks
    2. インストールされていない場合は、glusterfs-fuse パッケージをインストールします。
    3. virt_use_fusefs ブール値が有効になっていない場合は、有効にします。有効になっていることを確認してください。

      # setsebool virt_use_fusefs on
      # getsebool virt_use_fusefs
      virt_use_fusefs --> on

必要なパッケージがインストールされ有効になっていることを確認した後、ストレージプールの作成を続けます。

手順
  1. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  2. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. ストレージプールのターゲットパスを定義します。

    virsh pool-build コマンドを、フォーマット済みのファイルシステムのストレージプール用のストレージプールターゲットパスを作成し、ストレージソースデバイスを初期化し、データのデータを定義します。

    # virsh pool-build guest_images_fs
      Pool guest_images_fs built
    
    # ls -la /guest_images
      total 8
      drwx------.  2 root root 4096 May 31 19:38 .
      dr-xr-xr-x. 25 root root 4096 May 31 19:38 ..
    注記

    ターゲットパスの構築は、ディスクベース、ファイルシステムベース、および論理ストレージプールにのみ必要です。libvirt は、overwrite オプションが指定されてる場合を除き、ソースストレージデバイスのデータフォーマットが、選択したストレージプールタイプと異なることを検出すると、ビルドに失敗します。

  2. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  3. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  4. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  5. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  6. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found
7.2.2.4.2. GlusterFSベースのストレージプールパラメータ (機械翻訳)

以下は、GlusterFSベースのストレージプールに必要なパラメータとその例に関する情報を提供します。

パラメーター

次の表は、GlusterFSベースのストレージプールのXMLファイルに必要なパラメータの一覧です。

表7.4 GlusterFSベースのストレージプールパラメータ

説明XML

ストレージプールの種類

<pool type='gluster'>

ストレージプールの名前

<name>name</name>

Glusterサーバーのホスト名またはIPアドレス

<source>
   <name=gluster-name />

Glusterサーバーの名前

    <name>name</name>

ストレージプールに使用されるGlusterサーバー上のパス。

    <dir path=gluster-path />
</source>

以下は、111.222.111.222のGlusterファイルシステムに基づくストレージプールのXMLファイルの例です。

<pool type = 'gluster'> <名前> Gluster_pool </name> <ソース> <ホスト名= '111.222.111.222' /> <ディレクトリパス= '/' /> <名前> gluster-vol1 </name> < / source> </pool>

7.2.2.5. CLIを使用した仮想マシン用のiSCSIベースのストレージの作成と割り当て (機械翻訳)

以下は、iSCSI ベースのストレージプールとストレージボリュームの作成、libvirt シークレットを使用して iSCSI ベースのストレージプールのセキュリティー保護、仮想マシンのボリュームの割り当てに関する情報を提供します。

推奨情報

インターネットスモールコンピュータシステムインターフェイス(iSCSI)は、ストレージデバイスを共有するためのネットワークプロトコルです。 iSCSIは、IP層を介してSCSI命令を使用してイニシエータ(ストレージクライアント)をターゲット(ストレージサーバ)に接続します。

iSCSIベースのデバイスを使用して仮想マシンを格納すると、iSCSIをブロックストレージデバイスとして使用するなど、より柔軟なストレージオプションが可能になります。iSCSIデバイスはLinux-IO(LIO)ターゲットを使用します。これはLinux用のマルチプロトコルSCSIターゲットです。iSCSIに加えて、LIOはFibre ChannelおよびFibre Channel over Ethernet(FCoE)もサポートします。

iSCSI ストレージプールへのアクセスを防ぐ必要がある場合は、libvirt secretを使用してセキュリティーを保護できます。

前提条件
  • iSCSI ベースのストレージプールを作成する前に、iSCSI ターゲットを作成する必要があります。iSCSIターゲットは、targetcli パッケージを使用して作例されます。これは、ソフトウェアでサポートされている iSCSI ターゲットを作成するためのコマンドセットを提供します。

    iSCSI ターゲットの作成に関する詳細および手順は、Red Hat Enterprise Linuxストレージ管理ガイド を参照してください。

7.2.2.5.1. CLIを使用したiSCSIベースのストレージプールの作成 (機械翻訳)

以下に、iSCSIベースのストレージプールを作成する手順を示します。

手順
  1. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  2. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  2. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  3. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  4. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  5. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found
7.2.2.5.2. iSCSIベースのストレージプールパラメータ (機械翻訳)

次は、iSCSIベースのストレージプールに必要なパラメータとその例に関する情報です。

パラメーター

次の表に、iSCSIベースのストレージプールのXMLファイルに必要なパラメータの一覧を示します。

表7.5 iSCSIベースのストレージプールパラメータ

説明XML

ストレージプールの種類

<pool type='iscsi'>

ストレージプールの名前

<name>name</name>

ホストの名前

<source>
  <host name=hostname />

iSCSI IQN

    <device path= iSCSI_IQN />
</source>

ターゲットを指定しているパス。これはストレージプールに使用されるパスになります。

<target>
   <path>/dev/disk/by-path</path>
</target>

(オプション)iSCSIイニシエータのIQN。これはACLがLUNを特定のイニシエータに制限するときにのみ必要です。

<initiator>
   <iqn name='initiator0' />
</initiator>

注記

iSCSI イニシエーターの IQN は、iscsi コマンド virsh find-storage-pool-sources-as を使用して指定できます。

以下は、指定されたiSCSIデバイスに基づくストレージプールのXMLファイルの例です。

<pool type = 'iscsi'> <名前> iSCSIプール</name> <ソース> <ホスト名= 'server1.example.com' /> <デバイスパス= 'iqn.2010-05.com.example.server1:iscsirhel7guest '/> </source> <target> <path> / dev / disk / by-path </path> </target> </pool>
7.2.2.5.3. libvirtの機密情報を使用したiSCSIストレージプールの保護 (機械翻訳)

ユーザー名とパスワードのパラメータは、iSCSI ストレージプールを保護するため、virsh で設定できます。これはプールを定義する前後に構成できますが、認証設定を有効にするにはプールを開始する必要があります。

以下は、libvirt シークレットを使用して、iSCSI ベースのストレージプールをセキュアにするための手順を提供します。

注記

この手順は、iSCSI ターゲットの作成時に user_ID および password が定義される場合に必要です。

手順
  1. チャレンジハンドシェイク認証プロトコル(CHAP)ユーザー名を使用してlibvirt秘密ファイルを作成します。以下に例を示します。

    <secret ephemeral='no' private='yes'> <description>Passphrase for the iSCSI example.com server</description> <usage type='iscsi'> <target>iscsirhel7secret</target> </usage> </secret>
  2. virsh secret-define コマンドを使用して、libvirt シークレットを定義します。

    # virsh secret-define secret.xml

  3. virsh secret-list コマンドを使用して、UUID を確認します。

    # virsh secret-list
    UUID                                  Usage
    -------------------------------------------------------------------
    2d7891af-20be-4e5e-af83-190e8a922360  iscsi iscsirhel7secret
  4. virsh secret-set-value コマンドを使用して、前の手順の出力の UUID に、シークレットを割り当てます。これにより、CHAPのユーザー名とパスワードがlibvirtによって制御されるシークレットリストに含まれるようになります。以下に例を示します。

    # MYSECRET=`printf *%s "password123" | base64`
    # virsh secret-set-value 2d7891af-20be-4e5e-af83-190e8a922360 $MYSECRET
  5. virsh edit コマンドを使用して、ストレージプールの XML ファイルに認証エントリーを追加し、authentication typeusername、および secret usageを指定して、<auth> 要素を追加します。

    以下に例を示します。

    <pool type='iscsi'> <name>iscsirhel7pool</name> <source> <host name='192.168.122.1'/> <device path='iqn.2010-05.com.example.server1:iscsirhel7guest'/> <auth type='chap' username='redhat'> <secret usage='iscsirhel7secret'/> </auth> </source> <target> <path>/dev/disk/by-path</path> </target> </pool>
    注記

    サブ要素 <auth> は、ゲスト XML 内の <pool> 要素および <disk> 要素の異なる場所に存在します。<pool> の場合は、<auth><source> 要素内に指定されます。認証は一部のプールソース (iSCSI および RBD) のプロパティーであるため、これはプールソースの検索場所を説明する要素となります。ドメインのサブ要素である <disk> の場合、iSCSI または RBD ディスクに対する認証は、ディスクのプロパティーです。また、ディスクのサブ要素 <auth>は、ストレージプールのサブ要素とは異なります。

    <auth username='redhat'> <secret type='iscsi' usage='iscsirhel7secret'/> </auth>
  6. 変更をアクティブにするには、ストレージプールをアクティブにする必要があります。プールがすでに開始されている場合は、ストレージプールを停止して再起動します。

    # virsh pool-destroy iscsirhel7pool

    # virsh pool-start iscsirhel7pool

7.2.2.6. CLIを使用した仮想マシン用のLVMベースのストレージの作成と割り当て (機械翻訳)

以下では、LVMベースのストレージプールとストレージボリュームの作成、および仮想マシンへのボリュームの割り当てについて説明します。

7.2.2.6.1. CLIを使用したLVMベースのストレージプールの作成 (機械翻訳)

以下に、LVMベースのストレージプールを作成する手順を示します。

推奨情報

LVMベースのストレージプールを作成する前に、次の点に注意してください。

  • LVMベースのストレージプールは、LVMの完全な柔軟性を提供しません。
  • libvirt は、シン論理ボリュームをサポートしますが、シンストレージプールの機能は提供しません。
  • LVMベースのストレージプールはボリュームグループです。Logical Volume Managerコマンド、または virsh コマンドを使用して、ボリュームグループを作成できます。virsh インターフェースを使用してボリュームグループを管理するには、virsh コマンドを使用してボリュームグループを作成します。

    ボリュームグループの詳細は、Red Hat Enterprise Linux論理ボリュームマネージャ管理ガイドを参照してください。

  • LVMベースのストレージプールにはフルディスクパーティションが必要です。これらの手順で新しいパーティションまたはデバイスをアクティブにすると、パーティションはフォーマットされ、すべてのデータが消去されます。ホストの既存のボリュームグループ(VG)を使用している場合、何も消去されません。起動する前にストレージデバイスをバックアップすることをお勧めします。
手順
  1. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  2. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs
注記

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  2. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  3. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  4. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  5. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found
7.2.2.6.2. LVMベースのストレージプールパラメータ (機械翻訳)

以下に、LVMベースのストレージプールの必須パラメーターとその例についての情報を記載します。

パラメーター

次の表に、LVMベースのストレージプールのXMLファイルに必要なパラメータの一覧を示します。

表7.6 LVMベースのストレージプールパラメータ

説明XML

ストレージプールの種類

<pool type='logical'>

ストレージプールの名前

<name>name</name>

ストレージプールのデバイスへのパス

<source>
   <device path='device_path' />`

ボリュームグループの名前

    <name>VG-name</name>

仮想グループの形式

    <format type='lvm2' />
</source>

ターゲットパス

<target>
   <path=target_path />
</target>

注記

論理ボリュームグループが複数のディスクパーティションで構成されている場合は、複数のソースデバイスがリストされている可能性があります。以下に例を示します。

<source>
  <device path='/dev/sda1'/>
  <device path='/dev/sdb3'/>
  <device path='/dev/sdc2'/>
  ...
</source>

以下は、指定されたLVMに基づいたストレージプールのXMLファイルの例です。

<pool type = 'logical'> <名前> guest_images_lvm </name> <source> <デバイスパス= '/ dev / sdc' /> <名前> libvirt_lvm </name> <format type = 'lvm2' /> </ source> <target> <path> / dev / libvirt_lvm </path> </target> </pool>

7.2.2.7. CLIを使用した仮想マシン用のネットワークベースのストレージの作成と割り当て (機械翻訳)

以下では、ネットワークベースのストレージプールとストレージボリュームの作成、および仮想マシンへのボリュームの割り当てについて説明します。

7.2.2.7.1. 前提条件 (機械翻訳)
  • ネットワークファイルシステム(NFS)ベースのストレージプールを作成するには、NFSサーバーがホストマシンによって使用されるように既に構成されている必要があります。NFSの詳細については、 Red Hat Enterprise Linuxストレージ管理ガイド
  • 使用するファイルシステムに必要なユーティリティがホストにインストールされていることを確認してください。例えば、共通インターネットファイルシステム (CIFS) の場合は cifs-utils、GlusterFS の場合は glusterfs.fuseです。
7.2.2.7.2. CLIを使用したネットワークベースのストレージプールの作成 (機械翻訳)

ネットワークベースのストレージプールを作成する手順は、次のとおりです。

手順
  1. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  2. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs
注記

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. ストレージプールのターゲットパスを定義します。

    virsh pool-build コマンドを、フォーマット済みのファイルシステムのストレージプール用のストレージプールターゲットパスを作成し、ストレージソースデバイスを初期化し、データのデータを定義します。

    # virsh pool-build guest_images_fs
      Pool guest_images_fs built
    
    # ls -la /guest_images
      total 8
      drwx------.  2 root root 4096 May 31 19:38 .
      dr-xr-xr-x. 25 root root 4096 May 31 19:38 ..
  2. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  3. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  4. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  5. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  6. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found
7.2.2.7.3. NFSベースのストレージプールパラメータ (機械翻訳)

以下に、NFSベースのストレージプールに必要なパラメータとその例に関する情報を示します。

パラメーター

次の表に、NFSベースのストレージプールのXMLファイルに必要なパラメータの一覧を示します。

表7.7 NFSベースのストレージプールパラメータ

説明XML

ストレージプールの種類

<pool type='netfs'>

ストレージプールの名前

<name>name</name>

マウントポイントが配置されているネットワークサーバーのホスト名。これは、ホスト名またはIPアドレスです。

<source>
   <host name=hostname
/>

ストレージプールの形式

次のいずれか

    <format type='nfs' />

    <format type='glusterfs' />

    <format type='cifs' />

ネットワークサーバー上で使用されるディレクトリ

    <dir path=source_path />
</source>

ターゲットを指定しているパス。これはストレージプールに使用されるパスになります。

<target>
   <path>target_path</path>
</target>

以下は、NFS サーバー file_server/home/net_mountディレクトリーに基づいたストレージプールの XML ファイルの例です。

<pool type='netfs'> <name>nfspool</name> <source> <host name='file_server'/> <format type='nfs'/> <dir path='/home/net_mount'/> </source> <target> <path>/var/lib/libvirt/images/nfspool</path> </target> </pool>

7.2.2.8. CLIを使用した仮想マシン用のvHBAベースのストレージの作成と割り当て (機械翻訳)

以下では、vHBAベースのストレージプールとストレージボリュームの作成、および仮想マシンへのボリュームの割り当てについて説明します。

7.2.2.8.1. 推奨情報 (機械翻訳)

の仮想化 (NPIV) は、単一の物理ファイバーチャンネルホストバスアダプター (HBA) の共有を可能にするソフトウェアテクノロジーです。これにより、複数のゲストが複数の物理ホストから同じストレージを見ることができるようになり、ストレージの移行パスが簡単になります。その結果、正しいストレージパスが指定されている限り、移行でストレージを作成またはコピーする必要はありません。

仮想化では、仮想ホストバスアダプター、または vHBA が、仮想マシンの論理ユニット番号 (LUN) を制御します。ホストが複数のKVMゲスト間で1つのファイバーチャネルデバイスパスを共有するには、仮想マシンごとにvHBAを作成する必要があります。単一のvHBAを複数のKVMゲストで使用しないでください。

NPIV用の各vHBAは、その親HBA、および独自のワールドワイドノード名(WWNN)とワールドワイドポート名(WWPN)によって識別されます。ストレージへのパスは、WWNN値とWWPN値によって決まります。親 HBA は、scsi_host# または WWNN/WWPN ペアとして定義できます。

注記

親 HBA が scsi_host# として定義され、ハードウェアがホストマシンに追加されている場合、scsi_host# 割り当ては変わる可能性があります。したがって、WWNN / WWPNペアを使用して親HBAを定義することをお勧めします。

これは、vHBA 設定を保持するため、vHBA に基づいて libvirt ストレージを定義することが推奨されます。

libvirtストレージプールを使用すると、2つの主な利点があります。

  • libvirtコードはvirshコマンドの出力でLUNのパスを簡単に見つけることができます。
  • 仮想マシンの移行では、ターゲットマシン上に同じvHBA名のストレージプールを定義して起動するだけで済みます。これを行うには、仮想マシンのXML構成でvHBA LUN、libvirtストレージプール、およびボリューム名を指定する必要があります。
注記

vHBAを作成する前に、ゲスト間を分離し、データが破損する可能性を防ぐために、ホストLUNでストレージアレイ(SAN)側のゾーニングを構成することをお勧めします。

永続的な vHBA 構成を作成するには、最初に libvirt 'scsi' ストレージプールの XML ファイルを作成します。XML ファイルは、Creating vHBAsを参照してください。同じ物理 HBA 上のストレージプールを使用する単一の vHBA を作成する場合は、システムの /dev/disk/by-{path|id|uuid|label}のような場所など、<path> 値に安定した場所を使用することをお勧めします。

同じ物理 HBA 上でストレージプールを使用する複数の vHBA を作成する場合、<path> フィールドの値は、/dev/ にのみする必要があり、それ以外の場合、ストレージプールボリュームは、1 つの vHBA からしか見えず、ホストからのデバイスは、NPIV 構成で、複数のゲストに公開できません。

<path>の詳細と、<target> の要素は、upstream libvirt documentationを参照してください。

7.2.2.8.2. 前提条件 (機械翻訳)

SCSIデバイスでvHBAベースのストレージプールを作成する前に、vHBAを作成してください。

7.2.2.8.3. vHBAの作成 (機械翻訳)

以下に、仮想ホストバスアダプタ(vHBA)の作成手順を示します。

手順
  1. virsh nodedev-list --cap vports を使用して、ホストシステムの HBA を見つけます。

    次の例は、vHBAをサポートする2つのHBAを持つホストを示しています。

    # virsh nodedev-list --cap vports
    scsi_host3
    scsi_host4
  2. virsh nodedev-dumpxml HBA_device コマンドを使用して、HBA の詳細を表示します。

    # virsh nodedev-dumpxml scsi_host3

    コマンドからの出力には、<name><wwnn>、および <wwpn> フィールドの一覧を表示します。これは、vHBA を作成するために使用されます。<max_vports> は、サポートされている vHBA の最大数を示します。以下に例を示します。

    <device> <name>scsi_host3</name> <path>/sys/devices/pci0000:00/0000:00:04.0/0000:10:00.0/host3</path> <parent>pci_0000_10_00_0</parent> <capability type='scsi_host'> <host>3</host> <unique_id>0</unique_id> <capability type='fc_host'> <wwnn>20000000c9848140</wwnn> <wwpn>10000000c9848140</wwpn> <fabric_wwn>2002000573de9a81</fabric_wwn> </capability> <capability type='vport_ops'> <max_vports>127</max_vports> <vports>0</vports> </capability> </capability> </device>

    この例では、<max_vports> 値は、HBA 構成で使用できる合計 127 の仮想ポートがあることを示します。の <vports> valueは現在使用されている仮想ポートの数を示します。これらの値は、vHBAを作成した後に更新されます。

  3. vHBAホスト用に次のいずれかのようなXMLファイルを作成します。この例では、ファイルの名前は vhba_host3.xml です。

    この例では、scsi_host3 を使用して、親 vHBA を説明します。

    <device> <parent>scsi_host3</parent> <capability type='scsi_host'> <capability type='fc_host'> </capability> </capability> </device>

    この例では、WWNN / WWPNペアを使用して親vHBAを説明しています。

    <device> <name>vhba</name> <parent wwnn='20000000c9848140' wwpn='10000000c9848140'/> <capability type='scsi_host'> <capability type='fc_host'> </capability> </capability> </device>
    注記

    WWNNとWWPNの値は、前の手順で表示されたHBAの詳細の値と一致する必要があります。

    <parent> fieldは、このvHBAデバイスと関連付けるHBAデバイスを指定します。<device> の詳細は、ホスト用の新しい vHBA デバイスを作成するために、次の手順で使用されます。nodedev XML フォーマットの詳細は、the libvirt upstream pagesを参照してください。

    注記

    virsh コマンドは、parent_wwnnparent_wwpn、または parent_fabric_wwn 属性を定義する方法をを提供しません。

  4. virsh nodev-create コマンドを使用して、前の手順で作成した XML ファイルに基づいて VHBA を作成します。

    # virsh nodedev-create vhba_host3
    Node device scsi_host5 created from vhba_host3.xml
  5. 新しいvHBAの詳細(scsi_host5)を確認してください。 virsh nodedev-dumpxml コマンド:

    # virsh nodedev-dumpxml scsi_host5
    <device>
      <name>scsi_host5</name>
      <path>/sys/devices/pci0000:00/0000:00:04.0/0000:10:00.0/host3/vport-3:0-0/host5</path>
      <parent>scsi_host3</parent>
      <capability type='scsi_host'>
        <host>5</host>
        <unique_id>2</unique_id>
        <capability type='fc_host'>
          <wwnn>5001a4a93526d0a1</wwnn>
          <wwpn>5001a4ace3ee047d</wwpn>
          <fabric_wwn>2002000573de9a81</fabric_wwn>
        </capability>
      </capability>
    </device>
7.2.2.8.4. CLIを使用したvHBAベースのストレージプールの作成 (機械翻訳)

以下に、vHBAベースのストレージプールを作成する手順を示します。

前提条件
  • vHBAがあることを確認してください。詳細はCreating vHBAsを参照してください。
手順
  1. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  2. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  2. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  3. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  4. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  5. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found
7.2.2.8.5. vHBAベースのストレージプールパラメータ (機械翻訳)

以下は、vHBAベースのストレージプールに必要なパラメータとその例に関する情報です。

パラメーター

次の表に、vHBAベースのストレージプールのXMLファイルに必要なパラメータの一覧を示します。

表7.8 vHBAベースのストレージプールパラメータ

説明XML

ストレージプールの種類

<pool type='scsi'>

ストレージプールの名前

<name>name</name>

vHBAの識別子。の parent 属性はオプションです。

<source>
   <adapter type='fc_host'
   [parent=parent_scsi_device]
   wwnn='WWNN'
   wwpn='WWPN' />
</source>

ターゲットパスこれはストレージプールに使用されるパスになります。

<target>
   <path=target_path />
</target>

重要

<path> フィールドが /dev/ の場合、libvirt は、ボリュームデバイスパスで一意の短いデバイスパスを生成します。例えば、 /dev/sdc。それ以外の場合は、物理ホストパスが使用されます。例えば、 /dev/disk/by-path/pci-0000:10:00.0-fc-0x5006016044602198-lun-0。固有の短い装置パスによって、同じボリュームを複数のストレージ・プールによって複数のゲストにリストすることができます。物理ホストパスが複数のゲストによって使用されている場合、重複したデバイスタイプの警告が発生する可能性があります。

注記

parent 属性は、パスを変更して NPIV LUN の使用元となる物理 HBA 親を識別するための<adapter> フィールドで使用できます。scsi_hostN フィールドは、vports 属性および max_vports 属性と合せて、親 ID を完成させます。parentparent_wwnnparent_wwpn、または parent_fabric_wwn の属性は、ホストの再起動後に同じ HBA が使用されるというさまざまな程度の保証を提供します。

  • parent が指定されていない場合、libvirt は、NPIV にタイプする最初の scsi_hostN アダプターを使用します。
  • もしも parent を指定した場合、追加のSCSIホストアダプタを構成に追加すると問題が発生する可能性があります。
  • parent_wwnn または parent_wwpn を指定すると、ホストの再起動後に同じ HBA が使用されます。
  • ホストの再起動後、parent_fabric_wwn が使用されると、scsi_hostN が使用されたかどうかにかかわらず、同じファブリックの HBA が選択されます。

以下は、vHBAベースのストレージプールのXMLファイルの例です。

以下は、HBA上の唯一のストレージプールであるストレージプールの例です。

<pool type = 'scsi'> <名前> vhbapool_host3 </name> <source> <adapter type = 'fc_host' wwnn = '5001a4a93526d0a1' wwpn = '5001a4ace3ee047d' /> </source> <ターゲット> <パス> / dev / disk / by-path </path> </target> </pool>

次に示すのは、1 つの vHBA を使用して、parent属性を使用して、SCSI ホストデバイスを識別する複数のストレージプールの 1 つであるストレージプールの例です。

<pool type='scsi'> <name>vhbapool_host3</name> <source> <adapter type='fc_host' parent='scsi_host3' wwnn='5001a4a93526d0a1' wwpn='5001a4ace3ee047d'/> </source> <target> <path>/dev/disk/by-path</path> </target> </pool>
7.2.2.8.6. CLIを使用したSCSI LUNベースのストレージボリュームの仮想マシンへの割り当てと接続 (機械翻訳)

以下では、vHBA LUNを使用するように仮想マシンを構成する方法と、ハードウェア障害後にエクスポーズされたLUNに再接続する方法について説明します。

7.2.2.8.6.1. 前提条件 (機械翻訳)
  • 1つ以上のvHBAストレージプールがあることを確認してください。
7.2.2.8.6.2. CLIを使用したvHBAベースのストレージプールの作成 (機械翻訳)

以下に、vHBAベースのストレージプールを作成する手順を示します。

前提条件
  • vHBAがあることを確認してください。詳細はCreating vHBAsを参照してください。
手順
  1. XMLファイルでストレージプールを定義する

    新しいデバイスに必要なストレージプールパラメータを含む一時的なXMLファイルを作成します。

    注記

    必須パラメーターは、Parametersを参照してください。

  2. ストレージプールを作成する

    virsh pool-define コマンドを使用して、前のステップで作成した XML ファイルに基づいて永続ストレージプールを作成します。

    # virsh pool-define ~/guest_images.xml
      Pool defined from guest_images_fs

virsh pool-define コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

  1. プールが作成されたことを確認します

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   no
  2. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_fs
      Pool guest_images_fs started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時記憶域プールは、作成時に自動的に開始されます。

  3. (オプション)自動起動をオンにする

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールを自動起動するように設定します。

    # virsh pool-autostart guest_images_fs
      Pool guest_images_fs marked as autostarted
  4. Autostart 状態 を確認します。

    virsh pool-list コマンドを使用して、Autostart 状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_fs      inactive   yes
  5. ストレージプールを確認する

    ストレージプールが正しく作成され、報告されたサイズが予想どおりで、状態が runningのように報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_fs
      Name:           guest_images_fs
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB
    
    # mount | grep /guest_images
      /dev/sdc1 on /guest_images type ext4 (rw)
    
    # ls -la /guest_images
      total 24
      drwxr-xr-x.  3 root root  4096 May 31 19:47 .
      dr-xr-xr-x. 25 root root  4096 May 31 19:38 ..
      drwx------.  2 root root 16384 May 31 14:18 lost+found

7.2.2.9. CLIを使用したストレージボリュームの作成と割り当て (機械翻訳)

以下では、CLIを使用して、ストレージプールからストレージボリュームを作成し、そのストレージボリュームを仮想マシンに割り当てる方法について説明します。手順はすべての種類のストレージプールで同じです。

7.2.2.9.1. 前提条件 (機械翻訳)
  • 未割り当て領域を持つホスト上のストレージプール
7.2.2.9.2. 手順 (機械翻訳)
  1. XMLファイルでストレージボリュームを定義する

    ストレージボリュームのパラメータを含む一時的なXMLファイルを作成します。

    以下は、必要なストレージボリュームパラメータのリストです。

    • - ストレージボリュームの名前。
    • 割り当て - ストレージボリュームの合計ストレージ割り当て。
    • 容量 - ストレージボリュームの論理容量。ボリュームがスパースの場合、この値は allocation 値とは異なります。
    • ターゲット - ホストシステム上のストレージボリュームへのパス、およびオプションでそのアクセス権とラベル。

      ストレージボリューム定義のXMLファイルの例を次に示します。この例では、ファイルは、~/guest_volume.xmlに保存されます。

        <volume>
          <name>volume1</name>
          <allocation>0</allocation>
          <capacity>20G</capacity>
          <target>
            <path>/var/lib/virt/images/sparse.img</path>
          </target>
        </volume>
  2. ストレージボリュームを作成して割り当てる

    virsh vol-create そして virsh vol-create-as コマンドは、ほとんどの種類のストレージプールからストレージボリュームを作成するために使用されます。

    以下は、virsh vol-create コマンドおよび virsh vol-create-as コマンドに対応しないストレージタイプと、ストレージボリュームを作成するために、そのタイプとともに使用するメソッドの一覧です。

    • GlusterFSベース - qemu-img コマンドを使用して、ストレージボリュームを作成します。
    • iSCSIベース - iSCSIサーバにiSCSI LUNを事前に準備してください。
    • マルチパスベース - multipathdコマンドを使用して、マルチパスを準備または管理します。
    • vHBAベース - ファイバチャネルカードを事前に準備してください。

    virsh vol-create コマンドを使用して、XML ファイルに基づいてストレージボリュームを作成して割り当てます。virsh vol-create コマンドで割り当てられるストレージボリュームに、仮想マシンを指定します。

    # virsh vol-create guest_images_dir ~/guest_volume.xml
      Vol volume1 created
    注記

    virsh vol-create コマンドを実行した後、手順 1 で作成した XML ファイルを削除できます。

    GlusterFSベース、マルチパスベース、およびRBDベースのストレージプールの場合は、次のXML形式を使用してストレージボリュームを記述し、それをドメインXMLに追加します。

      <disk type='network' device='disk'>
        <driver name='qemu' type='raw'/>
        <source protocol='gluster' name='Volume1/Image'>
          <host name='example.org' port='6000'/>
        </source>
        <target dev='vda' bus='virtio'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
      </disk>

    マルチパスベースのストレージプールの場合は、次のXML形式を使用してストレージボリュームを記述し、それをドメインXMLに追加します。

    <disk type='block' device='disk'>
    <driver name='qemu' type='raw'/>
    <source dev='/dev/mapper/mpatha' />
    <target dev='sdc' bus='scsi'/>
    </disk>

    RBDベースのストレージプールの場合は、次のXML形式を使用してストレージボリュームを記述し、それをドメインXMLに追加します。

      <disk type='network' device='disk'>
        <driver name='qemu' type='raw'/>
        <source protocol='rbd' name='pool/image'>
          <host name='mon1.example.org' port='6321'/>
        </source>
        <target dev='vdc' bus='virtio'/>
      </disk>

7.2.3. CLIを使用した仮想マシン用のストレージの削除 (機械翻訳)

CLIを使用してストレージプールとストレージボリュームを削除する方法について説明します。

7.2.3.1. CLIを使用したストレージプールの削除 (機械翻訳)

以下に、ストレージプールの削除に関する情報を示します。

前提条件
  • 削除するストレージプールを使用する他の仮想マシンに悪影響を与えないようにするために、ストレージプールを停止して、使用されているリソースを解放することをお勧めします。
手順
  1. virsh pool-list コマンドを使用して、定義済みストレージプールを一覧表示します。

    # virsh pool-list --all
    Name                 State      Autostart
    -------------------------------------------
    default              active     yes
    Downloads            active     yes
    RHEL8-Storage-Pool   active     yes
  2. virsh pool-destroy コマンドを使用して、削除したいストレージプールを停止します。

    # virsh pool-destroy Downloads
    Pool Downloads destroyed
  3. (任意) 一部のストレージプールでは、virsh pool-delete コマンドを使用して、ストレージプールが含まれるディレクトリーを削除できます。ストレージプールが存在するディレクトリを削除するには、空にする必要があります。

    # virsh pool-delete Downloads
    Pool Downloads deleted
  4. virsh pool-undefine コマンドを使用して、ストレージプールの定義を削除します。

    # virsh pool-undefine Downloads
    Pool Downloads has been undefined
  5. ストレージプールが削除されたことを確認してください。

    # virsh pool-list --all
    Name                 State      Autostart
    -------------------------------------------
    default              active     yes
    RHEL8-Storage-Pool   active     yes

7.2.3.2. CLIを使用したストレージボリュームの削除 (機械翻訳)

CLIを使用してストレージボリュームを削除する方法について説明します。

前提条件
  • 削除するストレージボリュームを使用する仮想マシンに悪影響を与えないようにするために、それを使用しているリソースを解放することをお勧めします。
手順
  1. virsh vol-list コマンドを使用して、ストレージプール内の定義済みストレージボリュームを一覧表示します。コマンドは、ストレージボリュームの名前またはパスを指定する必要があります。

    # virsh vol-list --pool RHEL8-Storage-Pool
     Name                 Path
    ---------------------------------------------------------------
     .bash_history        /home/VirtualMachines/.bash_history
     .bash_logout         /home/VirtualMachines/.bash_logout
     .bash_profile        /home/VirtualMachines/.bash_profile
     .bashrc              /home/VirtualMachines/.bashrc
     .git-prompt.sh       /home/VirtualMachines/.git-prompt.sh
     .gitconfig           /home/VirtualMachines/.gitconfig
     RHEL8_Volume.qcow2   /home/VirtualMachines/RHEL8_Volume.qcow2
  2. virsh vol-delete コマンドを使用してストレージボリュームを削除します。このコマンドは、ストレージボリュームの名前またはパス、およびそのストレージボリュームを抽象化するストレージプールを指定する必要があります。

    # virsh pool-delete RHEL8_Volume.qcow2
    Pool RHEL8_Volume.qcow2 deleted

第8章 NVIDIA vGPUデバイスの管理 (機械翻訳)

vGPU 機能により、mediated devicesとして参照される物理的な NVIDIA GPU デバイスを複数の仮想デバイスに分割できます。これらの仲介デバイスは、仮想GPUとして複数の仮想マシン(VM)に割り当てることができます。その結果、これらのVMは単一の物理GPUのパフォーマンスを共有します。

ただし、仲介デバイスを使用しているかどうかにかかわらず、物理GPUをVMに割り当てると、ホストがGPUを使用できなくなります。

8.1. NVIDIA vGPUデバイスの設定 (機械翻訳)

NVIDIA vGPU機能を設定するには、GPUデバイス用のNVIDIA vGPUドライバを入手してから、仲介デバイスを作成し、それらを目的の仮想マシンに割り当てる必要があります。詳しい手順については、以下を参照してください。

前提条件

  • 仲介vGPUデバイスの作成は、限られたNVIDIA GPUのセットでのみ可能です。これらのデバイスの最新リストについては、the NVIDIA GPU Software Documentationを参照してください。

    ホストが使用している GPU が分からない場合は、lshw パッケージをインストールして、lshw -C display コマンドを使用します。次の例は、システムがvGPUと互換性のあるNVIDIA Tesla P4 GPUを使用していることを示しています。

    # lshw -C display
    
    *-display
           description: 3D controller
           product: GP104GL [Tesla P4]
           vendor: NVIDIA Corporation
           physical id: 0
           bus info: pci@0000:01:00.0
           version: a1
           width: 64 bits
           clock: 33MHz
           capabilities: pm msi pciexpress cap_list
           configuration: driver=vfio-pci latency=0
           resources: irq:16 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff

手順

  1. NVIDIA vGPUドライバを入手し、それらをシステムにインストールします。手順については、 the NVIDIA documentation
  2. NVIDIA ソフトウェアのインストーラーが /etc/modprobe.d/nvidia-installer-disable-nouveau.conf ファイルを作成しなかった場合は、 /etc/modprobe.d/ に、任意の名前で、conf ファイルを作成します。次に、ファイルに次の行を追加します。

    blacklist nouveau
    options nouveau modeset=0
  3. 現在のカーネルの初期RAMディスクを再生成してから、再起動します。

    # dracut --force
    # reboot

    仲介デバイスで以前にサポートされているカーネルバージョンを使用する必要がある場合は、インストールされているすべてのカーネルバージョンに対して初期RAMディスクを再生成します。

    # dracut --regenerate-all --force
    # reboot
  4. nvidia_vgpu_vfio モジュールがカーネルによって読み込まれていて、nvidia-vgpu-mgr.service サービスが実行していることを確認してください。

    # lsmod | grep nvidia_vgpu_vfio
    nvidia_vgpu_vfio 45011 0
    nvidia 14333621 10 nvidia_vgpu_vfio
    mdev 20414 2 vfio_mdev,nvidia_vgpu_vfio
    vfio 32695 3 vfio_mdev,nvidia_vgpu_vfio,vfio_iommu_type1
    # systemctl status nvidia-vgpu-mgr.service
    nvidia-vgpu-mgr.service - NVIDIA vGPU Manager Daemon
       Loaded: loaded (/usr/lib/systemd/system/nvidia-vgpu-mgr.service; enabled; vendor preset: disabled)
       Active: active (running) since Fri 2018-03-16 10:17:36 CET; 5h 8min ago
     Main PID: 1553 (nvidia-vgpu-mgr)
     [...]
  5. デバイス UUID を /sys/class/mdev_bus/pci_dev/mdev_supported_types/type-id/create ファイルに書き込みます。pci_dev はホスト GPU の PCI アドレスで、type-id は、ホスト GPU タイプの ID です。

    次の例は、NVIDIA Tesla P4 カードの nvidia-63 vGPU タイプの仲介デバイスを作成する方法を示しています。

    # uuidgen
    30820a6f-b1a5-4503-91ca-0c10ba58692a
    # echo "30820a6f-b1a5-4503-91ca-0c10ba58692a" > /sys/class/mdev_bus/0000:01:00.0/mdev_supported_types/nvidia-63/create
    注記

    特定のGPUデバイスの type-id値は、Virtual GPU software documentationを参照してください。GRID P4-2QなどのQシリーズNVIDIA vGPUのみが、Linux VM上で仲介デバイスGPUタイプとしてサポートされることに注意してください。

  6. 次の行を、vGPU リソースを共有するゲストの XML 設定の <devices/> セクションに追加します。以前の手順で、uuidgen コマンドで生成した UUID 値を使用します。各UUIDは一度に1人のゲストにしか割り当てることができません。

    <hostdev mode = 'subsystem' type = 'mdev' managed = 'no' model = 'vfio-pci'> <source> <address uuid = '30820a6f-b1a5-4503-91ca-0c10ba58692a' /> </source> < / hostdev>

関連資料

  • 割り当てられたゲスト上でvGPU仲介デバイスが正しく動作するためには、ゲスト用にNVIDIA vGPUゲストソフトウェアライセンスを設定する必要があります。詳細および手順については、 the NVIDIA virtual GPU software documentation

8.2. NVIDIA vGPUデバイスの取り外し (機械翻訳)

assigned vGPU mediated devices の設定を変更する場合は、割り当てられたゲストから既存のデバイスを削除する必要があります。その手順については、以下を参照してください。

手順

  • 仲介 vGPU デバイスを削除するには、デバイスが非アクティブのときに次のコマンドを使用します。uuid は、デバイスの UUID (30820a6f-b1a5-4503-91ca-0c10ba58692a など) に置き換えます。

    # echo 1 > /sys/bus/mdev/devices/uuid/remove

    現在VMで使用されているvGPUデバイスを削除しようとすると、次のエラーが発生します。

    echo: write error: Device or resource busy

8.3. お使いのシステムに関するNVIDIA vGPU情報を入手する (機械翻訳)

使用可能なvGPU機能の機能を評価するために、特定のタイプの仲介デバイスをいくつ作成できるかなど、システム上の仲介デバイスに関する追加情報を入手できます。

手順

  • virsh nodedev-list --cap mdev_types コマンドおよび virsh nodedev-dumpxml コマンドを使用します。

    たとえば、物理Tesla P4カードを使用している場合、次のようにして利用可能なvGPUタイプを表示します。

    $ virsh nodedev-list --cap mdev_types
    pci_0000_01_00_0
    $ virsh nodedev-dumpxml pci_0000_01_00_0
    <...>
      <capability type='mdev_types'>
        <type id='nvidia-70'>
          <name>GRID P4-8A</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>1</availableInstances>
        </type>
        <type id='nvidia-69'>
          <name>GRID P4-4A</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>2</availableInstances>
        </type>
        <type id='nvidia-67'>
          <name>GRID P4-1A</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>8</availableInstances>
        </type>
        <type id='nvidia-65'>
          <name>GRID P4-4Q</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>2</availableInstances>
        </type>
        <type id='nvidia-63'>
          <name>GRID P4-1Q</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>8</availableInstances>
        </type>
        <type id='nvidia-71'>
          <name>GRID P4-1B</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>8</availableInstances>
        </type>
        <type id='nvidia-68'>
          <name>GRID P4-2A</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>4</availableInstances>
        </type>
        <type id='nvidia-66'>
          <name>GRID P4-8Q</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>1</availableInstances>
        </type>
        <type id='nvidia-64'>
          <name>GRID P4-2Q</name>
          <deviceAPI>vfio-pci</deviceAPI>
          <availableInstances>4</availableInstances>
        </type>
      </capability>
    </...>

8.4. NVIDIA vGPU用のリモートデスクトップストリーミングサービス (機械翻訳)

次のリモートデスクトップストリーミングサービスは、RHEL 8ホストのNVIDIA vGPU機能での使用がテストされています。

  • HP-RGS - 現在、RHEL 8 VMでHP-RGSを使用することはできません。
  • メクダインTGX - 現在、Windows Server 2016 VMでMechdyne TGXを使用することはできません。
  • ニースDCV - このストリーミングサービスを使用する場合、動的解像度を使用すると黒い画面になることがあるため、Red Hatは固定解像度設定を使用することをお勧めします。さらに、RHEL 8 VMでNICE DCVを使用することは現在不可能です。

第9章 仮想ネットワークについて (機械翻訳)

ネットワーク上の他のデバイスや場所への仮想マシンの接続は、ホストハードウェアによって促進される必要があります。

仮想ネットワークは、仮想ネットワークスイッチの概念を使用しています。仮想ネットワークスイッチは、ホスト物理マシンサーバー上で動作するソフトウェア構成です。仮想マシン(ゲスト)は仮想ネットワークスイッチを介してネットワークに接続します。

次の図は、2台の仮想マシンをネットワークに接続している仮想ネットワークスイッチを示しています。

vn 02 switchandtwoguests

ゲストオペレーティングシステムの観点から見ると、仮想ネットワーク接続は物理ネットワーク接続と同じです。

ホスト物理マシンサーバーは、仮想ネットワークスイッチをネットワークインターフェースと見なします。libvirtdデーモン(libvirtd)が最初にインストールされて起動されると、仮想ネットワークスイッチを表すデフォルトのネットワークインタフェースは virbr0

このインターフェースは、他のネットワークインタフェースと同じように、ip コマンドを使用して表示できます。

$ ip addr show virbr0
3: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state
 UNKNOWN link/ether 1b:c4:94:cf:fd:17 brd ff:ff:ff:ff:ff:ff
 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0

デフォルトでは、単一ホスト上のすべてのゲストが、default という名前の libvirt 仮想ネットワークに接続されています。このネットワーク上のゲストは、以下の接続を行うことができます。

  • 互いに、そして仮想化ホストと

    インバウンドトラフィックとアウトバウンドトラフィックの両方が可能ですが、ゲストオペレーティングシステムのネットワークスタック内のファイアウォールと、ゲストインターフェースに付加された libvirtネットワークフィルタリングルールに影響されます。

  • 仮想化ホストを超えたネットワーク上の他のホストと

    送信トラフィックのみが可能であり、ネットワークアドレス変換(NAT)ルールおよびホストシステムのファイアウォールの影響を受けます。

仮想マシンからの基本的なアウトバウンドのみのネットワークアクセスでは、デフォルトのネットワークが libvirt パッケージと一緒にインストールされるため、libvirtd サービスが開始されるときに自動的に開始するため、通常追加のネットワーク設定は必要ありません。

より高度な機能が必要な場合は、virshを使用して追加のネットワークを作成して設定することができ、仮想マシンの XML 設定ファイルを編集して、これらの新しいネットワークのいずれかを使用することができます。

デフォルト設定の詳細については、 「仮想ネットワークのデフォルト設定 (機械翻訳)」

必要に応じて、ゲストインターフェイスを代わりに次のモードのいずれかに設定できます。

仮想ネットワークは、ネットワークアドレス変換 (NAT) を使用して、仮想ネットワークに IP アドレス範囲を割り当て、dnsmasq を使用して、仮想マシンのネットワークインターフェイスカード (NIC) にIPアドレスを自動的に割り当て、ドメインネームサービス(DNS)に接続します。

仮想ネットワーキングには、次の機能があります。

9.1. ルーテッドモードの仮想ネットワーク (機械翻訳)

Routed モードを使用する場合は、仮想スイッチを、ホストマシンに接続された物理 LAN に接続し、NAT を使用せずにトラフィックをやり取りします。仮想スイッチはすべてのトラフィックを調べ、ネットワークパケットに含まれる情報を使用してルーティングを決定できます。このモードを使用すると、すべての仮想マシンがそれぞれ独自のサブネットに属し、仮想スイッチを介してルーティングされます。これにより着信接続が可能になりますが、外部ネットワーク上のシステムには追加のルーティングテーブルエントリが必要になります。ルーテッドモードは、OSIネットワークモデルのレイヤ3で動作します。

vn 06 routed switch

一般的なトポロジ

ルーテッドモードが使用される2つの一般的なトポロジは次のとおりです。

  • DMZ
  • 仮想サーバーホスティング
DMZ

セキュリティ上の理由から、1つ以上のノードが制御されたサブネットワークに配置されているネットワークを作成できます。そのようなサブネットワークは非武装地帯(DMZ)として知られている。

vn 09 routed mode DMZ

DMZ内のホストマシンは通常、LAN(内部)ホストマシンだけでなくWAN(外部)ホストマシンにもサービスを提供します。これには複数の場所からアクセスできることが必要であり、これらの場所はセキュリティと信頼レベルに基づいてさまざまな方法で制御および操作されることを考慮すると、ルーテッドモードがこの環境に最適な設定です。

仮想サーバーホスティング

仮想サーバーホスティングプロバイダは、それぞれ2つの物理ネットワーク接続を持つ複数のホストマシンを持つことができます。一方のインターフェースは管理とアカウンティングに使用され、もう一方のインターフェースは仮想マシンの接続に使用されます。各仮想マシンには独自のパブリックIPアドレスがありますが、ホストマシンはプライベートIPアドレスを使用するため、仮想マシンの管理は内部管理者のみが実行できます。

vn 10 routed mode datacenter

9.2. ブリッジモードの仮想ネットワーク (機械翻訳)

Bridged モードを使用する場合、仮想マシン (VM) は、ローカルイーサネットに接続されている物理イーサネットデバイスにも直接接続されているブリッジデバイスに接続されています。その結果、VMは物理ネットワーク上で直接見えるようになります。これにより着信接続が可能になりますが、追加のルーティングテーブルエントリは必要ありません。

vn Bridged Mode Diagram

ブリッジモードのVMは、ホスト上の既存のLinuxブリッジに接続する必要があるため、ホストインターフェイス上にネットワークブリッジを作成する必要があります。一方、その他の VM ネットワークモードは、virbr0 仮想ブリッジを自動的に作成して接続します。

すべての仮想マシンは、ホストマシンと同じサブネット内にあります。同じ物理ネットワーク上の他のすべての物理マシンは仮想マシンを認識しており、それらにアクセスできます。ブリッジングは、OSIネットワークモデルのレイヤ2で動作します。

結合で結合することによって、ハイパーバイザー上で複数の物理インターフェースを使用することが可能です。次に結合がブリッジに追加され、次に仮想マシンもブリッジに追加されます。ただし、ボンディングドライバにはいくつかの動作モードがあり、VMが使用されているブリッジで動作するのはこれらのモードのほんの一部だけです。

警告

ブリッジモードを使用する場合、仮想マシンで使用されるべきボンディングモードはモード1、モード2、およびモード4だけです。モード0、3、5、または6を使用すると、接続が失敗する可能性があります。Address Resolution Protocol(ARP;アドレス解決プロトコル)モニタリングは機能しないため、ボンディングモードのモニタリングにはMedia-Independent Interface(MII)モニタリングを使用する必要があります。

一般的なシナリオ

ブリッジモードの最も一般的な使用例は次のとおりです。

  • 既存のネットワークにホストマシンと一緒に仮想マシンを配置することで、仮想マシンと物理マシンの違いをエンドユーザーに意識させないようにする
  • 既存の物理ネットワーク構成設定を変更せずに仮想マシンを展開する。
  • 既存の物理ネットワークに簡単にアクセスできる必要がある仮想マシンを展開する。DHCPなど、既存のブロードキャストドメイン内のサービスにアクセスする必要がある物理ネットワーク上に仮想マシンを配置する。
  • VLANが使用されている既存のネットワークに仮想マシンを接続する。

関連資料

9.3. 分離モードの仮想ネットワーク (機械翻訳)

Isolated モードを使用する場合、仮想スイッチに接続されているゲストは相互に通信でき、ホストマシンとも通信できますが、トラフィックはホストマシンの外部を通過せず、ホストマシンの外部からトラフィックを受信できません。このモードでdnsmasqを使用することは、DHCPなどの基本機能に必要です。

vn 07 isolated switch

9.4. 仮想ネットワークネットワークアドレス変換 (機械翻訳)

デフォルトでは、仮想ネットワークスイッチはNATモードで動作します。それらはSource-NAT(SNAT)かDestination-NAT(DNAT)よりもむしろIPマスカレードを使用します。IPマスカレードを使用すると、接続しているゲストはホストマシンのIPアドレスを使用して外部ネットワークと通信できます。仮想ネットワークスイッチがNATモードで動作している場合、ホストの外部にあるコンピュータは内部のVMと通信できません。

vn 04 hostwithnatswitch
警告

仮想ネットワークスイッチは、iptablesの規則で設定されたNATを使用します。スイッチの動作中にこれらのルールを編集することはお勧めできません。ルールが正しくないと、スイッチが通信できなくなる可能性があるためです。

スイッチが稼働していない場合は、次のコマンドを実行してポートマスカレード範囲を作成するために、転送モードNATのパブリックIP範囲を設定できます。

# iptables -j SNAT --to-source [start]-[end]

9.5. オープンモードの仮想ネットワーク (機械翻訳)

ネットワークに Open モードを使用すると、libvirt は、ネットワークに iptables ルールを生成しません。その結果、iptables ルールは、libvirt の範囲外で追加されたルールは上書きされないため、iptables ルールは手動で管理できます。

9.6. 仮想ネットワークDNSとDHCP (機械翻訳)

libvirt パッケージには、仮想ネットワーク用の動的ホスト構成プロトコル (DHCP) サーバーとドメインネームシステム(DNS)フォワーダーを提供する dnsmasq が含まれます。

dnsmasq DHCPサービスは、仮想ネットワークスイッチにアドレスのプールを割り当てることができます。IP情報はDHCPを介して仮想マシンに割り当てることができます。

dnsmasq は、仮想ネットワーク上の仮想マシンから DNS クエリーを受け入れ、それらを実際の DNS サーバーに転送します。

dnsmasq のインスタンスは、それを必要とする各仮想ネットワークの libvirtにより自動的に設定され、起動します。

9.7. 仮想ネットワークのデフォルト設定 (機械翻訳)

libvirtdデーモン(libvirtd)が最初にインストールされ、NATモードの初期仮想ネットワークスイッチ設定が含まれています。この構成は、インストール済みのゲストがホストマシンを介して外部ネットワークと通信できるようにするために使用されます。次の図は、libvirtd: のデフォルト設定を示しています。

vn 08 network overview
注記

仮想ネットワークは特定の物理インタフェースに制限できます。これは、いくつかのインタフェースを持つ物理システムで役に立ちます (たとえば、eth0eth1、および eth2)。新しい仮想ネットワークを作成する場合、これは routed モードおよび NAT モードでのみ役に立ち、dev=<interface> オプション、または RHEL 8 Web コンソールで定義できます。

第10章 RHEL 8で仮想マシンを保護する (機械翻訳)

仮想マシン(VM)を備えたシステムの管理者として、VMをできる限り安全にすることで、ゲストおよびホストOSが悪意のあるソフトウェアに感染するリスクを大幅に低減できます。

このドキュメントは、RHEL 8 ホストの mechanics of securing VMs の要点を表し、仮想マシンのセキュリティーを強化する a list of methods を示します。

10.1. 仮想マシンにおけるセキュリティの仕組み (機械翻訳)

仮想マシン(VM)を使用している場合は、単一のホストマシン内に複数のオペレーティングシステムを収容できます。これらのシステムは、ハイパーバイザーを介して、通常は仮想ネットワークを介してホストと接続されています。結果として、各VMは悪意のあるソフトウェアでホストを攻撃するためのベクトルとして使用される可能性があり、ホストは任意のVMを攻撃するためのベクトルとして使用される可能性があります。

図10.1 仮想化ホスト上での潜在的なマルウェア攻撃ベクトル

virt sec successful attack

ハイパーバイザーはホストカーネルを使用してVMを管理するため、VMのオペレーティングシステムで実行されているサービスは、悪意のあるコードをホストシステムに挿入するために頻繁に使用されます。ただし、ホストとゲストシステムで a number of security featuresを使用して、このようなセキュリティの脅威からシステムを保護できます。

SELinuxやQEMUサンドボックスなどのこれらの機能は、悪意のあるコードがハイパーバイザーを攻撃し、ホストとVM間で転送することをより困難にするさまざまな手段を提供します。

図10.2 仮想化ホストへのマルウェア攻撃の防止

virt sec prevented attack

RHEL 8が提供するVMセキュリティの機能の多くは常にアクティブであり、有効にしたり設定したりする必要はありません。詳細は「仮想マシンセキュリティのための自動機能 (機械翻訳)」を参照してください。

さらに、VMとハイパーバイザーの脆弱性を最小限に抑えるために、さまざまなベストプラクティスに従うことができます。詳細は「仮想マシンを保護するためのベストプラクティス (機械翻訳)」を参照してください。

10.2. 仮想マシンを保護するためのベストプラクティス (機械翻訳)

以下の手順に従うことで、仮想マシンが悪意のあるコードに感染し、ホストシステムに感染するための攻撃経路として使用されるリスクを大幅に減らすことができます。

ゲスト側:

  • 仮想マシンを物理マシンと同じように保護します。セキュリティを強化するために利用できる具体的な方法は、ゲストOSによって異なります。

    VM で RHEL 8を実行している場合は、ゲストシステムのセキュリティーを強化する方法を、Configuring and managing security in RHEL 8 で参照してください。

ホスト側:

  • VMをリモートで管理する場合は、SSH などの暗号化ユーティリティと、SSL などのネットワークプロトコルを使用して、VM に接続します。
  • SELinuxが強制モードになっていることを確認します。

    # getenforce
    Enforcing

    SELinux が無効または Permissive モードになっている場合は、Enforcing モードを有効にする手順について、Configuring and managing securityを参照してください。

    注記

    SELinux Enforcingモードでは、sVirt RHEL 8機能も有効になります。これは、仮想化のための特別な SELinux ブール値のセットです。これは、VM セキュリティーを詳細に管理するための manually adjustedになります。

  • でVMを使用する セキュアブート

    SecureBootは、VMが暗号化された署名付きOSを実行していることを確認する機能です。これにより、マルウェア攻撃によってOSが変更されたVMが起動するのを防ぎます。

    SecureBootは、OVMFファームウェアを使用するLinux VMをインストールするときにのみ適用できます。手順については、 「SecureBoot仮想マシンを作成する (機械翻訳)」

  • qemu-imgなどの qemu-* コマンドを使用しないでください。

    QEMUはRHEL 8の仮想化アーキテクチャの重要なコンポーネントですが、手動で管理するのは困難であり、不適切なQEMU設定はセキュリティの脆弱性を引き起こす可能性があります。したがって、 qemu-* コマンドはRed Hatではサポートされていません。代わりに、virshvirt-installvirt-xmlなどの libvirt ユーティリティーを使用して、QEMU と対話することが強く推奨されます。これは、ベストプラクティスに従って QEMU を編成します。

関連資料

10.3. SecureBoot仮想マシンを作成する (機械翻訳)

以下は、SecureBoot 機能を使用する Linux 仮想マシンを使用する方法を説明します。これは、仮想マシンが、暗号で署名された OS を実行していることを保証します。VMのゲストOSがマルウェアによって変更された場合、SecureBootはVMの起動を阻止します。これにより、マルウェアがホストマシンに拡散する可能性がなくなります。

前提条件

  • VMはQ35マシンタイプを使用しています。
  • edk2-OVMF パッケージがインストールされています。

    # yum install edk2-ovmf
  • オペレーティングシステム(OS)のインストールソース。次のいずれかになります。ローカルまたはネットワーク上で使用できます。

    • DVDなどの物理的なインストール媒体
    • インストールメディアの ISO イメージ
    • 既存のゲストインストールのディスクイメージ
  • 必要に応じて、インストールをより速く簡単に設定するためにKickstartファイルを提供することもできます。

手順

  1. 「コマンドラインインターフェイスを使用した仮想マシンの作成 (機械翻訳)」に従って、virt-install コマンドを使用して、仮想マシン (VM) を作成します。--boot オプションの場合は、uefi,nvram_template=/usr/share/OVMF/OVMF_VARS.secoot.fd 値を使用します。これは、OVMF_VARS.secboot.fd ファイルおよび OVMF_CODE.secboot.fd ファイルをテンプレートとして使用します。VM の不揮発性 RAM (NVRAM) 設定のテンプレートとして使用します。それは、SecureBoot機能を有効にします。

    以下に例を示します。

    # virt-install --name rhel8sb --memory 4096 --vcpus 4 --os-variant rhel8.0 --boot uefi,nvram_template=/usr/share/OVMF/OVMF_VARS.secboot.fd --disk boot_order=2,size=10 --disk boot_order=1,device=cdrom,bus=scsi,path=/images/RHEL-8.0-installation.iso
  2. 画面の指示に従ってOSのインストール手順に従ってください。
  3. ゲスト OS がインストールされたら、the graphical guest consoleで端末を開いて VM のコマンドラインにアクセスするか、using SSHゲスト OS へ接続します。
  4. mokutil --sb-state コマンドで、SecureBoot が有効になっていることを確認します。

    # mokutil --sb-state
    SecureBoot enabled

10.4. 仮想マシンセキュリティのための自動機能 (機械翻訳)

「仮想マシンを保護するためのベストプラクティス (機械翻訳)」 に記載されている仮想マシンのセキュリティーを向上させるための手動の手段に加えて、RHEL 8 では、仮想化を使用する場合は、libvirt ソフトウェアスイートにより、多くのセキュリティー機能が提供され、自動的に有効になっています。これらが含まれます:

システムセッションとユーザーセッション

RHEL 8 で仮想マシン管理に使用できるすべてのユーティリティーにアクセスするには、libvirt の システムセッション を使用する必要があります。そのためには、システム上で root 権限を持っているか、または libvirt ユーザーグループの一部である必要があります。

libvirt グループに属していない root 以外のユーザーは、libvirt ユーザーセッション にのみアクセスできます。それは、リソースにアクセスする際に、ローカルユーザーのアクセス権限が有効である必要があります。たとえば、ユーザーセッションでは、システムセッション内または他のユーザーによって作成されたVMを検出またはアクセスすることはできません。また、利用可能なVMネットワーク構成オプションは大幅に制限されています。

注記

RHEL 8のドキュメントは、あなたがlibvirtシステムセッション特権を持っていることを前提としています。

仮想マシンの分離
個々のVMはホスト上で独立したプロセスとして実行され、ホストカーネルによって実施されるセキュリティに依存します。したがって、VMは同じホスト上の他のVMのメモリまたはストレージを読み取ったりアクセスしたりすることはできません。
QEMUサンドボックス
QEMUコードがホストのセキュリティを危険にさらす可能性があるシステムコールを実行するのを防ぐ機能。
カーネルアドレス空間のランダム化(KASLR)
カーネルイメージが解凍される物理アドレスと仮想アドレスのランダム化を有効にします。したがって、KASLRは、カーネルオブジェクトの場所に基づいたゲストセキュリティの悪用を防止します。

10.5. RHEL 8の仮想化ブール値 (機械翻訳)

RHEL 8システムで仮想マシンセキュリティをきめ細かく設定するために、ハイパーバイザーが特定の方法で動作するように、ホスト上でSELinuxブール値を設定できます。

仮想化関連のブール値とそのステータスをすべて一覧表示するには、getsebool -a | grep virt コマンドを実行します。

$ getsebool -a | grep virt
[...]
virt_sandbox_use_netlink --> off
virt_sandbox_use_sys_admin --> off
virt_transition_userdomain --> off
virt_use_comm --> off
virt_use_execmem --> off
virt_use_fusefs --> off
[...]

特定のブール値を有効にするには、root で setsebool -P boolean_name onコマンドを実行します。ブール値を無効にするには、 setsebool -P boolean_name off

次の表に、RHEL 8で利用可能な仮想化関連のブール値とそれらが有効になったときの動作を示します。

表10.1 SELinux仮想化ブール値

SELinuxブール値説明

staff_use_svirt

root以外のユーザーがVMを作成してsVirtに移行できるようにします。

unprivuser_use_svirt

権限のないユーザーがVMを作成してsVirtに移行できるようにします。

virt_sandbox_use_audit

サンドボックスコンテナが監査メッセージを送信できるようにします。

virt_sandbox_use_netlink

サンドボックスコンテナがnetlinkシステムコールを使用できるようにします。

virt_sandbox_use_sys_admin

サンドボックスコンテナがmountなどのsys_adminシステムコールを使用できるようにします。

virt_transition_userdomain

仮想プロセスをユーザードメインとして実行できるようにします。

virt_use_comm

virtがシリアル/パラレル通信ポートを使用できるようにします。

virt_use_execmem

制限付き仮想ゲストが実行可能メモリと実行可能スタックを使用できるようにします。

virt_use_fusefs

virtがFUSEマウントファイルを読み込めるようにします。

virt_use_nfs

virtがNFSマウントファイルを管理できるようにします。

virt_use_rawip

virtがrawipソケットとやり取りできるようにします。

virt_use_samba

virtがCIFSマウントファイルを管理できるようにします。

virt_use_sanlock

制限付きの仮想ゲストがサンロックと対話できるようにします。

virt_use_usb

virtがUSBデバイスを使用できるようにします。

virt_use_xserver

仮想マシンがX Window Systemと対話できるようにします。

第11章 RHEL 8仮想化における機能サポートと制限 (機械翻訳)

この文書はRed Hat Enterprise Linux 8(RHEL 8)仮想化における機能サポートと制限に関する情報を提供します。

11.1. RHEL 8仮想化サポートの仕組み (機械翻訳)

Red Hat Enterprise Linux 8(RHEL 8)での仮想化には、一連のサポート制限が適用されます。つまり、RHEL 8で仮想マシンを使用しているときに特定の機能を使用したり、割り当てられたリソースの量を超えたりすると、特定のサブスクリプションプランがない限り、Red Hatはこれらのゲストをサポートしません。

「RHEL 8仮想化における推奨機能 (機械翻訳)」 に記載されている機能は、RHEL 8 システムの KVM ハイパーバイザーと連携するように、Red Hat によりテストおよび認定されています。したがって、それらは完全にサポートされており、RHEL 8の仮想化での使用に推奨されています。

「RHEL 8仮想化でサポートされていない機能 (機械翻訳)」 に記載されている機能は動作する場合もありますが、サポート対象外であり、RHEL 8 での使用は意図されていません。したがって、Red HatはRHEL 8とKVMのこれらの機能を使用しないことを強く推奨します。

「RHEL 8仮想化におけるリソース割り当て制限 (機械翻訳)」 RHEL 8のKVMゲストでサポートされる特定のリソースの最大量を一覧表示します。これらの制限を超えるゲストは、Red Hatではサポートされていません。

さらに、特に明記しない限り、RHEL 8仮想化に関する資料で使用されているすべての機能とソリューションがサポートされています。ただし、これらの一部は完全にはテストされていないため、完全に最適化されていない可能性があります。

注記

これらの制限の多くは、Red Hat Virtualization(RHV)やRed Hat OpenStack Platform(RHOSP)など、Red Hatが提供する他の仮想化ソリューションには適用されません。

11.3. RHEL 8仮想化でサポートされていない機能 (機械翻訳)

以下の機能は、Red Hat Enterprise Linux 8(RHEL 8)に含まれているKVMハイパーバイザーではサポートされていません。

注記

これらの制限の多くは、Red Hat Virtualization(RHV)やRed Hat OpenStack Platform(RHOSP)など、Red Hatが提供する他の仮想化ソリューションには適用されません。

  • ゲストオペレーティングシステム

    RHEL 8ホスト上で次のゲストオペレーティングシステムを使用するKVM仮想マシンはサポートされていません。

    • Microsoft Windows 8.1以前
    • Microsoft Windows Server 2012以前
    • マックOS
    • x86システム用のSolaris
    • 2009年より前にリリースされたすべてのOS
  • vCPUのホットプラグ

    実行中のKVM仮想マシンから仮想CPU(vCPU)を取り外すこと(vCPUのホットプラグ解除とも呼ばれます)は、RHEL 8ではサポートされておらず、それを使用するとVMがクラッシュすることがあります。したがって、Red Hatはその使用に対して強く助言します。

  • メモリホットプラグ

    KVM仮想マシンの実行に割り当てられているメモリ制限(メモリのホットプラグ解除とも呼ばれる)を減らすことはRHEL 8ではサポートされておらず、それを使用するとVMがクラッシュする可能性があります。したがって、Red Hatはその使用に対して強く助言します。

  • SR-IOVネットワーキング

    シングルルートI / O仮想化(SR-IOV)ネットワークは、RHEL 8ではサポートされていません。

  • I / O調整

    I / Oスロットリングとも呼ばれる、仮想ディスクに対する操作の最大入力レベルと出力レベルの設定は、RHEL 8ではサポートされていません。

  • ストレージライブマイグレーション

    実行中の仮想マシンのディスクイメージをホスト間で移行することは、RHEL 8ではサポートされていません。

  • ライブスナップショット

    稼働中の仮想マシンのスナップショット(ライブスナップショットとも呼ばれる)の作成またはロードは、RHEL 8ではサポートされていません。

  • 仮想ホストユーザー

    RHEL 8は、ユーザースペースのvHostインターフェイスの実装をサポートしていません。

  • S3およびS4システム電源状態

    仮想マシンを Suspend to RAM (S3) または Suspend to disk (S4) のシステム電源状態にサスペンドすることはサポートされていません。これらの機能はデフォルトで無効になっているため、有効にすると仮想マシンがRed Hatでサポートされなくなります。

  • マルチパスvDisk上のS3-PR

    マルチパスvDiskでのSCSI 3 Persistent Reservation(S3-PR)は、RHEL 8ではサポートされていません。結果として、Windows ClusterはRHEL 8ではサポートされていません。Windowsクラスタのサポートが必要な場合は、代わりにRed Hat Virtualization(RHV)を使用してください。

  • virtio-crypto

    virtio-crypto デバイスのドライバーは RHEL 8 カーネルで使用可能であるため、特定の状況下で、KVM ハイパーバイザーでデバイスを有効にできます。ただし、virtio-crypto デバイスを使用することは RHEL 8 ではサポートされていないため、使用しないことが強く推奨されます。

関連資料

11.4. RHEL 8仮想化におけるリソース割り当て制限 (機械翻訳)

以下の制限は、Red Hat Enterprise Linux 8(RHEL 8)ホスト上の単一の仮想マシンに割り当てることができる仮想化リソースに適用されます。

注記

これらの制限の多くは、Red Hat Virtualization(RHV)やRed Hat OpenStack Platform(RHOSP)など、Red Hatが提供する他の仮想化ソリューションには適用されません。

  • ホストあたりの最大仮想マシン

    1 台の RHEL 8 ホストでは、同時に実行するゲストを 4 台までサポートします。

  • ゲストあたりの最大vCPU

    RHEL 8 は、1 台の KVM ゲストに割り当てられる vCPU を 384 までサポートします。

  • ゲストあたりのPCIデバイス

    RHEL 8 は、各仮想マシンバスの PCI デバイススロットを 32 までサポートし、デバイススロットの PCI 機能を 8 までサポートします。仮想マシンで多機能機能が有効になっていて、PCIブリッジが使用されていない場合、これにより、バスあたり理論上最大256個のPCI機能が得られます。

    各PCIブリッジは新しいバスを追加し、潜在的に他の256デバイスアドレスを有効にします。ただし、一部のバスでは256個のデバイスアドレスすべてをユーザーが使用できるわけではありません。たとえば、ルートバスにはスロットを占有する組み込みデバイスがいくつかあります。

  • 仮想化IDEデバイス

    KVM は、各仮想マシンで仮想化されている IDC デバイスの最大数を 4 に制限します。

法律上の通知

Copyright © 2019 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.