8.13. 仮想マシンディスク
8.13.1. 仮想マシンディスクのホットプラグ
仮想マシン (VM) または仮想マシンインスタンス (VMI) を停止することなく、仮想ディスクを追加または削除できます。
データボリュームおよび永続ボリューム要求 (PVC) のみをホットプラグおよびホットアンプラグできます。コンテナーディスクのホットプラグおよびホットアンプラグはできません。
ホットプラグされたディスクは、再起動後も仮想マシンに接続されたままになります。仮想マシンからディスクを削除するには、ディスクを切断する必要があります。
ホットプラグされたディスクを永続的に作成して、仮想マシンに永続的にマウントできます。
各仮想マシンには virtio-scsi
コントローラーがあり、ホットプラグされたディスクが SCSI
バスを使用できるようになります。virtio-scsi
コントローラーは、パフォーマンス上の利点を維持しながら、virtio
の制限を克服します。スケーラビリティーが高く、400 万台を超えるディスクのホットプラグをサポートします。
通常の virtio
はスケーラブルではないため、ホットプラグされたディスクには使用できません。各 virtio
ディスクは、仮想マシン内の限られた PCI Express (PCIe) スロットの 1 つを使用します。PCIe スロットは他のデバイスでも使用されるため、事前に予約する必要があります。したがって、スロットはオンデマンドで利用できない場合があります。
8.13.1.1. Web コンソールを使用したディスクのホットプラグとホットアンプラグ
Red Hat OpenShift Service on AWS Web コンソールを使用して、仮想マシン (VM) の実行中にディスクを仮想マシンに接続して、ディスクをホットプラグできます。
ホットプラグされたディスクは、アンプラグするまで仮想マシンに接続されたままになります。
ホットプラグされたディスクを永続的に作成して、仮想マシンに永続的にマウントできます。
前提条件
- ホットプラグに使用できるデータボリュームまたは永続ボリュームクレーム (PVC) が必要です。
手順
-
Web コンソールで Virtualization
VirtualMachines に移動します。 - 実行中の仮想マシンを選択して、その詳細を表示します。
-
VirtualMachine details ページで、Configuration
Disks をクリックします。 ホットプラグされたディスクを追加します。
- ディスクの追加をクリックします。
- Add disk (hot plugged) ウィンドウで、Source リストからディスクを選択し、Save をクリックします。
オプション: ホットプラグされたディスクを取り外します。
-
ディスクの横にある Options メニュー
をクリックし、Detach を選択します。
- Detach をクリックします。
-
ディスクの横にある Options メニュー
オプション: ホットプラグされたディスクを永続的にします。
-
ディスクの横にある Options メニュー
をクリックし、Make persistent を選択します。
- 仮想マシンを再起動して変更を適用します。
-
ディスクの横にある Options メニュー
8.13.1.2. コマンドラインを使用したディスクのホットプラグとホットアンプラグ
コマンドラインを使用して、仮想マシンの実行中にディスクのホットプラグおよびホットアンプラグを行うことができます。
ホットプラグされたディスクを永続的に作成して、仮想マシンに永続的にマウントできます。
前提条件
- ホットプラグ用に 1 つ以上のデータボリュームまたは永続ボリューム要求 (PVC) が利用可能である必要があります。
手順
次のコマンドを実行して、ディスクをホットプラグします。
$ virtctl addvolume <virtual-machine|virtual-machine-instance> \ --volume-name=<datavolume|PVC> \ [--persist] [--serial=<label-name>]
-
オプションの
--persist
フラグを使用して、ホットプラグされたディスクを、永続的にマウントされた仮想ディスクとして仮想マシン仕様に追加します。仮想ディスクを永続的にマウントするために、仮想マシンを停止、再開または再起動します。--persist
フラグを指定しても、仮想ディスクをホットプラグしたり、ホットアンプラグしたりできなくなります。--persist
フラグは仮想マシンに適用され、仮想マシンインスタンスには適用されません。 -
オプションの
--serial
フラグを使用すると、選択した英数字の文字列ラベルを追加できます。これは、ゲスト仮想マシンでホットプラグされたディスクを特定するのに役立ちます。このオプションを指定しない場合、ラベルはデフォルトでホットプラグされたデータボリュームまたは PVC の名前に設定されます。
-
オプションの
次のコマンドを実行して、ディスクをホットアンプラグします。
$ virtctl removevolume <virtual-machine|virtual-machine-instance> \ --volume-name=<datavolume|PVC>
8.13.2. 仮想マシンディスクの拡張
ディスクの永続ボリューム要求 (PVC) を拡張することで、仮想マシンディスクのサイズを増やすことができます。
ストレージプロバイダーがボリューム拡張をサポートしていない場合は、空のデータボリュームを追加することで、仮想マシンの利用可能な仮想ストレージを拡張できます。
仮想マシンディスクのサイズを減らすことはできません。
8.13.2.1. ディスクの PVC を拡張して仮想マシンディスクサイズを増やす
ディスクの永続ボリューム要求 (PVC) を拡張することで、仮想マシンディスクのサイズを増やすことができます。増加した PVC ボリュームを指定するには、仮想マシンを実行した状態で Web コンソールを使用できます。または、CLI で PVC マニフェストを編集することもできます。
PVC がファイルシステムボリュームモードを使用する場合、ディスクイメージファイルは、ファイルシステムのオーバーヘッド用にスペースを確保しながら、利用可能なサイズまで拡張されます。
8.13.2.1.1. Web コンソールで仮想マシンディスク PVC を拡張する
VirtualMachines ページを離れずに仮想マシンを実行している状態でも、Web コンソールで仮想マシンディスク PVC のサイズを増やすことができます。
手順
- Administrator または Virtualization パースペクティブで、VirtualMachines ページを開きます。
- 実行中の仮想マシンを選択して、Details ページを開きます。
- Configuration タブを選択し、Storage をクリックします。
拡張したいディスクの横にあるオプションメニュー
をクリックします。Edit オプションを選択します。
Edit disk ダイアログが開きます。
- PersistentVolumeClaim size フィールドに、希望のサイズを入力します。
- Save をクリックします。
現在の値より大きい任意の値を入力できます。ただし、新しい値が使用可能なサイズを超える場合は、エラーが表示されます。
8.13.2.1.2. マニフェストを編集して仮想マシンディスク PVC を拡張する
手順
拡張する必要のある仮想マシンディスクの
PersistentVolumeClaim
マニフェストを編集します。$ oc edit pvc <pvc_name>
ディスクサイズを更新します。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: vm-disk-expand spec: accessModes: - ReadWriteMany resources: requests: storage: 3Gi 1 # ...
- 1
- 新しいディスクサイズを指定します。
8.13.2.2. 空のデータボリュームを追加して利用可能な仮想ストレージを拡張する
空のデータボリュームを追加することで、仮想マシンの利用可能なストレージを拡張できます。
前提条件
- 少なくとも 1 つの永続ボリュームが必要です。
手順
次の例に示すように、
DataVolume
マニフェストを作成します。DataVolume
マニフェストの例apiVersion: cdi.kubevirt.io/v1beta1 kind: DataVolume metadata: name: blank-image-datavolume spec: source: blank: {} storage: resources: requests: storage: <2Gi> 1 storageClassName: "<storage_class>" 2
以下のコマンドを実行してデータボリュームを作成します。
$ oc create -f <blank-image-datavolume>.yaml
データボリューム用の関連情報
8.13.3. 仮想マシンディスクを別のストレージクラスに移行する
仮想マシン (VM) または仮想マシンインスタンス (VMI) を停止せずに、1 つ以上の仮想ディスクを別のストレージクラスに移行できます。
8.13.3.1. Web コンソールを使用して仮想マシンディスクを別のストレージクラスに移行する
Red Hat OpenShift Service on AWS Web コンソールを使用して、仮想マシン (VM) に接続された 1 つ以上のディスクを別のストレージクラスに移行できます。実行中の仮想マシンでこのアクションを実行すると、仮想マシンの操作は中断されず、移行されたディスク上のデータに引き続きアクセスできます。
OpenShift Virtualization Operator では、一度に 1 つの仮想マシンのストレージクラスの移行のみを開始でき、その仮想マシンは実行中である必要があります。一度に複数の仮想マシンを移行する必要がある場合、または実行中の仮想マシンと停止中の仮想マシンを混在して移行する必要がある場合は、Migration Toolkit for Containers (MTC) の使用を検討してください。
Migration Toolkit for Containers は OpenShift Virtualization には含まれていないため、別途インストールする必要があります。
ストレージクラスの移行は、テクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
- ストレージクラスの移行には、データボリュームまたは永続ボリューム要求 (PVC) が使用可能である必要がある。
- クラスターにはライブマイグレーションに使用できるノードが必要である。ストレージクラスの移行の一環として、仮想マシンが別のノードにライブマイグレーションされている。
- 仮想マシンが実行されている必要がある。
手順
-
Web コンソールで Virtualization
VirtualMachines に移動します。 仮想マシンの横にあるオプションメニュー
をクリックし、Migration
Storage を選択します。 このオプションには、VirtualMachine details ページで Actions
Migration Storage を選択してアクセスすることもできます。 - Migration details ページで、仮想マシンストレージ全体を移行するか、選択したボリュームのみを移行するかを選択します。Selected volumes をクリックする場合は、移行するディスクを選択します。Next をクリックして先に進みます。
- Destination StorageClass ページの利用可能なオプションのリストから、移行先のストレージクラスを選択します。Next をクリックして先に進みます。
- Review ページで、影響を受けるディスクのリストとターゲットストレージクラスを確認します。移行を開始するには、Migrate VirtualMachine storage をクリックします。
- Migrate VirtualMachine storage ページに留まり、進行状況を監視し、移行が正常に完了したことの確認を待ちます。
検証
-
VirtualMachine details ページから、Configuration
Storage に移動します。 - すべてのディスクに Storage class 列にリストされている必要なストレージクラスがあることを確認します。