10.5.4.4. Machine sets that deploy machines with ultra disks as data disks
Ultra ディスクと共にマシンをデプロイする Azure で実行されるマシンセットを作成できます。Ultra ディスクは、最も要求の厳しいデータワークロードでの使用を目的とした高性能ストレージです。
10.5.4.4.1. マシンセットを使用した Ultra ディスクを持つマシンの作成 リンクのコピーリンクがクリップボードにコピーされました!
マシンセットの YAML ファイルを編集することで、Azure 上に Ultra ディスクと共にマシンをデプロイできます。
前提条件
- 既存の Microsoft Azure クラスターがある。
手順
次のコマンドを実行して、
masterデータシークレットを使用してopenshift-machine-apinamespace にカスタムシークレットを作成します。$ oc -n openshift-machine-api \ get secret <role>-user-data \1 --template='{{index .data.userData | base64decode}}' | jq > userData.txt2 テキストエディターで、
userData.txtファイルを開き、ファイル内の最後の}文字を見つけます。-
直前の行に、
,を追加します。 ,の後に新しい行を作成し、以下の設定内容を追加します。"storage": { "disks": [1 { "device": "/dev/disk/azure/scsi1/lun0",2 "partitions": [3 { "label": "lun0p1",4 "sizeMiB": 1024,5 "startMiB": 0 } ] } ], "filesystems": [6 { "device": "/dev/disk/by-partlabel/lun0p1", "format": "xfs", "path": "/var/lib/lun0p1" } ] }, "systemd": { "units": [7 { "contents": "[Unit]\nBefore=local-fs.target\n[Mount]\nWhere=/var/lib/lun0p1\nWhat=/dev/disk/by-partlabel/lun0p1\nOptions=defaults,pquota\n[Install]\nWantedBy=local-fs.target\n",8 "enabled": true, "name": "var-lib-lun0p1.mount" } ] }- 1
- ウルトラディスクとしてノードに接続するディスクの設定の詳細。
- 2
- 使用しているマシンセットの
dataDisksスタンザで定義されているlun値を指定します。たとえば、マシンセットにlun:0が含まれている場合は、lun0を指定します。この設定ファイルで複数の"disks"エントリーを指定することにより、複数のデータディスクを初期化できます。複数の"disks"エントリーを指定する場合は、それぞれのlun値がマシンセットの値と一致することを確認してください。 - 3
- ディスク上の新しいパーティションの設定の詳細。
- 4
- パーティションのラベルを指定します。
lun0の最初のパーティションにlun0p1などの階層名を使用すると便利な場合があります。 - 5
- パーティションの合計サイズを MiB で指定します。
- 6
- パーティションをフォーマットするときに使用するファイルシステムを指定します。パーティションラベルを使用して、パーティションを指定します。
- 7
- 起動時にパーティションをマウントする
systemdユニットを指定します。パーティションラベルを使用して、パーティションを指定します。この設定ファイルで複数の"partitions"エントリーを指定することにより、複数のパーティションを作成できます。複数の"partitions"エントリーを指定する場合は、それぞれにsystemdユニットを指定する必要があります。 - 8
Whereには、storage.filesystems.pathの値を指定します。Whatには、storage.filesystems.deviceの値を指定します。
-
直前の行に、
次のコマンドを実行して、無効化テンプレート値を
disableTemplating.txtというファイルに抽出します。$ oc -n openshift-machine-api get secret <role>-user-data \1 --template='{{index .data.disableTemplating | base64decode}}' | jq > disableTemplating.txt- 1
<role>をmasterに置き換えます。
次のコマンドを実行して、
userData.txtファイルとdisableTemplating.txtファイルを組み合わせてデータシークレットファイルを作成します。$ oc -n openshift-machine-api create secret generic <role>-user-data-x5 \1 --from-file=userData=userData.txt \ --from-file=disableTemplating=disableTemplating.txt- 1
<role>-user-data-x5には、シークレットの名前を指定します。<role>をmasterに置き換えます。
次のコマンドを実行して、コントロールプレーンマシンセットの CR を編集します。
$ oc --namespace openshift-machine-api edit controlplanemachineset.machine.openshift.io cluster示された位置に次の行を追加します。
apiVersion: machine.openshift.io/v1beta1 kind: ControlPlaneMachineSet spec: template: spec: metadata: labels: disk: ultrassd1 providerSpec: value: ultraSSDCapability: Enabled2 dataDisks:3 - nameSuffix: ultrassd lun: 0 diskSizeGB: 4 deletionPolicy: Delete cachingType: None managedDisk: storageAccountType: UltraSSD_LRS userDataSecret: name: <role>-user-data-x54 変更を保存します。
-
デフォルトの
RollingUpdate更新戦略を使用するクラスターの場合、Operator は自動的に変更をコントロールプレーン設定に伝達します。 -
OnDelete更新戦略を使用するように設定されているクラスターの場合、コントロールプレーンマシンを手動で置き換える必要があります。
-
デフォルトの
検証
次のコマンドを実行して、マシンが作成されていることを確認します。
$ oc get machinesマシンは
Running状態になっているはずです。実行中でノードが接続されているマシンの場合、次のコマンドを実行してパーティションを検証します。
$ oc debug node/<node_name> -- chroot /host lsblkこのコマンドでは、
oc debug node/<node_name>によりノード<node_name>上でデバッグシェルを起動し、--を指定してコマンドを渡します。渡されたコマンドchroot /hostは、基盤となるホスト OS バイナリーへのアクセスを提供し、lsblkは、ホスト OS マシンに接続されているブロックデバイスを表示します。
次のステップ
- コントロールプレーンで Ultra ディスクを使用するには、コントロールプレーンの Ultra ディスクマウントポイントを使用するようにワークロードを再設定します。