次の方法で共有


Elastic SAN ボリュームへの接続 - Linux

この記事では、個々の Linux クライアントから Elastic SAN ボリュームに接続する方法について説明します。 Windows クライアントからの接続の詳細については、「 Elastic SAN ボリュームへの接続 - Windows」を参照してください。

この記事では、サブネットからの接続を許可するようにボリューム グループを構成し、Elastic SAN ボリュームに接続して接続を確立するようにクライアント環境を構成します。

個々のエラスティック SAN ボリュームを複数のクライアントに接続する場合は、クラスター マネージャーを使用する必要があります。 詳細については、「 Azure Elastic SAN でクラスター化されたアプリケーションを使用する」を参照してください。

[前提条件]

iSCSI イニシエーターを有効にする

Linux クライアントから iSCSI 接続を作成するには、iSCSI イニシエーター パッケージをインストールします。 正確なコマンドはディストリビューションによって異なる場合があり、必要に応じてドキュメントを参照する必要があります。

たとえば、Ubuntu では、 sudo apt install open-iscsiを使用し、SUSE Linux Enterprise Server (SLES) では sudo zypper install open-iscsi を使用し、Red Hat Enterprise Linux (RHEL) では sudo yum install iscsi-initiator-utils使用します。

マルチパス I/O をインストールする

ボリュームに対して高い IOPS とスループットを実現し、その上限に達するには、アプリケーションのマルチスレッド機能とパフォーマンス要件に基づいて、iSCSI イニシエーターからターゲット ボリュームへの複数セッションを作成する必要があります。 これらの複数のパスを 1 つのデバイスに集約し、負荷分散ポリシーに基づいて使用可能なすべてのパスに I/O を最適に分散することでパフォーマンスを向上させるには、マルチパス I/O が必要です。

Linux ディストリビューション用のマルチパス I/O パッケージをインストールします。 インストールはディストリビューションによって異なるため、そのドキュメントを参照する必要があります。 たとえば、Ubuntu ではコマンドが sudo apt install multipath-toolsされ、SLES の場合、コマンドは sudo zypper install multipath-tools され、RHEL の場合、コマンドは sudo yum install device-mapper-multipathされます。

パッケージをインストールしたら、 /etc/multipath.conf が存在するかどうかを確認します。 /etc/multipath.conf が存在しない場合は、空のファイルを作成し、次の例の設定を使用して一般的な構成を行います。 たとえば、 mpathconf --enable は RHEL に /etc/multipath.conf を作成します。

/etc/multipath.conf にいくつかの変更を加える必要があります。 次の例では devices セクションを追加する必要があります。次の例の既定のセクションでは、一般的にいくつかの既定値が適用されます。 マルチパス トポロジからボリュームを除外するなど、他の特定の構成を行う必要がある場合は、multipath.conf のマニュアル ページを参照してください。

defaults {
    user_friendly_names yes		# To create ‘mpathn’ names for multipath devices
    path_grouping_policy multibus	# To place all the paths in one priority group
    path_selector "round-robin 0"	# To use round robin algorithm to determine path for next I/O operation
    failback immediate			# For immediate failback to highest priority path group with active paths
    no_path_retry 3			# To disable I/O queueing after retrying once when all paths are down
    polling_interval 5         # Set path check polling interval to 5 seconds
    find multipaths yes        # To allow multipath to take control of only those devices that have multiple paths 
}
devices {
  device {
    vendor "MSFT"
    product "Virtual HD"
  }
}

ファイルを作成または変更した後、マルチパス I/O を再起動します。 Ubuntu では、コマンドは sudo systemctl restart multipath-tools.service され、RHEL と SLES ではコマンドが sudo systemctl restart multipathd

ボリュームをクライアントにアタッチする

次のスクリプトを使用して、接続を作成できます。 これを実行するには、次のパラメーターを収集または決定します。

  • サブスクリプション: サブスクリプション ID
  • g: リソース グループ名
  • e: Elastic SAN 名
  • v: ボリューム グループ名
  • n <vol1、vol2、...>: ボリューム 1 と 2 の名前と、必要なその他のボリューム名(コンマ区切り)
  • s: 各ボリュームへのセッション数 (既定では 32 に設定)

ここからスクリプトをコピーし、connect.py などの.py ファイルとして保存します。 次に、必要なパラメーターを指定して実行します。 スクリプトを実行する方法の例を次に示します。

./connect.py --subscription <subid> -g <rgname> -e <esanname> -v <vgname> -n <vol1, vol2> -s 32

を使用してセッションの数を確認できます。 sudo multipath -ll

セッション番号を設定する

各ターゲット ボリュームに対して 32 セッションを使用して、最大 IOPS やスループットの制限を達成します。

次の手順に従ってスクリプトを実行することで、セッション数を変更できます。

-nを使用してセッションの数を設定します。 パラメーターは 1 から 32 の値を受け取り、既定値は 32 です。

python3 connect_for_documentation.py \ 

--subscription <your-subscription-id>\ 

-g <resource-group>\ 

-e <elastic-san-name>\ 

-v <volume-group-name>\ 

-n volume1 volume2 \ 

-s <value>

次のステップ

Elastic SAN ネットワークの構成