次の方法で共有


Elastic SAN ボリュームに接続する - Linux

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

この記事では、Storage サービス エンドポイントを Azure 仮想ネットワークのサブネットに追加し、サブネットからの接続を許可するようにボリューム グループを構成します。 最後に、Elastic SAN ボリュームに接続し、接続を確立するようにクライアント環境を構成します。

個々の Elastic 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 セクションを追加する必要があります。次の例の defaults セクションでは、一般的に適用可能ないくつかの既定値が設定されます。 マルチパス トポロジからボリュームを除外するなど、他の特定の構成を行う必要がある場合は、multipath.conf の man ページを参照してください。

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 1			# To disable I/O queueing after retrying once when all paths are down
}
devices {
  device {
    vendor "MSFT"
    product "Virtual HD"
  }
}

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

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

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

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

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

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

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

セッションの数

その最大の IOPS やスループット上限を達成するには、各ターゲット ボリュームに 32 のセッションを使用する必要があります。

次のステップ

Elastic SAN ネットワークを構成する