Avere vFXT クラスターをマウントする

クライアント マシンを vFXT クラスターに接続するには以下の手順のようにします。

  1. クラスター ノード間にクライアント トラフィックの負荷を分散させる方法を決定します。 詳細については、後の「クライアントの負荷を分散させる」をご覧ください。
  2. マウントする IP アドレスとジャンクション パスを識別します。
  3. 適切な引数を指定して mount コマンドを発行します。

クライアントの負荷を分散させる

クライアントの要求をクラスター内のすべてのノード間に分散させるには、クライアント側の IP アドレスの全範囲にクライアントをマウントする必要があります。 このタスクを自動化するには、いくつかの簡単な方法があります。

ヒント

他の負荷分散方法は、さらに大規模なシステムまたは複雑なシステムに適しています (ヘルプが必要な場合は、サポート チケットを開いてください)。

サーバー側の自動負荷分散に DNS サーバーを使用したい場合は、Azure 内で独自の DNS サーバーを設定して管理する必要があります。 その場合は、vFXT クラスター用にラウンドロビン DNS を構成することができます。手順については、「Avere クラスターの DNS 構成」を参照してください。

負荷分散されたクライアントのマウント スクリプトの例

このコード例では、vFXT クラスターで使用可能なすべての IP アドレスにクライアントを分散させるためのランダム化要素として、クライアントの IP アドレスを使用しています。

function mount_round_robin() {
    # to ensure the nodes are spread out somewhat evenly the default
    # mount point is based on this node's IP octet4 % vFXT node count.
    declare -a AVEREVFXT_NODES="($(echo ${NFS_IP_CSV} | sed "s/,/ /g"))"
    OCTET4=$((`hostname -i | sed -e 's/^.*\.\([0-9]*\)/\1/'`))
    DEFAULT_MOUNT_INDEX=$((${OCTET4} % ${#AVEREVFXT_NODES[@]}))
    ROUND_ROBIN_IP=${AVEREVFXT_NODES[${DEFAULT_MOUNT_INDEX}]}

    DEFAULT_MOUNT_POINT="${BASE_DIR}/default"

    # no need to write again if it is already there
    if ! grep --quiet "${DEFAULT_MOUNT_POINT}" /etc/fstab; then
        echo "${ROUND_ROBIN_IP}:${NFS_PATH}    ${DEFAULT_MOUNT_POINT}    nfs hard,proto=tcp,mountproto=tcp,retry=30 0 0" >> /etc/fstab
        mkdir -p "${DEFAULT_MOUNT_POINT}"
        chown nfsnobody:nfsnobody "${DEFAULT_MOUNT_POINT}"
    fi
    if ! grep -qs "${DEFAULT_MOUNT_POINT} " /proc/mounts; then
        retrycmd_if_failure 12 20 mount "${DEFAULT_MOUNT_POINT}" || exit 1
    fi
}

上記の関数は、Avere vFXT の例のサイトから入手できる Batch の例の一部です。

mount コマンドを作成する

Note

Avere vFXT クラスターを作成するときに新しい BLOB コンテナーを作成しなかった場合は、クライアントをマウントする前に、「ストレージの構成」の説明に従ってストレージ システムを追加します。

クライアントで mount コマンドを実行すると、vFXT クラスター上の仮想サーバー (vserver) が、ローカル ファイル システムのパスにマップされます。 形式は mount <vFXT path> <local path> {options} です

mount コマンドには次の 3 つの要素があります。

  • vFXT パス - P アドレスとクラスターの名前空間ジャンクション パスの組み合わせ (後述)
  • ローカル パス - クライアント上のパス
  • mount コマンドのオプション - 「mount コマンドの引数」を参照

ジャンクションと IP

vserver のパスは、その "IP アドレス" と、"名前空間ジャンクション" へのパスの組み合わせです。 名前空間ジャンクションは、ストレージ システムが追加されるときに定義された仮想パスです。

クラスターが BLOB ストレージで作成された場合、コンテナーの名前空間パスは /msazure です

例: mount 10.0.0.12:/msazure /mnt/vfxt

クラスターを作成した後にストレージを追加した場合は、名前空間ジャンクション パスは、ジャンクションを作成するときに [名前空間のパス] で設定した値です。 たとえば、名前空間のパスとして /avere/files を使用した場合、クライアントは </avere/files>:/avere/files をローカルなマウント ポイントにマウントします。

IP アドレスは、vserver に対して定義されたクライアント側の IP アドレスの 1 つです。 クライアント側の IP アドレスの範囲は、Avere Control Panel の 2 つの場所で確認できます。

  • [VServers] テーブル ([Dashboard]\(ダッシュボード\) タブ) -

    Dashboard tab of the Avere Control Panel with the VServer tab selected in the data table below the graph, and the IP address section circled

  • [Client Facing Network]\(クライアント側ネットワーク\) 設定ページ -

    Settings > VServer > Client Facing Network configuration page with a circle around the Address Range section of the table for a particular vserver

各クライアントをマウントするときは、パスに加えて、以下で説明する mount コマンド引数を指定します。

mount コマンドの引数

クライアントのマウントがシームレスに行われるように、mount コマンドで以下の設定と引数を渡します。

mount -o hard,proto=tcp,mountproto=tcp,retry=30 ${VSERVER_IP_ADDRESS}:/${NAMESPACE_PATH} ${LOCAL_FILESYSTEM_MOUNT_POINT}

必須の設定 説明
hard vFXT クラスターに対するソフト マウントは、アプリケーション エラーおよび可能性のあるデータ損失と関連付けられます。
proto=netid このオプションは、NFS ネットワーク エラーの適切な処理をサポートします。
mountproto=netid このオプションは、マウント操作に対するネットワーク エラーの適切な処理をサポートします。
retry=n 一時的なマウントの障害を回避するため、retry=30 を設定します。 (フォアグラウンド マウントの場合は、別の値が推奨されます。)

次のステップ

クライアントをマウントしたら、それらを使用して、クラスター上の新しい Blob Storage コンテナーにデータをコピーできます。 新しいストレージにデータを取り込む必要がない場合は、追加のセットアップ タスクについて、他のリンクを参照してください。