2.8. 仮想ディスク
2.8.1. 仮想マシンストレージについて
Red Hat Virtualization は、NFS、iSCSI、FCP の 3 つのストレージタイプをサポートしています。
それぞれのタイプで、Storage Pool Manager (SPM) と呼ばれるホストが、ホストとストレージ間のアクセスを管理します。SPM ホストは、ストレージプール内でフルアクセスできる唯一のノードです。SPM は、ストレージドメインのメタデータとプールのメタデータを変更できます。他のすべてのホストは、仮想マシンのハードディスクイメージデータにのみアクセスできます。
NFS、ローカル、または POSIX 準拠のデータセンターの場合、SPM はデフォルトで、ファイルシステム内のファイルとしてシンプロビジョニングされた形式を使用して仮想ディスクを作成します。
iSCSI およびその他のブロックベースのデータセンターの場合、SPM は、提供された論理ユニット番号 (LUN) の上にボリュームグループを作成し、仮想ディスクとして使用する論理ボリュームを作成します。ブロックベースのストレージ上の仮想ディスクは、デフォルトで事前に割り当てられています。
仮想ディスクが事前に割り当てられている場合は、GB 単位で指定されたサイズの論理ボリュームが作成されます。仮想マシンは、kpartx
、vgscan
、vgchange
、または mount
を使用して Red Hat Enterprise Linux サーバーにマウントし、仮想マシンのプロセスまたは問題を調査できます。
仮想ディスクがシンプロビジョニングされる場合は、1 GB の論理ボリュームが作成されます。論理ボリュームは、仮想マシンが実行しているホストによって継続的に監視されます。使用量がしきい値に近づくとすぐに、ホストは SPM に通知し、SPM は論理ボリュームを 1GB 拡張します。ホストは、論理ボリュームが拡張された後、仮想マシンを再開する責任があります。仮想マシンが一時停止状態になる場合は、SPM が時間内にディスクを拡張できなかったことを意味します。これは、SPM がビジー状態であるか、十分なストレージスペースがない場合に発生します。
事前に割り当てられた (raw) 形式の仮想ディスクの書き込み速度は、シンプロビジョニング (QCOW2) 形式の仮想ディスクの書き込み速度を大幅に上回ります。シンプロビジョニングでは、仮想ディスクの作成にかかる時間が大幅に短縮されます。シンプロビジョニング形式は、I/O を多用しない仮想マシンに適しています。I/O 書き込みが多い仮想マシンには、事前に割り当てられた形式が推奨されます。仮想マシンが 4 秒ごとに 1GB を超える書き込みを実行できる場合は、可能であれば事前に割り当てられたディスクを使用してください。
2.8.2. 仮想ディスクの概要
Red Hat Virtualization のストレージオプションには、事前割り当て (シックプロビジョニング) と スパース (シンプロビジョニング) があります。
事前割り当て
事前割り当ての仮想ディスクは、仮想マシンに必要なすべてのストレージを事前に割り当てます。たとえば、仮想マシンのデータパーティション用に事前に割り当てられた 20 GB の論理ボリュームは、作成直後に 20GB のストレージスペースを占有します。
スパース
スパース割り当てを使用すると、管理者は仮想マシンに割り当てるストレージの合計を定義できますが、ストレージは必要な場合にのみ割り当てられます。
たとえば、20 GB のシンプロビジョニングされた論理ボリュームは、最初に作成されたときに 0 GB のストレージスペースを占有します。オペレーティングシステムがインストールされると、インストールされたファイルのサイズを占める可能性があり、最大 20 GB まで追加されるにつれて大きくなり続けます。
ディスクの Virtual Size は、
ディスクの Actual Size は、ストレージドメインとテンプレートの詳細ビューの Disks タブで確認できます。これは、これまでに仮想マシンに割り当てられたディスク容量です。事前に割り当てられたディスクは、Virtual Size と Actual Size が同じになります。スパースディスクは、割り当てられているディスク容量に応じて、異なる値を表示する場合があります。
次の表に、ストレージのタイプとフォーマットの可能な組み合わせを示します。
ストレージ | フォーマット | タイプ | 注記 |
---|---|---|---|
NFS | Raw | 事前割り当て | 仮想ディスクに定義されたストレージの量に等しい、フォーマットされていない初期サイズのファイル。 |
NFS | Raw | スパース | 初期サイズがゼロに近く、フォーマットされていないファイル。 |
NFS | QCOW2 | スパース | 初期サイズがゼロに近く、QCOW2 フォーマットのファイル。後続のレイヤーは QCOW2 フォーマットになります。 |
SAN | Raw | 事前割り当て | 仮想ディスクに定義されたストレージの量に等しい、フォーマットされていない初期サイズのブロックデバイス。 |
SAN | QCOW2 | スパース | 初期サイズが仮想ディスクに定義されたサイズ (現在は 1 GB) よりもはるかに小さく、必要に応じてスペースが割り当てられる QCOW2 フォーマット (現在は 1 GB 刻み) のブロックデバイス。 |
2.8.3. 削除後に仮想ディスクをワイプするための設定
管理ポータルで Wipe After Delete チェックボックスとして表示される wipe_after_delete
フラグは、仮想ディスクが削除されると使用済みデータをゼロに置き換えます。デフォルトの false に設定されている場合、ディスクを削除すると、それらのブロックが再利用できるようになりますが、データは消去されません。その場合、ブロックがゼロに戻されていないため、このデータが復元される可能性があります。
wipe_after_delete
フラグは、ブロックストレージでのみ機能します。NFS などのファイルストレージでは、ファイルシステムがデータが存在しないことを確認するため、このオプションによる影響はありません。
仮想ディスクに対して wipe_after_delete
を有効にするとさらにセキュアになるため、仮想ディスクに機密データが含まれている場合に推奨されます。これはより負荷の高い操作であり、パフォーマンスの低下と削除時間の延長が発生する可能性があります。
Wipe After Delete 機能はセキュアな削除とは異なります。同じストレージ上に作成された新しいディスクが古いディスクからのデータを公開しないだけで、ストレージからのデータの削除は保証されません。
wipe_after_delete
フラグのデフォルトは、セットアップ時に true
に変更できます (Red Hat Virtualization Manager の設定 を参照)。または、Red Hat Virtualization Manager で engine-config
ツールを使用して変更できます。設定の変更を有効にするには、ovirt-engine
サービスを再起動します。
wipe_after_delete
フラグのデフォルト設定を変更しても、既存のディスクの Wipe After Delete プロパティーには影響しません。
エンジン設定ツールを使用して SANWipeAfterDelete をデフォルトの True に設定
--set
アクションを指定してengine-config
ツールを実行します。# engine-config --set SANWipeAfterDelete=true
変更を反映するには、
ovirt-engine
サービスを再起動します。# systemctl restart ovirt-engine.service
ホストにある /var/log/vdsm/vdsm.log ファイルをチェックして、仮想ディスクが正常に消去および削除されたことを確認できます。
正常にワイプされると、ログファイルには storage_domain_id/volume_id was zeroed and will be deleted
が記録されます。以下に例を示します。
a9cb0625-d5dc-49ab-8ad1-72722e82b0bf/a49351a7-15d8-4932-8d67-512a369f9d61 was zeroed and will be deleted
正常に削除されると、ログファイルには finished with VG:storage_domain_id LVs: list_of_volume_ids, img: image_id
が記録されます。以下に例を示します。
finished with VG:a9cb0625-d5dc-49ab-8ad1-72722e82b0bf LVs: {'a49351a7-15d8-4932-8d67-512a369f9d61': ImgsPar(imgs=['11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d'], parent='00000000-0000-0000-0000-000000000000')}, img: 11f8b3be-fa96-4f6a-bb83-14c9b12b6e0d
ワイプに失敗すると、zeroing storage_domain_id/volume_id failedZero and remove this volume manually
のログメッセージが表示され、削除に失敗すると Remove failed for some of VG: storage_domain_id zeroed volumes: list_of_volume_ids
が表示されます。
2.8.5. Red Hat Virtualization の読み取り専用ディスク
一部のアプリケーションでは、管理者が読み取り専用の権限でデータを共有する必要があります。これは、仮想マシンにアタッチされたディスクを作成または編集する際に、仮想マシンの詳細ビューにある Disks タブで Read Only チェックボックスをオンにすることで実行できます。これにより、管理者の書き込み権限を維持しつつ、複数のクラスター対応ゲストによる同一ディスクの読み取りを可能にできます。
仮想マシンの実行中は、ディスクの読み取り専用ステータスを変更することはできません。
ジャーナルファイルシステムをマウントするには、読み取り/書き込みアクセスが必要です。Read Only オプションの使用は、そのようなファイルシステム (EXT3、EXT4、XFS など) を含む仮想ディスクには適していません。
2.8.6. 仮想ディスクタスク
2.8.6.1. 仮想ディスクの作成
Image ディスクの作成は、すべて Manager が管理します。Direct LUN ディスクには、外部で準備された、既存のターゲットが必要です。
特定の仮想マシンに接続された仮想ディスクを作成できます。New Virtual Disk ウィンドウの設定 で指定されているように、接続された仮想ディスクを作成するときに追加のオプションを使用できます。
仮想マシンに接続された仮想ディスクの作成
-
をクリックします。 - 仮想マシンの名前をクリックします。詳細ビューが開きます。
- Disks タブをクリックします。
- New をクリックします。
- 適切なボタンをクリックして、仮想ディスクを Image ディスクにするか Direct LUN ディスクにするかを指定します。
- 仮想ディスクに必要なオプションを選択します。オプションは、選択したディスクタイプにより異なります。各ディスクタイプの各オプションの詳細は、New Virtual Disk ウィンドウの設定 を参照してください。
- をクリックします。
どの仮想マシンにも属さないフローティング仮想ディスクを作成することもできます。このディスクは、単一の仮想マシンに接続することも、ディスクが共有可能な場合は複数の仮想マシンに接続することもできます。New Virtual Disk ウィンドウの設定 で指定されているように、仮想ディスクの作成時に一部のオプションを使用できません。
フローティング仮想ディスクの作成
-
をクリックします。 - New をクリックします。
- 適切なボタンをクリックして、仮想ディスクを Image ディスクにするか Direct LUN ディスクにするかを指定します。
- 仮想ディスクに必要なオプションを選択します。オプションは、選択したディスクタイプにより異なります。各ディスクタイプの各オプションの詳細は、New Virtual Disk ウィンドウの設定 を参照してください。
- をクリックします。
2.8.6.2. New Virtual Disk ウィンドウの設定
フローティング仮想ディスクと接続仮想ディスクを作成する際に使用する New Virtual Disk ウィンドウは非常に似ているため、両ウィンドウの設定については 1 つのセクションでまとめて説明しています。
フィールド名 | 説明 |
---|---|
Size(GB) | 新しい仮想ディスクのサイズ (GB 単位)。 |
Alias | 仮想ディスクの名前。最大で 40 文字に制限されています。 |
Description | 仮想ディスクの説明。このフィールドは推奨されますが、必須ではありません。 |
Interface | このフィールドは、接続されたディスクの作成時にのみ表示されます。 ディスクが仮想マシンに提示する仮想インターフェイス。VirtIO はより高速ですが、ドライバーが必要です。Red Hat Enterprise Linux 5 以降にはこれらのドライバーが含まれています。これらのドライバーは Windows には含まれていませんが、virtio-win ISO イメージからインストールできます。IDE および SATA デバイスは特別なドライバーを必要としません。 インターフェイスタイプは、ディスクが接続されているすべての仮想マシンを停止した後に更新できます。 |
Data Center | このフィールドは、フローティングディスクの作成時にのみ表示されます。 仮想ディスクが利用できるデータセンター。 |
Storage Domain | 仮想ディスクが保存されるストレージドメイン。ドロップダウンリストには、特定のデータセンターで使用可能なすべてのストレージドメインが表示され、ストレージドメインで使用可能な合計容量と現在使用可能な容量も表示されます。 |
Allocation Policy | 新しい仮想ディスクのプロビジョニングポリシー。
|
Disk Profile | 仮想ディスクに割り当てられたディスクプロファイル。ディスクプロファイルは、ストレージドメイン内の仮想ディスクのスループットの最大量と入出力操作の最大レベルを定義します。ディスクプロファイルは、データセンター用に作成されたストレージの Quality of Service エントリーに基づき、ストレージドメインレベルで定義されます。 |
Activate Disk(s) | このフィールドは、接続されたディスクの作成時にのみ表示されます。 作成後すぐに仮想ディスクをアクティブ化します。 |
Wipe After Delete | 仮想ディスクが削除されたときに機密資料を削除するための強化されたセキュリティーを有効にできます。 |
Bootable | このフィールドは、接続されたディスクの作成時にのみ表示されます。 仮想ディスクで起動可能フラグを有効にできます。 |
Shareable | 一度に複数の仮想マシンに仮想ディスクを接続できます。 |
Read-Only | このフィールドは、接続されたディスクの作成時にのみ表示されます。 ディスクを読み取り専用として設定できます。同じディスクを読み取り専用として 1 つの仮想マシンに接続したり、別の仮想マシンに再書き込み可能として接続したりできます。 |
Enable Incremental Backup | 仮想ディスクの増分バックアップを有効にします。増分バックアップでは、ディスクを RAW 形式ではなく QCOW2 形式でフォーマットする必要があります。増分バックアップと復元 を参照してください。 |
Enable Discard | このフィールドは、接続されたディスクの作成時にのみ表示されます。 仮想マシンが稼働しているときに、シンプロビジョニングされたディスクを縮小できます。ブロックストレージの場合、基盤となるストレージデバイスは破棄呼び出しをサポートする必要があり、基盤となるストレージが discard_zeroes_data プロパティーをサポートしない限り、このオプションを Wipe After Delete で使用することはできません。ファイルストレージの場合、基盤となるファイルシステムおよびブロックデバイスは破棄呼び出しをサポートする必要があります。すべての要件が満たされている場合、ゲスト仮想マシンから発行された SCSI UNMAP コマンドは、QEMU によって基盤となるストレージに渡され、未使用のスペースが解放されます。 |
Direct LUN 設定は、Targets > LUNs または LUNs > Targets のいずれかに表示できます。Targets > LUNs は、検出されたホストに従って使用可能な LUN をソートしますが、LUNs > Targets は LUN の単一のリストを表示します。
Discover Targets セクションのフィールドに入力し、Discover をクリックしてターゲットサーバーを検出します。次に、Login All ボタンをクリックして、ターゲットサーバーで使用可能な LUN を一覧表示し、各 LUN の横にあるラジオボタンを使用して、追加する LUN を選択します。
LUN を仮想マシンのハードディスクイメージとして直接使用すると、仮想マシンとそのデータの間の抽象化レイヤーが削除されます。
ダイレクト LUN を仮想マシンのハードディスクイメージとして使用する場合は、次の考慮事項を考慮する必要があります。
- ダイレクト LUN ハードディスクイメージのライブストレージ移行はサポートされていません。
- ダイレクト LUN ディスクは、仮想マシンのエクスポートには含まれません。
- ダイレクト LUN ディスクは、仮想マシンのスナップショットには含まれません。
フィールド名 | 説明 |
---|---|
Alias | 仮想ディスクの名前。最大で 40 文字に制限されています。 |
説明 | 仮想ディスクの説明。このフィールドは推奨されますが、必須ではありません。デフォルトでは、LUN ID の最後の 4 文字がフィールドに挿入されます。
デフォルトの動作は、 |
Interface | このフィールドは、接続されたディスクの作成時にのみ表示されます。 ディスクが仮想マシンに提示する仮想インターフェイス。VirtIO はより高速ですが、ドライバーが必要です。Red Hat Enterprise Linux 5 以降にはこれらのドライバーが含まれています。これらのドライバーは Windows には含まれていませんが、virtio-win ISO からインストールできます。IDE および SATA デバイスは特別なドライバーを必要としません。 インターフェイスタイプは、ディスクが接続されているすべての仮想マシンを停止した後に更新できます。 |
Data Center | このフィールドは、フローティングディスクの作成時にのみ表示されます。 仮想ディスクが利用できるデータセンター。 |
Host | LUN がマウントされるホスト。データセンター内の任意のホストを選択できます。 |
Storage Type | 追加する外部 LUN のタイプ。iSCSI または Fibre Channel を選択できます。 |
Discover Targets | iSCSI 外部 LUN を使用しており、Targets > LUNs が選択されている場合、このセクションを展開できます。 Address - ターゲットサーバーのホスト名または IP アドレス。 Port - ターゲットサーバーへの接続を試みるためのポート。デフォルトポートは 3260 です。 User Authentication - iSCSI サーバーにはユーザー認証が必要です。iSCSI 外部 LUN を使用している場合は、User Authentication フィールドが表示されます。 CHAP user name - LUN にログインするパーミッションを持つユーザーのユーザー名。このフィールドには、User Authentication チェックボックスがオンになっている場合にアクセスできます。 CHAP password - LUN にログインするパーミッションを持つユーザーのパスワード。このフィールドには、User Authentication チェックボックスがオンになっている場合にアクセスできます。 |
Activate Disk(s) | このフィールドは、接続されたディスクの作成時にのみ表示されます。 作成後すぐに仮想ディスクをアクティブ化します。 |
Bootable | このフィールドは、接続されたディスクの作成時にのみ表示されます。 仮想ディスクで起動可能フラグを有効にできます。 |
Shareable | 一度に複数の仮想マシンに仮想ディスクを接続できます。 |
Read-Only | このフィールドは、接続されたディスクの作成時にのみ表示されます。 ディスクを読み取り専用として設定できます。同じディスクを読み取り専用として 1 つの仮想マシンに接続したり、別の仮想マシンに再書き込み可能として接続したりできます。 |
Enable Discard | このフィールドは、接続されたディスクの作成時にのみ表示されます。 仮想マシンが稼働しているときに、シンプロビジョニングされたディスクを縮小できます。このオプションを有効にすると、ゲスト仮想マシンから発行された SCSI UNMAP コマンドは、QEMU によって基盤となるストレージに渡され、未使用のスペースが解放されます。 |
Enable SCSI Pass-Through | このフィールドは、接続されたディスクの作成時にのみ表示されます。 Interface が VirtIO-SCSI に設定されている場合に使用できます。このチェックボックスをオンにすると、物理 SCSI デバイスを仮想ディスクにパススルーできます。SCSI パススルーが有効になっている VirtIO-SCSI インターフェイスでは、自動的に SCSI 廃棄がサポートされます。このチェックボックスが選択されている場合、Read-Only はサポートされません。 このチェックボックスが選択されていない場合、仮想ディスクはエミュレートされた SCSI デバイスを使用します。Read-Only は、エミュレートされた VirtIO-SCSI ディスクでサポートされています。 |
Allow Privileged SCSI I/O | このフィールドは、接続されたディスクの作成時にのみ表示されます。 Enable SCSI Pass-Through チェックボックスがオンになっている場合に使用できます。このチェックボックスをオンにすると、フィルタリングされていない SCSI Generic I/O (SG_IO) アクセスが有効になり、ディスク上で特権的な SG_IO コマンドが許可されます。これは永続的な予約に必要です。 |
Using SCSI Reservation | このフィールドは、接続されたディスクの作成時にのみ表示されます。 Enable SCSI Pass-Through および Allow Privileged SCSI I/O チェックボックスがオンになっている場合に使用できます。このチェックボックスをオンにすると、このディスクを使用する仮想マシンの移行が無効になり、SCSI 予約を使用する仮想マシンがディスクにアクセスできなくなるのを防ぐことができます。 |
ジャーナルファイルシステムをマウントするには、読み取り/書き込みアクセスが必要です。Read Only オプションの使用は、そのようなファイルシステム (EXT3、EXT4、XFS など) を含む仮想ディスクには適していません。
2.8.6.3. ライブストレージ移行の概要
仮想ディスクは、それらが接続されている仮想マシンの実行中に、あるストレージドメインから別のストレージドメインに移行できます。これは、ライブストレージ移行と呼ばれます。実行中の仮想マシンに接続されているディスクが移行されると、そのディスクのイメージチェーンのスナップショットがソースストレージドメインに作成され、イメージチェーン全体が宛先ストレージドメインに複製されます。そのため、ソースストレージドメインと宛先ストレージドメインの両方に、ディスクイメージチェーンとスナップショットの両方をホストするのに十分なストレージスペースがあることを確認する必要があります。移行が失敗した場合でも、ライブストレージの移行が試行されるたびに新しいスナップショットが作成されます。
ライブストレージ移行を使用する場合は、次の点を考慮してください。
- 一度に複数のディスクをライブマイグレーションできます。
- 同じ仮想マシンの複数のディスクは複数のストレージドメインにまたがって存在できますが、各ディスクのイメージチェーンは単一のストレージドメインに存在する必要があります。
- 同じデータセンター内の任意の 2 つのストレージドメイン間でディスクをライブマイグレーションできます。
- ダイレクト LUN ハードディスクイメージまたは共有可能としてマークされたディスクをライブマイグレーションすることはできません。
2.8.6.4. 仮想ディスクの移動
仮想マシンに接続されている、またはフローティング仮想ディスクとして機能する仮想ディスクを、あるストレージドメインから別のストレージドメインに移動します。実行中の仮想マシンに接続されている仮想ディスクを移動できます。これは、ライブストレージ移行と呼ばれます。別の方法として、続行する前に仮想マシンをシャットダウンします。
ディスクを移動するときは、次の点を考慮してください。
- 複数のディスクを同時に移動できます。
- 同じデータセンター内の任意の 2 つのストレージドメイン間でディスクを移動できます。
- テンプレートに基づいて作成され、シンプロビジョニングストレージ割り当てオプションを使用した仮想マシンに仮想ディスクが接続されている場合は、仮想マシンのベースとなったテンプレートのディスクを、仮想ディスクと同じストレージドメインにコピーする必要があります。
手順
-
をクリックして、移動する 1 つ以上の仮想ディスクを選択します。 - Move をクリックします。
- Target リストから、仮想ディスクの移動先のストレージドメインを選択します。
- 必要に応じて、Disk Profile リストからディスクのプロファイルを選択します。
- をクリックします。
仮想ディスクは、対象のストレージドメインに移動します。移動の手順の中で、Status 列には Locked
が表示され、移動操作の進捗を示す進捗バーが表示されます。
2.8.6.5. ディスクインターフェイスタイプの変更
ユーザーは、ディスク作成後にディスクのインターフェイスタイプを変更できます。これにより、既存のディスクを、異なるインターフェイスタイプを必要とする仮想マシンに接続できます。たとえば、VirtIO
インターフェイスを使用するディスクは、VirtIO-SCSI
または IDE
インターフェイスを必要とする仮想マシンに接続できます。これにより、バックアップと復元、または障害復旧の目的でディスクを移行する柔軟性が提供されます。共有可能ディスクのディスクインターフェイスは、仮想マシンごとに更新することもできます。これは、共有ディスクを使用する各仮想マシンが異なるインターフェイスタイプを使用できることを意味します。
ディスクインターフェイスタイプを更新するには、最初にディスクを使用するすべての仮想マシンを停止する必要があります。
ディスクインターフェイスタイプの変更*
-
をクリックして、該当する仮想マシンを停止します。 - 仮想マシンの名前をクリックします。詳細ビューが開きます。
- Disks タブをクリックして、ディスクを選択します。
- Edit をクリックします。
- Interface リストから、新しいインターフェイスタイプを選択し、 をクリックします。
別のインターフェイスタイプを必要とする別の仮想マシンにディスクを接続できます。
別のインターフェイスタイプを使用して別の仮想マシンにディスクを接続
-
をクリックして、該当する仮想マシンを停止します。 - 仮想マシンの名前をクリックします。詳細ビューが開きます。
- Disks タブをクリックして、ディスクを選択します。
- Remove をクリックしてから をクリックします。
- Virtual Machines に戻り、ディスクが割り当てられる新しい仮想マシンの名前をクリックします。
- Disks タブをクリックしてから Attach をクリックします。
- Attach Virtual Disks ウィンドウでディスクを選択し、Interface ドロップダウンから適切なインターフェイスを選択します。
- をクリックします。
2.8.6.6. 仮想ディスクのコピー
あるストレージドメインから別のストレージドメインに仮想ディスクをコピーできます。コピーしたディスクは仮想マシンに接続できます。
手順
-
をクリックして、仮想ディスクを選択します。 - Copy をクリックします。
- 必要に応じて、Alias フィールドに新しい名前を入力します。
- Target リストから、仮想ディスクのコピー先のストレージドメインを選択します。
- 必要に応じて、Disk Profile リストからディスクのプロファイルを選択します。
- をクリックします。
コピー中の仮想ディスクのステータスは Locked
です。
2.8.6.7. ディスクパフォーマンスの向上
管理ポータルの仮想マシンの Resource Allocation タブで、デフォルトの I/O Threads Enabled 設定がオン (有効) になっており、スレッド数は 1
です。
仮想マシンに VirtIO コントローラーを備えた複数のディスクがあり、そのワークロードがそれらのコントローラーを大幅に利用しているとします。その場合、I/O スレッドの数を増やすことで、パフォーマンスが向上します。
ただし、I/O スレッドの数を増やすと、仮想マシンのスレッドプールが減少することも考慮してください。ワークロードが VirtIO コントローラーとそれに割り当てたスレッドを使用しない場合は、I/O スレッドの数を増やすと全体的なパフォーマンスが低下する可能性があります。
最適なスレッド数を見つけるには、スレッド数を調整する前後に、ワークロードを実行している仮想マシンのパフォーマンスをベンチマークします。
手順
-
で、仮想マシンの 電源をオフ にします。 - 仮想マシンの名前をクリックします。
- 詳細ペインで、Vm Devices タブをクリックします。
-
Type が
virtio
またはvirtio-scsi
であるコントローラーの数を数えます。 - をクリックします。
- Edit Virtual Machine ウィンドウで、Resource Allocation タブをクリックします。
- I/O Threads Enabled がチェックされている (有効になっている) ことを確認します。
-
I/O Threads Enabled の右側で、スレッドの数を増やしますが、タイプが
virtio
またはvirtio-scsi
であるコントローラーの数を超えないようにします。 - をクリックします。
- 詳細ペインで、Disks タブをクリックします。
- ディスクごとに、More Actions ( ) を使用して、ディスクを 非アクティブ化 および アクティブ化 します。このアクションにより、ディスクがコントローラーに再マップされます。
- をクリックして、仮想マシンを起動します。
検証手順
-
どのコントローラーに I/O スレッドがあるかを確認するには、詳細ペインで Vm Devices をクリックし、Spec Params 列で
ioThreadid=
を探します。 ディスクからコントローラーへのマッピングを確認するには、ホストマシンにログインして、次のコマンドを入力します。
# virsh -r dumpxml virtual_machine_name
2.8.6.8. データストレージドメインへのイメージのアップロード
管理ポータルまたは REST API を使用して、仮想ディスクイメージと ISO イメージをデータストレージドメインにアップロードできます。詳細は、データストレージドメインへのイメージのアップロード を参照してください。
2.8.6.9. インポートされたストレージドメインからのディスクイメージのインポート
インポートされたストレージドメインからフローティング仮想ディスクをインポートできます。
Manager にインポートできるのは QEMU 互換ディスクのみです。
手順
-
をクリックします。 - インポートされたストレージドメインの名前をクリックします。詳細ビューが開きます。
- Disk Import タブをクリックします。
- 1 つ以上のディスクを選択し、Import をクリックします。
- 各ディスクに適切な Disk Profile を選択します。
- をクリックします。
2.8.6.10. インポートされたストレージドメインからの未登録のディスクイメージのインポート
ストレージドメインからフローティング仮想ディスクをインポートできます。Red Hat Virtualization 環境の外部で作成されたフローティングディスクは、Manager には登録されません。ストレージドメインをスキャンして、インポートする未登録のフローティングディスクを特定します。
Manager にインポートできるのは QEMU 互換ディスクのみです。
手順
-
をクリックします。 - ストレージドメインの名前をクリックします。詳細ビューが開きます。
- More Actions ( ) をクリックしてから、Manager が未登録のディスクを特定できるように、Scan Disks ディスクをクリックします。
- Disk Import タブをクリックします。
- 1 つ以上のディスクイメージを選択し、Import をクリックします。
- 各ディスクに適切な Disk Profile を選択します。
- をクリックします。
2.8.6.11. OpenStack Image Service からの仮想ディスクのインポート
OpenStack Image サービスが外部プロバイダーとして Manager に追加されている場合は、その OpenStack Image サービスが管理する仮想ディスクを Red Hat Virtualization Manager にインポートすることができます。
-
をクリックします。 - OpenStack Image Service ドメインの名前をクリックします。詳細ビューが開きます。
- Images タブをクリックして、イメージを選択します。
- Import をクリックします。
- イメージをインポートする データセンター を選択します。
- Domain Name ドロップダウンリストから、イメージが保存されるストレージドメインを選択します。
- 必要に応じて、Quota ドロップダウンリストからイメージに適用するクォータを選択します。
- をクリックします。
これで、ディスクを仮想マシンに接続できます。
2.8.6.12. OpenStack Image Service への仮想ディスクのエクスポート
仮想ディスクは、外部プロバイダーとして Manager に追加された OpenStack Image Service にエクスポートできます。
仮想ディスクは、複数のボリュームがなく、シンプロビジョニングされておらず、スナップショットがない場合にのみエクスポートできます。
-
をクリックして、エクスポートするディスクを選択します。 - More Actions ( ) をクリックしてから、Export をクリックします。
- Domain Name ドロップダウンリストから、ディスクのエクスポート先となる OpenStack Image Service を選択します。
- クォータを適用する場合は、Quota ドロップダウンリストからディスクのクォータを選択します。
- をクリックします。
2.8.6.13. 仮想ディスクスペースの回収
シンプロビジョニングを使用する仮想ディスクは、ファイルを削除した後、自動的に縮小しません。たとえば、実際のディスクサイズが 100 GB で、50 GB のファイルを削除した場合、割り当てられたディスクサイズは 100GB のままであり、残りの 50 GB はホストに返されないため、他の仮想マシンで使用できません。この未使用のディスク領域は、仮想マシンのディスクでスパース操作を実行することにより、ホストによって再利用できます。これにより、空き領域がディスクイメージからホストに転送されます。複数の仮想ディスクを並行してスパース化できます。
この操作は、仮想マシンのクローンを作成する前、仮想マシンに基づいてテンプレートを作成する前、またはストレージドメインのディスク領域をクリーンアップする前に実行してください。
制限
- NFS ストレージドメインは、NFS バージョン 4.2 以降を使用する必要があります。
- ダイレクト LUN を使用するディスクをスパース化することはできません。
- 事前に割り当てられた割り当てポリシーを使用するディスクをスパース化することはできません。テンプレートから仮想マシンを作成する場合は、Storage Allocation フィールドから Thin を選択する必要があります。Clone を選択する場合は、テンプレートがシンプロビジョニングのある仮想マシンに基づいていることを確認してください。
- アクティブなスナップショットのみをスパースできます。
ディスクのスパース化
-
をクリックして、必要な仮想マシンをシャットダウンします。 - 仮想マシンの名前をクリックします。詳細ビューが開きます。
-
Disks タブをクリックします。ディスクのステータスが
OK
であることを確認します。 - More Actions ( ) をクリックしてから、Sparsify をクリックします。
- をクリックします。
Started to sparsify
イベントは、スパース化操作中に Events タブに表示され、ディスクのステータスは Locked
と表示されます。操作が完了すると、Sparsified successfully
イベントが Events タブに表示され、ディスクのステータスが OK
と表示されます。これで未使用のディスク領域はホストに戻され、他の仮想マシンで使用できるようになりました。