2.12. マルチパス設定
マルチパスを使用してサーバーノードおよびストレージアレイ間の複数の I/O パスを単一のデバイスに設定することで、冗長性が得られると共にパフォーマンスが向上します。
2.12.1. director を使用したマルチパスの設定
Red Hat OpenStack Platform (RHOSP) オーバークラウドデプロイメントでマルチパスを設定して、帯域幅とネットワークの耐障害性を向上させることができます。
既存のデプロイメントでマルチパスを設定すると、新しいワークロードはマルチパスに対応します。既存のワークロードがある場合は、これらのインスタンスでマルチパスを有効にするには、インスタンスを退避して復元する必要があります。
前提条件
- アンダークラウドがインストールされる。詳しい情報は、Director Installation and Usageの Installing director を参照してください。
手順
-
アンダークラウドホストに
stack
ユーザーとしてログインします。 stackrc
アンダークラウド認証情報ファイルを入手します。$ source ~/stackrc
上書き環境ファイルを使用するか、
multipath_overrides.yaml
などの新しい環境ファイルを作成します。以下のパラメーターを追加して設定します。parameter_defaults: ExtraConfig: cinder::config::cinder_config: backend_defaults/use_multipath_for_image_xfer: value: true
注記デフォルト設定では、ほとんどの環境で機能する基本的なマルチパス設定が生成されます。ただし、一部のストレージベンダーはハードウェア固有の最適化した設定を使用しているので、ベンダーに推奨事項を問い合わせてください。マルチパスの詳細は、Device Mapper Multipath の設定 を参照してください。
オプション: オーバークラウドデプロイメント用のマルチパス設定ファイルがある場合、
MultipathdCustomConfigFile
パラメーターを使用してこのファイルの場所を指定できます。parameter_defaults: MultipathdCustomConfigFile: <config_file_directory>/<config_file_name>
次の例では、
/home/stack
はマルチパス設定ファイルのディレクトリーで、multipath.conf
はこのファイルの名前です。parameter_defaults: MultipathdCustomConfigFile: /home/stack/multipath.conf
注記他の TripleO マルチパスパラメーターは、ローカルのカスタム設定ファイル内の対応する値を上書きします。たとえば、
MultipathdEnableUserFriendlyNames
がFalse
の場合、ローカルのカスタムファイルで設定が有効になっている場合でも、オーバークラウドノードのファイルが一致するように更新されます。マルチパスパラメーターの詳細は、Multipath heat template parameters を参照してください。
- 更新をオーバーライド環境ファイルに保存します。
オーバーライド環境ファイルを、次のような他の環境ファイルと共にスタックに追加します。
---- /usr/share/openstack-tripleo-heat-templates/environments/multipathd.yaml ----
- オーバークラウドをデプロイする。
関連情報
- インスタンスの作成と管理 の インスタンスの退避
2.12.1.1. マルチパス heat テンプレートパラメーター
マルチパスを有効にする以下のパラメーターについては、これを使用します。
パラメーター | 説明 | デフォルト値 |
---|---|---|
|
マルチパスデーモンを有効にするかどうかを定義します。このパラメーターは、 |
|
| 各パスに対してユーザーフレンドリーな名前の割り当てを有効にするかどうかを定義します。 |
|
| パスごとにマルチパスデバイスを自動的に作成するかどうかを定義します。 |
|
| デバイスで自動的にパーティションの作成を省略するかどうかを定義します。 |
|
|
オーバークラウドノードのカスタムマルチパス設定ファイルが含まれています。デフォルトでは、最小の
注記:他の TripleO マルチパスパラメーターは、追加するローカルのカスタム設定ファイルの対応する値を上書きします。たとえば、 |
2.12.2. マルチパス設定の確認
新規または既存のオーバークラウドデプロイメントでマルチパス設定を確認できます。
手順
- インスタンスを作成します。
- 暗号化されていないボリュームをインスタンスにアタッチします。
インスタンスが含まれる Compute ノードの名前を取得します。
$ nova show <instance> | grep OS-EXT-SRV-ATTR:host
<instance>
は、作成したインスタンスの名前に置き換えます。インスタンスの virsh 名を取得します。
$ nova show <instance> | grep instance_name
Compute ノードの IP アドレスを取得します。
$ . stackrc $ metalsmith list | grep <compute_name>
<compute_name>
は、nova show <instance>
コマンドの出力からの名前に置き換えて、6 列のテーブルから 2 行を表示します。<compute_name>
が 4 列目にある行を見つけます。<compute_name>
の IP アドレスは、この行の最後の列にあります。次の例では、compute-0 は 2 行目の 4 列目にあるため、compute-0 の IP アドレスは 192.168.24.15 です。
$ . stackrc $ metalsmith list | grep compute-0 | 3b1bf72e-c425-494c-9717-d0b89bb66580 | compute-0 | 95b21d3e-36be-470d-ba5c-70d5dcd6d0b3 | compute-1 | ACTIVE | ctlplane=192.168.24.49 | | 72a24883-25f9-435c-bf71-a20e66be172d | compute-1 | a59f79f7-006e-4f38-a9ad-8164da47d58e | compute-0 | ACTIVE | ctlplane=192.168.24.15 |
インスタンスを実行するコンピュートノードに SSH 接続します。
$ ssh tripleo-admin@<compute_node_ip>
<compute_node_ip>
は、Compute ノードの IP アドレスに置き換えます。virsh を実行するコンテナーにログインします。
$ podman exec -it nova_libvirt /bin/bash
Compute ノードインスタンスで以下のコマンドを入力し、cinder ボリュームホストの場所でマルチパスが使用されていることを確認します。
virsh domblklist <virsh_instance_name> | grep /dev/dm
<virsh_instance_name>
は、nova show <instance> | grep instance_name
コマンドの出力に置き換えます。インスタンスに
/dev/dm-
以外の値が表示されている場合、接続は非マルチパスであるため、nova shelve
およびnova unshelve
コマンドを使用して接続情報を更新する必要があります。$ nova shelve <instance> $ nova unshelve <instance>
注記複数の種別のバックエンドがある場合には、すべてのバックエンド上のインスタンスおよびボリュームを検証する必要があります。これは、各バックエンドが返す接続情報が異なる可能性があるためです。