2.12. マルチパス設定
マルチパスを使用してサーバーノードおよびストレージアレイ間の複数の I/O パスを単一のデバイスに設定することで、冗長性が得られると共にパフォーマンスが向上します。
2.12.1. director を使用したマルチパスの設定
Red Hat OpenStack Platform (RHOSP) オーバークラウドデプロイメントでマルチパスを設定して、帯域幅とネットワークの耐障害性を向上させることができます。
既存のデプロイメントでマルチパスを設定すると、新しいワークロードはマルチパスに対応します。既存のワークロードがある場合は、これらのインスタンスでマルチパスを有効にするには、インスタンスを退避して復元する必要があります。
前提条件
- アンダークラウドの正常なインストール。詳細は、Installing director on the undercloud を参照してください。
手順
-
アンダークラウドホストに
stack
ユーザーとしてログインします。 source コマンドで
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
パラメーターを使用してこのファイルの場所を指定します。マルチパス設定ファイルを
/var/lib/mistral
ディレクトリーにコピーする必要があります。$ sudo cp <config_file_name> /var/lib/mistral
<config_file_name>
をファイルの名前に置き換えます。MultipathdCustomConfigFile
パラメーターを、マルチパス設定ファイルの次の場所に設定します。parameter_defaults: MultipathdCustomConfigFile: /var/lib/mistral/<config_file_name>
注記他の TripleO マルチパスパラメーターは、ローカルのカスタム設定ファイル内の対応する値を上書きします。たとえば、
MultipathdEnableUserFriendlyNames
がFalse
の場合、ローカルのカスタムファイルで設定が有効になっている場合でも、オーバークラウドノードのファイルが一致するように更新されます。マルチパスパラメーターの詳細は、Multipath heat template parameters を参照してください。
ご自分の環境に該当するその他の環境ファイルと共に、環境ファイルを
openstack overcloud deploy
コマンドに追加します。$ openstack overcloud deploy \ --templates \ … -e <existing_overcloud_environment_files> \ -e /usr/share/openstack-tripleo-heat-templates/environments/multipathd.yaml -e multipath_overrides.yaml \ …
2.12.1.1. マルチパス heat テンプレートパラメーター
マルチパスを有効にする以下のパラメーターについては、これを使用します。
パラメーター | 説明 | デフォルト値 |
---|---|---|
|
マルチパスデーモンを有効にするかどうかを定義します。このパラメーターは、 |
|
| 各パスに対してユーザーフレンドリーな名前の割り当てを有効にするかどうかを定義します。 |
|
| パスごとにマルチパスデバイスを自動的に作成するかどうかを定義します。 |
|
| デバイスで自動的にパーティションの作成を省略するかどうかを定義します。 |
|
|
オーバークラウドノードのカスタムマルチパス設定ファイルが含まれています。デフォルトでは、最小の
注意: 他の TripleO マルチパスパラメーターは、追加するローカルのカスタム設定ファイルの対応する値を上書きします。たとえば、 |
2.12.2. マルチパス設定の確認
以下の手順で、新規または既存のオーバークラウドデプロイメントのマルチパス設定を確認する方法を説明します。
前提条件
- アンダークラウドの正常なインストール。詳細は、Installing director on the undercloud を参照してください。
- オーバークラウドの正常なデプロイメント。詳細は、Creating a basic overcloud with CLI tools を参照してください。
手順
- 仮想マシンを作成します。
- 暗号化されていないボリュームを仮想マシンに割り当てます。
インスタンスが含まれるコンピュートノードの名前を取得します。
$ nova show INSTANCE | grep OS-EXT-SRV-ATTR:host
INSTANCE をブートした仮想マシンの名前に置き換えます。
インスタンスの virsh 名を取得します。
$ nova show INSTANCE | grep instance_name
INSTANCE をブートした仮想マシンの名前に置き換えます。
Compute ノードの IP アドレスを取得します。
$ . stackrc $ nova list | grep compute_name
compute_name を
nova show INSTANCE
コマンドの出力に表示される名前に置き換えます。仮想マシンを実行するコンピュートノードに SSH 接続します。
$ ssh heat-admin@COMPUTE_NODE_IP
COMPUTE_NODE_IP をコンピュートノードの 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>
注記複数の種別のバックエンドがある場合には、すべてのバックエンド上のインスタンスおよびボリュームを検証する必要があります。これは、各バックエンドが返す接続情報が異なる可能性があるためです。