4.4. マルチパス構成の設定
冗長性の作成やパフォーマンスの向上のために、Red Hat OpenStack Services on OpenShift (RHOSO) でマルチパス構成を設定します。コントロールプレーンノードには MachineConfig CR が必要です。データプレーンノードにはデフォルトのマルチパス設定がありますが、実稼働環境ではベンダー固有のパラメーターを追加する必要があります。
4.4.1. コントロールプレーンノードでのマルチパス構成の設定 リンクのコピーリンクがクリップボードにコピーされました!
マルチパス設定ファイルを作成してサービスを開始する MachineConfig カスタムリソース (CR) を作成することで、Red Hat OpenShift Container Platform (RHOCP) コントロールプレーンノードでマルチパス構成を設定できます。
Red Hat OpenStack Services on OpenShift (RHOSO) デプロイメントでは、use_multipath_for_image_xfer 設定オプションがデフォルトで有効になっています。これはコントロールプレーンにのみ影響し、データプレーンには影響しません。この設定により、Block Storage サービス (cinder) は、イメージからボリュームを作成するときや、Block Storage のバックアップおよび復元手順中に、ボリュームを接続するためにマルチパス (使用可能な場合) を使用できます。
この手順の例では、デフォルトのマルチパスパラメーターを設定する最小限のマルチパス設定ファイルを実装します。ただし、実稼働環境用のデプロイメントではベンダー固有のマルチパスパラメーターも必要になる場合があります。その場合は、デプロイメントに必要な値を取得するために、適切なシステム管理者に問い合わせてください。
複雑なマルチパス設定がある場合は、Butane コマンドラインユーティリティーを使用してマルチパス設定ファイルを作成できます。詳細は、RHOCP インストール設定 の Butane を使用したマシン設定の作成 を参照してください。
手順
MachineConfigCR を作成して、マルチパス設定ファイルを作成し、すべてのコントロールプレーンノードでmultipathdモジュールを起動します。次の例では、
multipath.confという名前のマルチパス設定ファイルを実装する99-worker-cinder-enable-multipathdという名前のMachineConfigCR を作成します。重要このファイルの
contents:にベンダー固有のマルチパスパラメーターを追加する場合は、user_friendly_names、recheck_wwid、skip_kpartx、find_multipathsのデフォルトマルチパスパラメーターの指定値を変更しないでください。apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker service: cinder name: 99-worker-cinder-enable-multipathd spec: config: ignition: version: 3.2.0 storage: files: - path: /etc/multipath.conf overwrite: false mode: 384 user: name: root group: name: root contents: source: data:,defaults%20%7B%0A%20%20user_friendly_names%20no%0A%20%20recheck_wwid%20yes%0A%20%20skip_kpartx%20yes%0A%20%20find_multipaths%20yes%0A%7D%0A%0Ablacklist%20%7B%0A%7D systemd: units: - enabled: true name: multipathd.servicecontents:データは、以下に示す実際のmultipath.confファイルの内容を表しています。defaults { user_friendly_names no recheck_wwid yes skip_kpartx yes find_multipaths yes } blacklist { }
-
MachineConfigCR ファイル (例:99-worker-cinder-enable-multipathd.yaml) を保存します。 MachineConfigCR ファイルを適用します。$ oc apply -f 99-worker-cinder-enable-multipathd.yaml -n openstack
4.4.2. データプレーンノード上のカスタムマルチパスパラメーターの設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのマルチパスパラメーターは、すべてのデータプレーンノードで設定されます。ベンダー固有のマルチパスパラメーターを追加して設定する必要があります。その場合、デプロイメントに必要な値を取得し、カスタムマルチパス設定ファイルを作成するために、適切なシステム管理者に問い合わせてください。
次のデフォルトのマルチパスパラメーターを追加して、その値を上書きしないようにしてください: user_friendly_names、recheck_wwid、skip_kpartx、find_multipaths。
ベンダー固有のマルチパスパラメーターが含まれるようにデータプレーンノード設定を更新するには、関連する OpenStackDataPlaneNodeSet カスタムリソース (CR) を変更する必要があります。変更された OpenStackDataPlaneNodeSet CR をデータプレーンにデプロイして適用する OpenStackDataPlaneDeployment CR を作成します。
前提条件
- ベンダー固有のマルチパスパラメーターとデプロイメント固有の値のみが含まれるカスタムマルチパス設定ファイルを作成した。
手順
カスタムマルチパス設定ファイルを保存するためのシークレットを作成します。
$ oc create secret generic <secret_name> \ --from-file=<configuration_file_name>-
<secret_name>は、シークレットに割り当てる名前 (例:custom-multipath-file) に置き換えます。 -
<configuration_file_name>は、作成したカスタムマルチパス設定ファイルの名前 (例:custom_multipath.conf) に置き換えます。
-
-
更新するノードセットの
OpenStackDataPlaneNodeSetCR ファイル (例:openstack_data_plane.yaml) を開きます。 ベンダー固有のマルチパスパラメーターを含めるには、
OpenStackDataPlaneNodeSetCR ファイルにextraMounts属性を追加します。spec: ... nodeTemplate: ... extraMounts: - extraVolType: <optional_volume_type_description> volumes: - name: <mounted_volume_name> secret: secretName: <secret_name> mounts: - name: <mounted_volume_name> mountPath: "/runner/multipath" readOnly: true-
オプション:
<optional_volume_type_description>を、マウントされたボリュームのタイプの説明 (例:multipath-config-file) に置き換えます。 <mounted_volume_name>は、マウントされたボリュームの名前 (例:custom-multipath) に置き換えます。注記mountPath:パラメーターの値は、"/runner/multipath"から変更しないでください。
-
オプション:
-
OpenStackDataPlaneNodeSetCR ファイルを保存します。 更新済みの
OpenStackDataPlaneNodeSetCR 設定を適用します。$ oc apply -f openstack_data_plane.yamlステータスが
SetupReadyであることを確認して、データプレーンリソースが更新されたことを確認します。$ oc wait openstackdataplanenodeset openstack-data-plane --for condition=SetupReady --timeout=10mステータスが
SetupReadyの場合、コマンドはcondition metメッセージを返し、それ以外の場合はタイムアウトエラーを返します。データプレーンの条件と状態の詳細は、Red Hat OpenStack Services on OpenShift のデプロイ の データプレーンの条件と状態 を参照してください。
ワークステーションにファイルを作成し、
OpenStackDataPlaneDeploymentCR を定義します。apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: <node_set_deployment_name>-
<node_set_deployment_name>をOpenStackDataPlaneDeploymentCR の名前に置き換えます。名前は一意で、小文字の英数字、-(ハイフン)、または.(ピリオド) を使用し、先頭と末尾は英数字でなければなりません (例:openstack_data_plane_deploy)。
-
変更した
OpenStackDataPlaneNodeSetCR を追加します。spec: nodeSets: - <nodeSet_name>-
OpenStackDataPlaneDeploymentCR デプロイメントファイル (例:openstack_data_plane_deploy.yaml) を保存します。 変更した
OpenStackDataPlaneNodeSetCR をデプロイします。$ oc create -f openstack_data_plane_deploy.yaml -n openstackデプロイメントの実行中に Ansible ログを表示できます。
$ oc get pod -l app=openstackansibleee -w $ oc logs -l app=openstackansibleee -f --max-log-requests 10oc logsコマンドが以下のエラーと同様のエラーを返す場合は、--max-log-requestsの値を増やします。error: you are attempting to follow 19 log streams, but maximum allowed concurrency is 10, use --max-log-requests to increase the limit
検証
変更された
OpenStackDataPlaneNodeSetCR がデプロイされていることを確認します。$ oc get openstackdataplanedeployment -n openstack NAME STATUS MESSAGE openstack-data-plane True Setup Complete $ oc get openstackdataplanenodeset -n openstack NAME STATUS MESSAGE openstack-data-plane True NodeSet Ready返されるステータスの意味は、Red Hat OpenStack Services on OpenShift のデプロイ の データプレーンの条件と状態 を参照してください。
データプレーンがデプロイされていないことをステータスが示している場合は、デプロイメントのトラブルシューティングを行います。デプロイメントのトラブルシューティングについては、Red Hat OpenStack Services on OpenShift のデプロイ の データプレーンの作成とデプロイのトラブルシューティング を参照してください。