VPCによる仮想マシンの作成 File Storage
仮想プライベートクラウド 4.17 そしてその後 ベアメタルのワーカーノードのみ RHCOSのみ
File Storage for VPC を使用して、 OpenShift Virtualization 上で実行される仮想マシンの永続ストレージをプロビジョニングします。
このトピックでは、環境を検証し、VPC File Storage を使用する仮想マシンを作成し、仮想マシンが正常に起動することを検証する方法について説明します。
開始前に
VPC File Storage を使用して仮想マシンを作成する前に、以下のタスクを完了してください:
- Red Hat CoreOS (RHCOS) を使用するベアメタルワーカーノードで VPC クラスタを作成します。 詳細については、 VPCクラスタの作成を 参照してください。
- OpenShift 仮想化の導入を計画する 』の計画ガイダンスを参照してください。
- OpenShift 仮想化用ストレージの設定 」の説明に従って、VPC File Storage を設定します。
- OpenShift Virtualization Operator のインストール 」の説明に従って、 OpenShift Virtualization Operator をインストールします。
virtctlCLIをインストールします。 詳細については、 OpenShift 仮想化 CLI ツールの使用を開始するを参照してください。
環境の検証
仮想マシンを作成する前に、クラスタの準備が整っていることを確認してください。
-
OpenShift 仮想化コンポーネントが配置されていることを確認します。
oc get hyperconverged -n openshift-cnv oc get pods -n openshift-cnvHyperConverged の出力から
PHASEの値Deployedを探す。 ポッド出力で、仮想化ポッドがRunningまたはCompletedステータスを表示していること、Pending、CrashLoopBackOff、Errorでスタックしていないことを確認します。 -
VPC File CSIドライバアドオンがインストールされていることを確認します。
ibmcloud ks cluster addon ls -c CLUSTER_NAME | grep vpc-file-csi-driver出力から
vpc-file-csi-driverアドオンを探し、その健全性状態がnormalであること、またはステータスがアドオンの準備ができていることを示していることを確認する。 -
VPC File Storage クラスが利用可能であることを確認します。
oc get storageclass | grep vpc-fileibmc-vpc-file-1000-iopsやibmc-vpc-file-6000-iopsなどのストレージクラスを探す。 後のステップで使用するストレージ・クラス名をメモしておく。 -
選択した VPC File Storage クラスのストレージ・プロファイルが、
ReadWriteManyアクセス・モードおよびFilesystemボリューム・モードで構成されていることを確認します。oc get storageprofile <storage-class-name> -o yaml出力で、
specの下にあるclaimPropertySetsを探す。accessModesがReadWriteManyを含み、volumeModeがFilesystemに設定されていることを確認する。claimPropertySets: - accessModes: - ReadWriteMany volumeMode: Filesystem -
選択したストレージ・クラスが永続ボリューム・クレームをプロビジョニングできることを確認する。
cat <<EOF | oc apply -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: vpc-file-test-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: <storage-class-name> EOF -
テスト用永続ボリュームの請求がバインドされていることを確認する。
oc get pvc vpc-file-test-pvc出力で、
STATUS列を探し、永続ボリューム・クレームがBoundを示していることを確認する。 クレームがPendingのままであれば、ストレージクラスまたはストレージプロファイルが正しく設定されていない。 -
クレームがバインドされていない場合は、永続的なボリュームのクレームの詳細を確認してください。
oc describe pvc vpc-file-test-pvc -
テスト用の永続ボリューム・クレームを削除します。
oc delete pvc vpc-file-test-pvc
ウェブコンソールからの仮想マシンの作成
OpenShift ウェブコンソールを使用して、VPC File Storage にディスクを格納する仮想マシンを作成します。
- クラスタの OpenShift Webコンソールにログインします。
- ナビゲーションメニューで、 仮想化 > をクリックします。 VirtualMachines.
- 仮想マシンを手動で定義する場合は、[ Create]をクリックしてテンプレートを選択するか、[ From YAML ]を選択します。
- 仮想マシンの名前を入力してください。
- 仮想マシンを作成したいプロジェクトを選択してください。
- ストレージ・セクションで、
ibmc-vpc-file-1000-iopsやibmc-vpc-file-6000-iopsなどの VPC File Storage クラスを選択します。 - ワークロード要件に基づいてディスクサイズを設定する。
- CPUとメモリの設定を見直し、必要に応じて更新する。
- Create VirtualMachine をクリックします。
- 仮想マシンの詳細ページで、[ ディスク]、[ ネットワークインターフェイス ]、および[ 構成] タブを確認し、仮想マシンが期待される設定で作成されていることを確認します。
仮想マシンが作成されると、コンソールは関連する永続ボリュームクレームとデータボリュームリソースを作成します。
CLI から仮想マシンを作成する
再利用可能なマニフェストから仮想マシンを作成する場合は、CLI を使用します。
-
仮想マシンのワークロード用にネームスペースを作成する。
oc create namespace vm-project -
VPC File Storage クラスを参照する仮想マシン・マニフェストを作成します。
cat <<EOF | oc apply -f - apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: rhel9-vm namespace: vm-project spec: running: false template: metadata: labels: kubevirt.io/domain: rhel9-vm spec: domain: cpu: cores: 2 devices: disks: - disk: bus: virtio name: rootdisk - disk: bus: virtio name: cloudinitdisk resources: requests: memory: 4Gi volumes: - dataVolume: name: rhel9-vm-rootdisk name: rootdisk - cloudInitNoCloud: userData: | #cloud-config user: cloud-user password: changeme chpasswd: { expire: false } name: cloudinitdisk dataVolumeTemplates: - metadata: name: rhel9-vm-rootdisk spec: pvc: accessModes: - ReadWriteMany resources: requests: storage: 40Gi storageClassName: <storage-class-name> volumeMode: Filesystem source: blank: {} EOF -
仮想マシンとデータボリュームのリソースが作成されたことを確認します。
oc get vm -n vm-project oc get dv -n vm-project oc get pvc -n vm-project出力で、仮想マシン
rhel9-vmがリストされ、データボリュームrhel9-vm-rootdiskが存在し、永続ボリューム請求rhel9-vm-rootdiskが作成されていることを確認します。 永続ボリューム要求がまだBoundでない場合は、プロビジョニングが完了するまで待ってから続行します。 -
データボリュームの準備ができていない場合は、データボリュームの詳細を確認してください。
oc describe dv rhel9-vm-rootdisk -n vm-project oc describe pvc rhel9-vm-rootdisk -n vm-project -
仮想マシンを始動します。
virtctl start rhel9-vm -n vm-project -
仮想マシンインスタンスが実行されていることを確認します。
oc get vmi -n vm-project出力で、 仮想マシ ンの イ ン ス タ ン ス名を確認 し、 フェーズが
Runningであ る こ と を確認 し ます。 仮想マシンインスタンスが表示されない場合は、仮想マシンのステータスを確認します。oc get vm rhel9-vm -n vm-project -o yaml
仮想マシンの検証
仮想マシンを作成したら、ストレージとコンピュートリソースが期待どおりに動作していることを確認します。
-
パーシステント・ボリューム・クレームがバインドされていることを確認する。
oc get pvc -n vm-project出力で、永続ボリュームのクレーム
rhel9-vm-rootdiskを探し、STATUS列がBoundを示していることを確認する。 -
データボリュームのインポートまたはプロビジョニングが正常に完了したことを確認します。
oc get dv -n vm-project出力で、データ・ボリュームが
SucceededまたはReadyのような成功したフェーズを表示していることを確認する。 データボリュームの準備ができていない場合は、データボリュームと永続ボリュームのクレームイベントを確認してください。oc describe dv rhel9-vm-rootdisk -n vm-project oc describe pvc rhel9-vm-rootdisk -n vm-project -
仮想マシンインスタンスが起動していることを確認する。
oc get vmi -n vm-project -
仮想マシンインスタンスの詳細を確認し、ノードの配置、インターフェイス、およびアタッチされているボリュームを確認します。
oc describe vmi rhel9-vm -n vm-project -
cloud-init認証情報を設定した場合は、仮想マシンコンソールに接続します。
virtctl console rhel9-vm -n vm-project -
インスタンスが起動しない場合は、仮想マシンの詳細を確認してください。
oc describe vm rhel9-vm -n vm-project oc describe vmi rhel9-vm -n vm-project
制限と配慮を理解する
仮想マシンにVPC File Storage :
- VPC( File Storage )のパフォーマンス
- VPC File Storage はネットワーク・アタッチド・ストレージのオプションである。 一般に、開発、テスト、低I/Oワークロードに最適である。
- スナップショットとクローン
- スナップショットとクローンのサポートは、 OpenShift Data Foundationとは異なります。 本番ワークロード用にVPC File Storage を標準化する前に、ストレージ要件を見直しましょう。
- ライブ・マイグレーション
- ライブマイグレーションは、ストレージプロファイルが正しく構成され、ワークロードが OpenShift 仮想化要件を満たしている場合にサポートされます。
- ストレージプロファイルの設定
- CDI がストレージクラスを正しく使用できるように、VPC ファイル CSI プロビジョナのストレージプロファイルを構成する必要があります。
トラブルシューティング
仮想マシンが起動しない、またはディスクが正しくプロビジョニングされない場合は、以下のトピックを確認してください:
次のステップ
VPC File Storage を使用して仮想マシンを作成した後、VPC を使用して仮想マシンを作成します: