Comments
Description
Transcript
デルHPC NFSストレージソリューション
デル HPC NFS ストレージソリューション 高可用性構成 デル テクニカルホワイトペーパー Garima Kochhar、Xin Chen、Onur Celebioglu デル HPC エンジニアリング 2011 年 4 月 デル HPC NFS ストレージソリューション - 高可用性構成 本ホワイトペーパーは、情報の通知のみを目的とし、印刷上のミスおよび技術的な不正確性を含む場合が あります。内容は現状のまま提供され、いかなる種類の明示的または黙示的な保証もいたしません。 (C) 2011 Dell Inc. All rights reserved. いかなる方法によっても、Dell Inc.の書面による許可なく本資料を 複製することを固く禁じます。詳細はデルにお問い合わせください。 Dell、DELL のロゴ、および DELL バッジ、PowerConnect および PowerVault は Dell Inc.の商標です。そ の他の商標および商標名は、本文書においてそのマークまたは名前を要求する事業体またはその事業体の 製品を言及するために使用される場合があります。Dell Inc.は自社が所有する以外の商標および商標名の 所有権を放棄します。 2011 年 4 月 Page ii デル HPC NFS ストレージソリューション - 高可用性構成 目次 概要.................................................................................................................................................................................................3 1. はじめに..........................................................................................................................................................................4 1.1. デルの NSS ソリューション ..........................................................................................................................4 2. デル NFS ストレージソリューションの技術的概要 .................................................................................... 5 3. 高可用性対応 NFS ストレージソリューション...............................................................................................6 4. 5. 3.1. ハードウェア .......................................................................................................................................................6 3.2. ソフトウェア .......................................................................................................................................................9 3.3. 高可用性クラスタ ..............................................................................................................................................9 3.4. 考えられる障害とフォールトトレランスメカニズム ....................................................................... 11 3.5. NSS-HA ソリューション構成 .................................................................................................................... 12 3.6. 中規模構成から大規模構成へのアップグレード ............................................................................... 12 評価 ................................................................................................................................................................................ 13 4.1. 評価方法 ............................................................................................................................................................. 13 4.2. 試験台 .................................................................................................................................................................. 14 4.3. 機能性とパフォーマンスに影響する設計上の選択肢 ...................................................................... 16 4.4. 機能性テスト .....................................................................................................................................................17 パフォーマンスベンチマークテストの結果 ................................................................................................. 21 5.1. InfiniBand でのシーケンシャル読み書き ............................................................................................. 22 5.2. 10Gb イーサネットシーケンシャル読み書き ..................................................................................... 23 5.3. ランダム読み書き ........................................................................................................................................... 25 5.4. メタデータテスト ........................................................................................................................................... 27 6. NSS ソリューション間の比較 ............................................................................................................................. 29 7. 結論 ................................................................................................................................................................................ 30 8. 参考資料....................................................................................................................................................................... 30 付録 A:NSS-HA レシピ ..................................................................................................................................................... 32 A.1. インストール前の準備.................................................................................................................................. 32 A.2. サーバ側ハードウェアのセットアップ ................................................................................................. 33 A.3. 各 PowerEdge R710 サーバの初期ソフトウェア構成 .................................................................... 34 A.4. サーバのパフォーマンスチューニング ................................................................................................. 36 A.5. ストレージハードウェアのセットアップ ............................................................................................. 37 A.6. ストレージ構成 ............................................................................................................................................... 37 Page 1 デル HPC NFS ストレージソリューション - 高可用性構成 A.7. NSS HA クラスタセットアップ ............................................................................................................... 38 A.8. HA セットアップのクイックテスト........................................................................................................ 47 A.9. 便利なコマンドと参考資料 ........................................................................................................................ 47 A.10. クライアントのパフォーマンスチューニング ............................................................................... 48 A.11. スクリプトと構成ファイルの例........................................................................................................... 48 付録 B:中規模構成から大規模構成へのアップグレード .................................................................................... 49 付録 C:ベンチマークテストとテストツール ........................................................................................................... 52 C.1. C.2. C.3. C.4. IOzone ................................................................................................................................................................ 52 mdtest ................................................................................................................................................................. 54 checkstream ..................................................................................................................................................... 55 dd .......................................................................................................................................................................... 56 Page 2 デル HPC NFS ストレージソリューション - 高可用性構成 概要 本ソリューションガイドには、デル HPC NFS ストレージソリューション (NSS) の高可用性構成が記載さ れています。HPC 環境では、ユーザデータの高可用性 (HA) を保証することが一般的な要件の 1 つにな ってきています。デル NSS の高可用性構成は、HPC 計算クラスタへのデータアクセスを提供するために NFS ゲートウェイサーバのペアをアクティブ-パッシブ構成で使用することによって、データの可用性を 向上させます。デル NSS の最終目標は、考えられる障害や故障が存在するなかでサービスの可用性とデ ータの整合性を向上させることと、障害ゼロの場合にパフォーマンスを最大化することにあります。本文 書には、そうしたソリューションのアーキテクチャとパフォーマンス、そうしたソリューションを構築す るためのベストプラクティスが記載されています。 Page 3 デル HPC NFS ストレージソリューション - 高可用性構成 1. はじめに クラスタは現在、ハイパフォーマンスコンピューティング (HPC) のための最も一般的なアーキテクチャ (1) の 1 つとなっています 。しかし、プロセッサとネットワークではデータの読み書きに要する時間に差が あり、この差とストレージデバイスの処理速度の低下によって、ほとんどの場合はクラスタのストレージ サブシステムがシステム全体のパフォーマンスに悪影響を与えるボトルネックと化しています。さらに、 費用対効果の高いクラスタは汎用サーバと汎用ストレージデバイスを使って構築されるのが普通であり、 そのためそうしたシステムでは障害や故障を完全に回避することは不可能です。そのような環境において 高いレベルの信頼性と可用性を維持するのは、重要な問題の 1 つです。優れた設計のクラスタは、計算ニ ーズと I/O ニーズのバランスを確保しなければならないとともに、信頼性と可用性の要素も考慮する必要 があります。 特にハイエンドストレージ (>300TB)を必要とし、I/O 需要が集中的に発生するクラスタなどのハイパフ ォーマンスクラスタでは、パラレルファイルシステムが一般的になっています。この要件を満たすのは、 Lustre ファイルシステムと Dell PowerVault ストレージアレイに基づいた高スループットのスケールアウ ト型ストレージアプライアンスであるデル | Terascala HPC ストレージソリューション (DT-HSS) です (2) (米国のみ提供) 。デル NFS ストレージソリューション (NSS) は、MPI-I/O 指向アプリケーションに伴 って I/O ワークロードが集中的に発生することがなく、高いスケーラビリティを必要としない HPC ユー ザにとって魅力的な選択肢です。NSS ソリューションは、Red Hat Scalable ファイルシステム (XFS) 上に 構築された NFS ファイルシステムと Dell PowerVault ストレージを使用し、構造化されていないデータの (3) ための管理しやすく信頼性と費用対効果の高いソリューションを提供します 。 本ソリューションガイドは、最新の NSS ソリューションに高可用性オプション (以下「NSS-HA 構成」) を 組み込むことによってアップデートするものです。その最終目標は、考えられる障害や故障が存在するな かで NSS 構成サービスの可用性とデータの整合性を向上させることと、障害ゼロの場合にパフォーマン ス損失を最小化することにあります。たとえば、1 つのクラスタコンポーネントに障害が発生した場合、 クラスタのクライアントへの影響が最小化され、システムの可用性とユーザデータの整合性の双方が維持 されます。 本ソリューションガイドは、そのような HSS-HA ソリューションの詳細を記述するものです。まず、次の いくつかのセクションでは、高可用性機能に特に重点を置いて NSS-HA アーキテクチャを詳しく説明しま す。それ以降のセクションでは、HSS-HA ソリューションのパフォーマンスを取り上げます。さらに、 NSS-HA 環境の構成に関する詳細な手順を示す詳しい付録を末尾に収録しています。 デル NFS ストレージソリューションは、包括的なストレージソリューションとして提供され、デルによ る導入サービスと完全なハードウェア/ソフトウェアサポートも併せて利用することができます。本ソリ ューションは、導入しやすさと使いやすさに重点を置き、標準ベースの HPC コンポーネントを使用して 設計されています。 本ソリューションの技術的な詳細については本ソリューションガイドの次のセクション以降に、デルから 入手可能な NSS オプションについては次のセクションに記載されています。 1.1. デルの NSS ソリューション デル HPC NFS ストレージソリューションは、下記の標準構成で提供されています。貴社の環境に最 適なソリューションについての相談や注文プロセスについては、デルの営業担当者にお問い合わせく ださい。あらかじめ構成されたソリューションはどれでもすべて注文可能であり、貴社固有のニーズ に合わせたカスタマイズも承ります。選択したカスタマイズの内容によっては、本書で取り上げたベ ストプラクティスの一部を適用できない場合があります。 HA 対応なしのソリューションの詳細は、ソリューションガイド『デル HPC 向け NFS ストレージソリ ューション(NSS)』を参照してください。本ソリューションガイドに記載されているのは、HA 対応 NSS ソリューションです。 Page 4 デル HPC NFS ストレージソリューション - 高可用性構成 小規模構成 ● 20TB の利用可能スペース。 ● QDR InfiniBand または 10Gb イーサネット接続。 ● NFS ゲートウェイサーバ:Red Hat Enterprise Linux 5.5 およ び XFS ファイルシステムが稼 働する Dell PowerEdge R710 サーバ。 ● ストレージ:2TB の NL SAS ド ライブ 12 個を搭載した Dell PowerVault MD1200。 ● 3 年間のデル PRO Support for IT and Mission Critical 4HR 7x24 オンサイトパック。 ● 迅速なインストール、パフォー マンス最適化、貴社環境との統 合を行うデル導入サービス。 中規模構成 ● 40TB の利用可能スペース。 ● QDR InfiniBand または 10Gb イーサネット接続。 ● NFS ゲートウェイサーバ:Red Hat Enterprise Linux 5.5 およ び XFS ファイルシステムが稼 働する Dell PowerEdge R710 サーバ。 ● ストレージ:2TB の NL SAS ド ライブ 12 個を搭載した Dell PowerVault MD1200 2 台。 ● 3 年間のデル PRO Support for IT and Mission Critical 4HR 7x24 オンサイトパック。 ● 迅速なインストール、パフォー マンス最適化、貴社環境との統 合を行うデル導入サービス。 大規模構成 ● 80TB の利用可能スペース。 ● QDR InfiniBand または 10Gb イーサネッ ト接続。 ● NFS ゲートウェイサーバ:Red Hat Enterprise Linux 5.5 および XFS ファイル システムが稼働する Dell PowerEdge R710 サーバ。 ● ストレージ:2TB の NL SAS ドライブ 12 個を搭載した 4 台の Dell PowerVault MD1200。 ● 3 年間のデル PRO Support for IT and Mission Critical 4HR 7x24 オンサイトパック。 ● 迅速なインストール、パフォーマンス最適 化、貴社環境との統合を行うデル導入サー ビス。 中規模構成-HA ● 40TB の利用可能スペース。 ● QDR InfiniBand または 10Gb イーサネット接続。 ● NFS ゲートウェイサーバ: Red Hat Enterprise Linux 5.5、XFS ファイルシステム、Red Hat Cluster Suite が稼働する 2 台の Dell PowerEdge R710 サーバ ● ストレージ:それぞれ 2TB の NL SAS ドライブ 12 個を搭載した 1 台の Dell PowerVault MD3200 と 1 台の Dell PowerVault MD1200 エンクロージャ。 ● PowerConnect 5424 と 2 個の 切替 PDU で高可用性を管理。 ● 3 年間のデル PRO Support for IT and Mission Critical 4HR 7x24 オンサイトパック。 大規模構成-HA ● 80TB の利用可能スペース. ● QDR InfiniBand または 10Gb イーサネット接 続. ● NFS ゲートウェイサーバ:Red Hat Enterprise Linux 5.5、XFS ファイルシステム、Red Hat Cluster Suite が稼働する 2 台の Dell PowerEdge R710 サーバ。 ● ストレージ:それぞれ 2TB の NL SAS ドライブ 12 個を搭載した 1 台の Dell PowerVault MD3200 と 3 台の MD1200 エンクロージャ。 ● 1 台の PowerConnect 5424 と 2 個の切替 PDU で高可用性を管理。 ● 3 年間のデル PRO Support for IT and Mission Critical 4HR 7x24 オンサイトパック。 2. デル NFS ストレージソリューションの技術的概要 本セクションには、HA 対応なしのデル NFS ストレージソリューション (NSS) の技術的な詳細に関する 概要が記載されています。このソリューションの機能、構成とチューニングに関するガイダンス、パフォ ーマンス特性、サポートは『デル HPC NFS ストレージソリューション (NSS) ソリューションガイド』に (3) 記載されています 。 HA 対応なしの NSS ソリューションは、1 台の PowerEdge R710 サーバとそれに取り付けられた複数の PowerVault MD1200 から構成されています。各 MD1200 ストレージアレイには 12 個のディスク (2TB 7200rpm) が搭載され、1 個の 10+2 RAID 6 仮想ディスクとして構成されています。複数の RAID 6 LUN が RAID 60 (オプションとして Linux LVM) を使用して結合され、Red Hat Scalable ファイルシステム (XFS)と してフォーマットされます。この XFS ファイルシステムは、NFS 経由で計算ノードにエクスポートされます。 計算ノードは、InfiniBand または 10Gb イーサネットネットワーク経由でストレージにアクセスします。 Page 5 デル HPC NFS ストレージソリューション - 高可用性構成 NSS ソリューションには小規模構成、中規模構成、大規模構成の 3 種類の構成があります。これらはそれ ぞれ 20TB/40TB/80TB ソリューションに対応します。図 1 に、2 台の PowerVault MD1200 を使用する NSS 中規模構成を示します。 図 1 - NSS-中規模構成 クラスタ相互接続 InfiniBand/イーサネット 計算ノード IB/10GbE HCA R710 サーバ H800 冗長 6Gbps SAS MD1200s NSS アプライアンス HA 対応 NSS (NSS-HA) は、高可用性機能を導入することによって上記の NSS ソリューションを拡張した ものです。HSS-HA は、NSS ビルディングブロック (サーバ、ソフトウェア、ストレージ、RAID 構成な ど) とパフォーマンスのチューニングに関するベストプラクティスを可能な限り活用しています。 3. 高可用性対応 NFS ストレージソリューション 高可用性対応 NFS ストレージソリューション (NSS-HA) は、Dell PowerEdge R710 サーバのペアから構 成され、そのペアはどちらも 1 台の共有 PowerVault MD3200 ストレージエンクロージャ (PowerVault MD1200 ストレージアレイによって拡張されたもの) に物理的にアクセスします。この 2 台のサーバには アクティブ-パッシブ構成が採用されており、そのうち 1 台のサーバがデータへの常時アクセスを提供し ます。計算ノードは、NFS クライアントとして NSS-HA サーバ経由でデータにアクセスします。計算ノー ドは、どのサーバがストレージへのデータパスを所有しているかを区別しません。 HA 機能は、ハードウェアとソフトウェアの組み合わせを通して実現されます。次のいくつかのセクショ ンにはアーキテクチャが、『付録 A:NSS-HA レシピ』には NSS-HA 環境の設定に関する段階的な指示が 記載されています。 3.1. ハードウェア NSS-HA 構成を図 2 に示します。NSS-HA 構成では、高いレベルの可用性を実現するために、ハード ウェアコンポーネントの冗長性が確保されています。 Page 6 デル HPC NFS ストレージソリューション - 高可用性構成 ▪ サーバの冗長性 NSS-HA には、 PowerEdge R710 サーバのペアが含まれます。 この 2 台のサーバは、Red Hat Cluster Suite (以降のセクションで説明します) を使用してアクティブ/パッシブモードで構成されます。 アクティブ/パッシブモードでは、1 台のサーバに障害が発生すると、障害が発生したサーバ上で 実行されているサービスを残りの 1 台が自動的に引き受けます。したがって、フェイルオーバが 行われている間に短い中断が発生する可能性はありますが (セクション 4.4 を参照)、単一サーバ 障害によってサービスが失われることはありません。 図 2 - NSS-HA 構成 INFINIBAND または 10GBE (パブリックネットワーク) POWERVAULT MD3200 と MD1200 ストレージ APC 切替 PDU POWEREDGE R710 サーバ Gb イーサネットスイッチ (プライベートネットワーク) パブリックネットワーク プライベートネットワーク 電源 ストレージネットワーク 各 PowerEdge R710 サーバには、1 個の Dell PERC H700 内部 RAID コントローラと 5 個のローカ ルハードディスクが搭載されています。そのうち 2 個のディスクは RAID 1 で構成され、1 個のデ ィスクはオペレーティングシステムイメージのホットスペアとして指定されます。残り 2 個のデ ィスクは RAID 0 で構成され、 スワップスペースに使用されます。各サーバには、外部の PowerVault MD3200 ストレージエンクロージャに接続するためのデュアルポート Dell 6Gbps SAS HBA が 1 個搭載されています。各サーバには、計算ノードに接続するための InfiniBand カードまたは 10Gb イーサネットカードが 1 個装着されています。サーバには、アウトオブバンドシステム管理のた めの iDRAC Enterprise 管理カードも 1 個搭載されています。 ▪ 電源の冗長性 各サーバには、デュアル電源が用意されています。サーバに組み込まれている電源は、それぞれ 1 個の電源用 PDU を経由して異なる電源バスに接続されています。これにより、電源の単一点障害 が回避されます。構成には、2 つの電源に使用する 2 個の電源用 PDU も含まれます。 Page 7 デル HPC NFS ストレージソリューション - 高可用性構成 ▪ ネットワークの冗長性 サーバは、アクティブサーバとパッシブサーバ間の通信用プライベートネットワークとして使用 される 1 個の Gb イーサネットスイッチに接続されています。このネットワークは、アクティブサ ーバとパッシブサーバ間のハートビートを監視するために使用されます。iDRAC や電源用 PDU と の通信にも、このプライベートネットワークが使用されます。 サーバは、InfiniBand または 10Gb イーサネットネットワークにも接続されています。このネット ワークは、パブリックネットワークと呼ばれます。計算クラスタは、このパブリックネットワー ク経由でサーバにアクセスします。パブリックネットワークスイッチは、NSS-HA 設計とは別に なっています。パブリックネットワークの信頼性と構成は、クラスタが要求する高可用性を実現 しているものと想定されます。1 台の NFS サーバで 1 件の単一ネットワークカード障害が発生し た場合は、クライアントへの同等のデータパスを持つ 2 台めのサーバがあるために耐えることが できます。 ▪ ディスクの冗長性 ユーザデータ用ストレージは、1 台の PowerVault MD3200 エンクロージャと 1 台以上の PowerVault MD1200 拡張アレイから構成されます。各アレイには、12 個の 3.5 インチ 2TB 7200rpm NearLine SAS ディスクが搭載されています。各アレイのディスクは RAID 6 でセットア ップされ、10 個のデータディスクと 2 個のパリティディスクによる 10+2 構成になっています。 こうした RAID 構成は、1 件のディスク障害が発生したときにデータを再構築するには十分な冗長 性を実現します。各仮想ディスクのセグメントサイズは 512k です。これにより、各ストレージア レイの利用可能スペースのキャパシティは 20TB (10 個のデータディスク x ディスク当たり 2TB) になります。 PowerVault MD3200 は、読み込みキャッシュが有効、書き込みキャッシュが有効、書き込みキャ ッシュミラーリングが有効、読み込みプリフェッチが有効となるよう構成されています。キャッ シュのブロックサイズは 32k に設定されています。キャッシュミラーリング機能が有効であるた め、MD3200 に搭載されている 2 個の RAID コントローラがキャッシュをミラーリングします。 単一の RAID コントローラ障害は、データの可用性への影響なしに耐えることができます。 図 3 - PowerVault ストレージのケーブル接続の例 アクティブサーバ パッシブサーバ Page 8 デル HPC NFS ストレージソリューション - 高可用性構成 ▪ I/O パスの冗長性 各サーバは、MD3200 上の 2 個のコントローラの両方に接続されています。各サーバは 2 本の SAS ケーブルで MD3200 に直接接続されているため、サーバからストレージへの I/O パスにおいて単 一点障害が発生する可能性はありません。MD3200 から MD1200 アレイへの冗長パスは、ストレ ージ I/O パスの可用性を高めるために導入されたものです。ストレージのケーブル接続を図 3 に 示します。 3.2. ソフトウェア 本ソリューションの重要なソフトウェアコンポーネントを図 4 に示します。 NSS-HA は、Red Hat Enterprise Linux 5.5 x86_64 (RHEL 5.5) 上で稼働します。高可用性コンポーネ ントは、RHEL 5.5 から入手可能なアドオン機能の 1 つである Red Hat Cluster Suite (4)(5) によって提 供されます。 ユーザデータは、共有ストレージ (Dell PowerVault ストレージアレイによって実現される) 上に作成さ れる Red Hat XFS ファイルシステムに常駐します。共有ストレージ上の仮想ディスクは、Linux Logical Volume Manager (LVM) を使用してグループ化されます。このファイルシステムは、ネットワークファ イルシステム v3 (NFS) を使用してクライアントまたは計算ノードにエクスポートされます。 クライアントは、InfiniBand または 10Gb イーサネット (10GbE) 経由でデータにアクセスします。 10GbE ドライバは、RHEL 5.5 のネイティブです。InfiniBand クラスタには OFED 1.5.1 をインストー ルする必要があります。 PowerVault ストレージアレイは、Dell Modular Disk Storage Manager (MDSM) を使用して管理しま す。PowerEdge サーバは、Dell OpenManage Systems Administrator (OMSA) を使用して管理します。 図 4 - NSS-HA ソフトウェアコンポーネント Red Hat Enterprise Linux 5.5 Red Hat Cluster Suite NFS バージョン 3 XFS ディスクファイルシステム HA LVM OFED 1.5.1 10GbE ドライバ SAS HBA ドライバ DMマルチパス 3.3. 高可用性クラスタ シンプルな NSS ソリューションでは、単一の NFS サーバを通して共有ストレージへのアクセスが提 Page 9 デル HPC NFS ストレージソリューション - 高可用性構成 供されます。この NFS サーバに 1 件の障害が発生した場合や 1 件のネットワーク障害が発生した場合 は、共有ストレージサービスへのクライアントアクセスが停止し、システム全体の可用性に影響しま す。より高いシステムの可用性を実現するために、HSS-HA ソリューションでは Red Hat Cluster Suite (RHCS) を使用して NSS を拡張しています。 RHCS ベースのクラスタ化には、高可用性機能が含まれます。クラスタサービスは、どのクラスタメ ンバーまたはクラスタコンポーネントに 1 件の障害が発生しても、そのクラスタが提供するサービス が停止することのないよう構成されます。この高可用性機能を活用して、NSS-HA には「HA クラス タ」が構築されています。HA クラスタは 2 台の PowerEdge R710 サーバから構成され、2 台のサー バのうちの 1 台で実行される 1 件の HA サービスが定義されます。データの整合性を確保するために、 この HA サービスは常に 1 台のクラスタサーバ上でのみ稼働するものでなければなりません。1件の 障害が発生した場合、HA サービスは他方の PowerEdge R710 サーバにフェイルオーバされ、その間 はプロセス全体がクラスタのクライアントから可能な限り最大限に透過的に維持されます。 HA との関連においては、 「クラスタ」という用語は PowerEdge R710 サーバのペアと RHCS ソフトウ ェアを指します。これは、クライアントと呼ばれる HPC クラスタ (または計算クラスタ)とは明確に 異なります。「サーバ」という用語は、HA クラスタを構成する PowerEdge R710 サーバを指します。 HA サービスは、1 つ以上のクラスタリソースによって定義されます。クラスタサービスを起動し実行 するには、すべてのリソースが利用可能でなければなりません。サービスが 1 台のサーバから別のサ ーバに移行する場合は、すべてのリソースが移行します。クラスタリソースは、定義され構成された 後は HA クラスタサービスによって独占的にコントロールされます。HA クラスタ構造の外で操作し ないでください。 NSS-HA では、HA サービスは次のリソースから構成されます。 1) LVM - LVM は、HA サービスが管理する論理ボリュームを指定します。ストレージアレイ上に作 成された仮想ディスクは、1 つの Linux 論理ボリュームにグループ化されます。この LVM は、LVM に常に 1 台のサーバのみがアクセスするよう確実を期するために、NSS-HA では HA で構成されま す。 2) ファイルシステム - LVM は、1 つの XFS ファイルシステムとしてフォーマットされます。ユーザ データはこの XFS ファイルシステムに常駐します。 このファイルシステムのマウントオプション、 マウント、アンマウントは、HA サービスがコントロールします。 3) NFS エクスポート - NFS エクスポートリソースは、NFS デーモンが実行されていることを確認し ます。XFS ファイルシステムは、NFS 経由でクライアントにエクスポートされます。NFS エクス ポートのオプションとクライアントアクセスは、HA サービスがコントロールします。 4) サービス IP - HA サービスには、1 個の IP アドレスが関連付けされます。NSS-HA では、クライア ントアクセスがこのサービス IP を使用してファイルシステムにアクセスし、そのファイルシステ ムを NFS 経由でマウントします。この IP は、クラスタサービスを現在実行しているサーバ上のパ ブリックネットワークインタフェースに関連付けされます。 5) リンク監視 - リンク監視は、サービス IP アドレスが関連付けされているパブリックネットワーク インタフェースの状態をチェックします。リンクに障害が発生すると、クラスタサービスは他方 のサーバにフェイルオーバします。パブリックインタフェースに障害が発生するとクライアント がファイルシステムにアクセスできなくなることから、これは HA クラスタの重要なコンポーネ ントの 1 つです。 クラスタサービスは、HA クラスタ内の 2 台のサーバ間で移行つまりフェイルオーバすることができ ます。ただし、HA サービスを所有するのは常に 1 台のサーバのみです。HA サービスの所有権を得る 前に、そのサーバ (「アクティブ」) は 2 台めのサーバ (「パッシブ」) がサービスを実行していない Page 10 デル HPC NFS ストレージソリューション - 高可用性構成 ことを確認しなければなりません。これは、データが確実に保護され、両方のサーバが同時にストレ ージに書き込む状況が決して発生しないようにするためです。 「アクティブ」サーバは、最初に「パッ シブ」サーバが HA サービスを提供していないことを確認できる場合に限って、HA サービスを開始 します。この確認は、 「パッシブ」サーバの再起動つまり「フェンシング」によって実行されます。 フェンシングは HA クラスタの運用に不可欠なコンポーネントの 1 つであり、そのため HSS-HA ソリ ューションには、NSS-HA ハードウェアに関するセクションですでに説明したように、iDRAC とマネ ージド電源タップ (PDU) という 2 種類のフェンスデバイスが含まれます。 「アクティブ」サーバが「パ ッシブ」サーバをフェンスしようとするときは、最初に「パッシブ」サーバの iDRAC へのログインと 「パッシブ」サーバの再起動を行うことによってフェンシングを試行します。それが失敗した場合、 「アクティブ」サーバは APC PDU へのログインを試行し、 「パッシブ」サーバのパワーポートの電源 スイッチを切ってすぐに入れ直そうとします。 「アクティブ」サーバは、フェンシングが成功するまで 上記の 2 つのフェンス方法を繰り返し試行します。 アクティブ-パッシブという HA の考え方とは、2 台のアクティブサーバが同じデータボリュームにア クセスしようとしてデータが破損するリスクを冒すよりも、HA サービスを提供するサーバがゼロに なるほうがよいとする考え方です。したがって、2 台のサーバがいずれもクラスタサービスを提供し ていないという状況が発生する可能性があります。このような状況においては、システム管理者が介 入して、クライアントがデータにアクセスできる健全な状態にクラスタを復旧させる必要があります。 3.4. 考えられる障害とフォールトトレランスメカニズム NSS-HA には、HA 機能を構築するためのハードウェアコンポーネントとソフトウェアコンポーネン トが含まれます。最終目標は、複数のタイプの障害に対する回復力を確保し、クラスタサービスを 1 台のサーバから他方のサーバに透過的に移行することにあります。本セクションは、考えられる障害 に対する NSS-HA の対応を取り上げます。下記の障害に耐えるよう NSS-HA を構成する方法に関する 詳細な指示は、 『付録 A:NSS-HA レシピ』に記載されています。 クラスタサービスがアクティブサーバ上で実行されていると想定し、 『表 1 - NSS-HA の障害対応メカ ニズム』にさまざまなタイプの障害と障害が発生した際の NSS-HA クラスタの挙動を列挙します。 表 1 - NSS-HA の障害対応メカニズム 障害タイプ 障害対応メカニズム 1 台のサーバ上の単一ロ オペレーティングシステムは、ディスクを 2 個搭載した RAID 1 デバイ ーカルディスク障害 スにインストールされており、1 つはホットスペアです。単一ディスク 障害によりサーバが停止する可能性はありません。 単一サーバ障害 クラスタサービスにより監視されます。サービスはパッシブサーバに フェイルオーバされます。 電源または電源バス障害 各サーバはデュアル電源方式です。電源はそれぞれ別の電源バスに接 続されています。サーバは単一の電源で引き続き機能します。 フェンスデバイス障害 iDRAC がプライマリフェンスデバイスとして使用されます。切替 PDU はセカンダリフェンスデバイスとして使用されます。 SAS ケーブル/ポート障害 2 つのポート SAS カードと 2 本の SAS ケーブルでストレージに接続さ れています。単一 SAS ポート/ケーブル障害がデータ可用性に影響する ことはありません。 二重の SAS ケーブル/ポー クラスタサービスにより監視されます。ストレージへのデータパスが ト障害 すべて失われた場合、サービスはパッシブサーバにフェイルオーバさ れます。 Page 11 デル HPC NFS ストレージソリューション - 高可用性構成 障害タイプ 障害対応メカニズム InfiniBand/10GbE リンク 障害 プライベートスイッチ障 害 クラスタサービスにより監視されます。サービスはパッシブサーバに フェイルオーバされます。 クラスタサービスはアクティブサーバで引き続き実行されます。1 件の コンポーネント障害が追加発生した場合、サービスは停止し、システ ム管理者による介入が必要です。 ハートビートネットワー クラスタサービスにより監視されます。サービスはパッシブサーバに クインタフェース障害 フェイルオーバされます。 MD3200 ストレージアレ MD3200 には 2 個のコントローラが搭載されています。第 2 のコント イ上での RAID コントロ ローラがすべてのデータ要求を処理します。パフォーマンスが低下す ーラ障害 る可能性はありますが、機能性には影響はありません。 3.5. NSS-HA ソリューション構成 HSS-HA ソリューションには、中規模構成と大規模構成の 2 種類があります。中規模構成の利用可王 なストレージは 40TB であり、大規模構成では利用可能なストレージが 80TB に拡大します。 中規模構成と大規模構成は、どちらも 1 台の PowerVault MD3200 ストレージアレイに接続された 2 台の PowerEdge R710 サーバから構成されています。中規模構成と大規模構成の違いは、ストレージ のキャパシティだけです。中規模構成では 1 台の PowerVault MD1200 拡張アレイを使用して MD3200 ストレージアレイを拡張し、大規模構成では 3 台の MD1200 アレイを使用します。図 3 に大規模構成 を、図 5 に中規模構成を示します。中規模構成や大規模構成のセットアップに関する詳細な指示は、 『付録 A:NSS-HA レシピ』に記載されています。 図 5 - NSS-HA 中規模ストレージ構成 アクティブサーバ パッシブサーバ 3.6. 中規模構成から大規模構成へのアップグレード 本ホワイトペーパーに記載されている NSS-HA のアーキテクチャと PowerVault ストレージアレイの 設計により、中規模 NSS-HA 構成から大規模 NSS-HA 構成へのアップグレードは容易です。アップグ レードプロセスでは、NSS-HA 中規模クラスタに 2 台の PowerVault MD1200 ストレージアレイを追 加します。追加する新しいストレージアレイは、仮想ディスクを作成することができるように構成し なければなりません。クラスタサービス、スイッチ、構成は同じです。 Page 12 デル HPC NFS ストレージソリューション - 高可用性構成 NSS-HA ソリューションをアップグレードするには、次の 2 つの方法があります。 1) キャパシティを追加し、パフォーマンスは現状を維持する この方法では、ユーザデータがアップグレード中に保存されます。最終的な構成はキャパシティ が 80TB になりますが、パフォーマンスは中規模構成と同じです。 2) キャパシティを追加し、パフォーマンスを向上させる この 2 つめの方法では、すべてのユーザデータをバックアップしなければなりません。アップグ レードによって既存の中規模構成が消去され、大規模構成が作成されます。 2 種類の構成のパフォーマンスは、 『パフォーマンスベンチマークテストの結果』のセクションで取り 上げます。 『付録 B:中規模構成から大規模構成へのアップグレード』には、前述した 2 つのアップグ レード方法に関する詳細な指示が記載されています。 4. 評価 本ホワイトペーパーにおいて提案されているアーキテクチャは、Dell HPC ラボで評価されたものです。 本セクションには、テスト方法と検証に使用した試験台についての記述が収録されています。あわせて、 機能性テストの詳細も記載されています。パフォーマンステストの結果は、次のセクションに掲載されて います。 4.1. 評価方法 検証は、機能性、データの正確性、パフォーマンスの 3 つの重要な分野に集中して行われました。 クラスタサービスのフェイルオーバをテストするために、さまざまなコンポーネント障害のシミュレ ーションを行いました。前のセクションで説明したデュアル電源、ストレージへのデュアル SAS リン ク、デュアル PDU などのハードウェアの冗長性とは別に、HA クラスタはいくつかのタイプのコンポ ーネント障害を自動的に検出し、それらに耐えます。 障害シナリオの進行中は、ストレージからの読み書きを実行中のクライアントとのアクティブデータ 接続がある可能性が高いと考えられます。フェイルオーバ中にデータの正確性を維持するのは、重要 な要件の 1 つです。 NSS-HA ソリューションのパフォーマンステストは、本ソリューションの最大限のキャパシティを把 握するために、障害ゼロのケースに基づいて実施されました。 Page 13 デル HPC NFS ストレージソリューション - 高可用性構成 4.2. 試験台 本サブセクションでは、HSS-HA ソリューションの機能性とパフォーマンスを評価するために使用し た試験台について説明します。図 6 に、本研究で使用した試験台を示します。 図 6 - 試験台の構成 クライアント クライアント パブリックネットワーク (IB または 10GbE) NSS-HA コンポーネント パブリックネットワーク プライベートネットワーク 電源 ストレージ接続 2 台の PowerEdge R710 サーバが、NFS ゲートウェイサーバとして使用されました。これらのサーバ は、PowerVault MD1200 アレイによって拡張された PowerVault MD3200 ストレージに接続されてい ました。中規模構成には 1 台の PowerVault MD1200 アレイを使用し、大規模構成では 3 台の MD1200 アレイを使用しました。サーバ間のプライベート HA クラスタネットワークとして、PowerConnect 5424 Gb イーサネットスイッチを使用しました。HA クラスタには、APC スイッチ電源用 PDU を使用 しました。 Page 14 デル HPC NFS ストレージソリューション - 高可用性構成 HPC 計算クラスタは、Platform Cluster Manager - Dell Edition バージョン 2.0.1 を使用して導入され た 64 台の PowerEdge R410 サーバから構成されました(6)。表 2、表 3、表 4、表 5 に構成の詳細を示 します。 表 2 - NSS-HA ハードウェア構成の詳細 NFS ゲートウェイサーバモデル プロセッサ メモリ ローカルディスクと RAID コントローラ オプションの InfiniBand HCA (スロット 4) オプションの 10Gb イーサネットカード (スロット 4) 外部ストレージコントローラ (スロット 3) システム管理 電源 サーバ構成 2 台の PowerEdge R710 サーバ Dual Intel Xeon E5630 @ 2.53GHz 12 x 4GB 1333MHz RDIMM PERC H700 と 5 個の 146GB 10K SAS ハードドライブ Mellanox ConnectX-2 QDR PCI-E カード Intel X520 DA 10Gb Dual Port SFP+ Advanced 6Gbps SAS HBA iDRAC Enterprise デュアル PSU ストレージ構成 ストレージエンクロージャ 1 台の PowerVault MD3200、1 つまたは 3 つの MD1200 拡張アレイ PowerVault MD3200 で High Performance Tier 機能に対 応 RAID コントローラ MD3200 に Duplex RAID コントローラを搭載 ハードディスクドライブ 各アレイに 12 個の 2TB 7200 rpm NL SAS ドライバを搭 載 その他のコンポーネント プライベート Gb イーサネットスイッチ PowerConnect 5424 電源タップ (PDU) 2 個の APC 切替ラック PDU (モデル AP7921) 表 3 - NSS-HA ソフトウェア構成の詳細 オペレーティングシステム カーネルバージョン クラスタスイート ファイルシステム システム管理 ストレージ管理 ソフトウェア Red Hat Enterprise Linux (RHEL) 5.5 2.6.18-194.el5 x86_64 RHEL 5.5 の Red Hat Cluster Suite Red Hat Scalable File System (XFS) 2.10.2-7 Dell OpenManage Server Administrator 6.4.0 Dell Modular Disk Storage Manager 1.2.0.12 Page 15 デル HPC NFS ストレージソリューション - 高可用性構成 表 4 - NSS-HA ファームウェアおよびドライバ構成の詳細 PowerEdge R710 サーバ BIOS PowerEdge R710 サーバ iDRAC InfiniBand ファームウェア InfiniBand ドライバ 10Gb イーサネットドライバ PERC H700 ファームウェア PERC H700 ドライバ 6Gbps SAS ファームウェア 6Gbps SAS ドライバ ファームウェアとドライバ 2.2.10 1.54 2.8.00 Mellanox OFED 1.5.1 ixgbe 2.0.44-k2 12.10.0-0025 megaraid_sas 00.00.04.17-RH1 07.01.33.00 mpt2sas 01.101.06.00 表 5 - NSS-HA クライアント構成の詳細 クライアント / HPC 計算クラスタ クライアント 64 台の PowerEdge R410 計算ノード InfiniBand Mellanox ConnectX-2 QDR HCAs Mellanox OFED 1.5.1 InfiniBand フ すべてのクライアントを単一のラージポートカウント InfiniBand スイッチに接続。 ァブリック R710 NSS-HA サーバも 2 台とも InfiniBand スイッチに接続。 イーサネット Onboard 1 GbE Broadcom 5716 ネットワークアダプタ。 bnx2 ドライバ v2.0.8e イーサネット 2 個の PowerConnect 6248Gb イーサネットスイッチに接続された 32 個の計算ノー ファブリック ドが 2 セット搭載されています。 PowerConnect 6048 スイッチは 2 個とも 1 個の 10GbE PowerConnect 8024 スイッ チにアップリンクされています。 R710 NSS-HA サーバは 2 台とも PC8024 スイッチに直接接続されています。 4.3. 機能性とパフォーマンスに影響する設計上の選択肢 HA クラスタ構成には、機能性とパフォーマンスに影響する複数の設計上の選択肢が含まれます。そ れらの選択肢は、本セクションに記載されています。HSS-HA ソリューションの構成の詳細は、 『付録 A:NSS-HA レシピ』に記載されています ストレージアレイ構成 1) ストレージアレイは、12 個の 2TB NearLine SAS ディスクで構成されています。3.5 x 2TB ディス クは、費用対効果の高い価格ポイントで大規模なキャバシティを実現します。 Page 16 デル HPC NFS ストレージソリューション - 高可用性構成 2) 仮想ディスクは、RAID 6 を使用して 10 個のデータディスクと 2 個のパリティディスクとして作 成されています。この RAID 構成は、キャパシティと複数のディスク障害に耐える信頼性とのすぐ (7) れたバランスを実現します 。 3) 仮想ディスクは、パフォーマンスを最大化するために 512k のセグメントサイズで作成されていま (7) す 。この値は、そのクラスタに関して予想されるアプリケーション I/O プロファイルに基づい て設定してください。 4) キャッシュのブロックサイズは、パフォーマンスを最大化するために 32k に設定されています。 この値は、そのクラスタに関して予想されるアプリケーション I/O プロファイルに基づいて設定 してください。 5) コントローラがデータアクセスパターンに基づいてデータをキャッシュにプリフェッチできるよ うにすることでパフォーマンスの最大化を図るために、RAID コントローラの読み込みキャッシュ (8) と書き込みキャッシュが有効になっています 。 6) コントローラ障害が発生した場合にデータを保護するため、2 つの PowerVault MD3200 RAID コ ントローラ間で書き込みキャッシュミラーリングが有効になっています。コントローラ間のキャ ッシュミラーリングにより、2 つめのコントローラがディスクへの書き込みを確実に完了すること (7) ができます 。ただし、この設計上の選択肢を選択する場合は、パフォーマンスに不利な条件が 1 つ発生します。キャッシュミラーリングを有効にする場合は、キャッシュミラーリングを無効に する場合と比較して、サーバからストレージへの直接書き込みが 20~25%遅くなります。キャッ シュミラーリングは、読み込みパフォーマンスにはほとんど影響しません。 NFS サーバ構成 7) XFS ファイルシステムは、wsync オプションでマウントされています。ジャーナリングサブシス テムの動作が遅くなるのを防ぐために、XFS はデフォルトで非同期ジャーナリングを使用します。 つまり、変更がディスクに書き込まれたことをトランザクションが記録する前に、各動作が完了 したものとして信号を送ります。ディスクに対して 1 つの動作が完了する前に NFS サーバ上の HA サービスがフェイルオーバすると、NFS クライアントとストレージ上の実際のデータとの間のビ ューが一致しなくなる可能性があります。この問題を回避するためには、XFS ファイルシステムが 複数のトランザクションを同期的に実行する必要があります。これは、wsync オプションによっ て強制されます。その結果として、ジャーナル I/O の増加により XFS メタデータパフォーマンス が低下しますが、サーバがクラッシュし HA サービスがパッシブサーバにフェイルオーバした場 合はパッシブサーバによってトランザクションの復旧が正しく行われます。 8) XFS ファイルシステムは、NFS sync オプションを使用してエクスポートされます。そのためクラ イアントは NFS サーバで各書き込み操作が完了するのを待つことになり、サーバ障害が発生した 場合にもデータの整合性が可能な限り保証されます。sync オプションにはパフォーマンスに不利 な条件が伴いますが、データの整合性を確保するためには 1 つの絶対的な要件です。 9) パフォーマンスを最大化するために、サーバ上の同時 NFS スレッドの数を (デフォルトの 8 から 256 に) を増やしました (3)。 10) パフォーマンスを最大化するために、デフォルト OS スケジューラを cfq から deadline に変更し (3) ます 。 11) パフォーマンスを最大化するために、10Gb イーサネットネットワークに大きな MTU (MTU=8192) (3) をセットします 。 4.4. 機能性テスト HA クラスタサービスのフェイルオーバをテストするために、複数のコンポーネント障害のシミュレ ーションを行いました。 1) サーバ障害 2) ハートビートリンク障害 Page 17 デル HPC NFS ストレージソリューション - 高可用性構成 3) パブリックリンク障害 4) プライベートスイッチ障害 5) フェンスデバイス障害 6) 1 件の SAS リンク障害 7) 複数件の SAS リンク障害 本セクションには、さまざまな障害に対する NSS-HA の反応が記載されています。それらの障害シナ リオに対処できるよう HSS-SA ソリューションを構成する方法に関する詳細は『付録 A:NSS-HA レ シピ』に記載されています。 障害に対するサーバの反応 HA クラスタが障害イベントにどのように反応するかについて、サーバの反応が記録されます。その 際に、障害から復旧するまでの所要時間が、パフォーマンス指標の 1 つとして使用されます。この所 要時間については、HA サービスを実行しているサーバ (アクティブ) に障害が挿入された時点から、 サービスが移行され他方のサーバ (パッシブ) で実行されるまでが測定されます。 1) サーバ障害 - カーネルパニックの導入によりシミュレーションを実施。 アクティブサーバに障害が発生した場合は、2 台のサーバ間のハートビートが停止します。パッシ ブサーバは所定の期間の間待機し、その後でアクティブサーバをフェンスしようとします。サー バが停止したと宣告されるまでのデフォルトのタイムアウト期間は 10 秒です。このパラメータは チューニング可能です。フェンシングが成功したら、パッシブサーバがクラスタサービスの所有 権を得ます。 図 7 - サーバ障害が発生した場合のフェイルオーバ手順 プライベートネットワーク ストレージ アレイ フェイルオーバ HA サービス HA サービス RHCS RHEL 5.5 R 710 フェンシング フェンスデバイス アクティブサーバ RHEL 5.5 フェンスデバイス パブリックネットワーク R 710 パッシブサーバ クライアント 図 7 に、この場合のフェイルオーバ手順を示します。アクティブサーバに障害が発生した後に、 パッシブサーバ上で実行されている RHCS エージェントによってハートビートの途絶が検出され ます (設定されたタイムアウト時間に応じて、検出プロセスに数妙要する場合があります)。アク ティブサーバ上の障害が検出されると、パッシブサーバはクラスタサービスの所有権を得ようと する前にフェンスデバイス経由でアクティブサーバを再起動します。これは、データの整合性を 確保するために行われます。この時点で、Red Hat Service (リソースグループ) Manager の Page 18 デル HPC NFS ストレージソリューション - 高可用性構成 rgmanager によって HA サービスがパッシブサーバへ移行、つまりフェイルオーバします。クラ イアントは、フェイルオーバプロセスが完了するまでデータにアクセスできません。 アクティブサーバは、起動するとクラスタに再び結合され、HA サービスは引き続きパッシブサー バで実行されます。 2) ハートビートリンク障害 - アクティブサーバ上でプライベートネットワークリンクの接続を解 除することによりシミュレーションを実施。 ハートビートリンクがアクティブサーバから取り外されると、両方のサーバがハートビートの途 絶を検出し、互いいにフェンスします。アクティブサーバはリンクがないためにプライベートネ ットワーク経由で接続することができず、したがってパッシブサーバをフェンスできません。パ ッシブサーバはアクティブサーバのフェンスに成功し、HA サービスの所有権を得ます。 アクティブサーバが起動すると、クラスタとフェンスを開始しようとしますが、ハートビートリ ンクが引き続きダウンしているためにフェンシングは成功しません。アクティブサーバは、パッ シブサーバがオフラインであると判断します。フェンシングが成功しないため、HA サービスはア クティブサーバ上では開始せず、パッシブサーバが引き続きクライアントにファイルシステムを 提供します。 ハートビートリンクがアクティブサーバに再び接続されると、パッシブサーバはアクティブサー バ上のクラスタデーモンをシャットダウンします。これは、アクティブサーバがクリーン再起動 なしでクラスタに参加するためです。この時点でアクティブサーバ上で実行されているクラスタ デーモンは存在せず、そのためクラスタの一部ではありません。 アクティブサーバは、電源を手動で切って入れ直した後にクラスタに再び参加します。パッシブ サーバは引き続きクラスタサービスを所有し、ファイルシステムをクライアントに提供します。 3) パブリックリンク障害 - アクティブサーバ上の InfiniBand または 10Gb イーサネットリンクの接 続を解除することによってシミュレーションを実施。 HA サービスは、このリンクを監視するよう構成されています。パブリックネットワークリンクが アクティブサーバ上で接続解除されると、アクティブサーバ上のクラスタサービスが停止し、パ ッシブサーバに移動します。リンクに障害が発生したことを検出するまでに要する時間は、 InfiniBand の場合は約 30 秒、10Gb イーサネットの場合は 20 秒です。アクティブサーバ上でパブ リックリンクの修理が行われる場合、アクティブサーバがクラスタサービスの所有権を得て開始 することはできません。 アクティブサーバのパブリックリンクが修理された後は、クラスタサービスは引き続きパッシブ サーバで実行され、クライアントに対するサービスが中断することはありません。 4) プライベートスイッチ障害 - プライベートネットワークスイッチの電源を切ることによってシ ミュレーションを実施。 プライベートスイッチに障害が発生した場合、両方のサーバが他方のサーバからのハートビート の途絶を検出し、互いにフェンスしようとします。ネットワークを利用できないためフェンシン グに失敗し、HA サービスは引き続きアクティブサーバ上で実行されます。 スイッチが再び機能するようになったら、両方のサーバが互いに相手のクラスタデーモンを消去 します。これは、クリーン再起動なしでサーバがクラスタに再び参加しようとするためです。こ の時点では HA サービスが引き続き機能し、アクティブサーバ上で稼働し続けます。クラスタ管 理デーモンが消去されているため、これは好ましい状態ではありません。クラスタデーモンの再 起動は成功しません。デバッグツールを使って HA サービスをストップし、ファイルシステムへ のクライアントアクセスを停止させることができます。 Page 19 デル HPC NFS ストレージソリューション - 高可用性構成 両方のサーバに手作業で電源を入れ直すと、それらは再びクラスタに参加し、そのうちの 1 台が HA サービスの所有権を得て、クライアントにファイルシステムを提供します。 5) フェンスデバイス障害 - サーバから iDRAC ケーブルを取り外すことによりシミュレーションを 実施。 サーバ上の iDRAC に障害が発生した場合、サーバはクラスタ構成ファイルにおいてセカンダリフ ェンスデバイスして定義されているネットワーク PDU 経由でフェンスされます。 フェンシングの時点で、1 台のサーバが iDRAC 経由で他方のサーバをフェンスしようとします。 それが失敗すると、ネットワーク PDU 経由でフェンスしようとします。サーバはフェンシングが 成功するまでこれらのフェンスデバイスを交互に使用します。 6) 1 件の SAS リンク障害 - PowerEdge R710 サーバと PowerVault MD3200 ストレージをつなぐ SAS リンクの 1 つで接続を解除することによりシミュレーションを実施。 1 つの SAS リンクにのみ障害が発生する場合、クラスタサービスは停止しません。サーバからス トレージまでの間には複数のパスがあるため、単一 SAS リンク障害によってクライアントからス トレージに至るデータパスが中断することはなく、したがってクラスタサービスのフェイルオー バは発生しません。 (1) から (6) までのすべての事例では、HA サービスのフェイルオーバが 1~2 分以内に起きるこ とに注意してください。したがって健全なクラスタにおいては、どのような障害イベントであれ、 数分以内に Red Hat クラスタ管理デーモンが検知し、対策が実施されます。 7) 複数件の SAS リンク障害 - 1 台の PowerEdge R710 サーバと PowerVault MD3200 ストレージを つなぐすべての SAS リンクの接続を解除することによってシミュレーションを実施 アクティブサーバ上のすべての SAS リンクに障害が発生した場合、アクティブサーバ上のマルチ パスデーモンが、multipath.conf ファイルにおいて構成されているパラメータに基づいてストレ ージへのパスを試します。これはデフォルトで 150 秒に設定されています。このプロセスがタイ ムアウトした後に、HA サービスがパッシブサーバへのフェイルオーバを試みます。 パスが破損しているためにクラスタサービスによって LVM とファイルシステムをクリーンに停止 させることができなかった場合は、5 分後にウォッチドッグスクリプトがアクティブサーバを再起 動します。パッシブサーバがアクティブサーバをフェンスし、HA サービスを再開し、クライアン トへのデータを提供します。そのためこのフェイルオーバは、3~8 分を要します。 アクティブサーバは、再起動すると再びクラスタに参加します。ただし、サーバとストレージの 間で 1 つ以上の SAS リンクが確立されるまでは、HA サービスを実行するための候補となることは ありません。 クライアントへの影響 クライアントは HA サービス IP を使用して、サーバがエクスポートした NFS ファイルシステムをマ ウントします。この IP はサーバ上の InfiniBand または 10Gb イーサネットネットワークインタフェー スのいずれかと関連付けされています。クライアントへの影響を測定するために、dd ユーティリティ と iozone ベンチマークを使用して、クライアントとファイルシステム間で複数の大容量のファイル の読み書きを行いました。クライアントがファイルシステムからのデータの読み書きを活発に行って いる間に、サーバ上にコンポーネント障害を導入しました。 すべてのシナリオにおいて、クライアントプロセスが読み込み操作と書き込み操作を順調に完了した ことが観察されました。フェイルオーバイベント中にプロセスがデータに活発にアクセスしている間 は、予想通りクライアントプロセスが操作を完了するまでの時間が長くなりました。InfiniBand の場 合、クライアントプロセスが完了するまでの時間は 15~35%長くなりました。10Gb イーサネットの Page 20 デル HPC NFS ストレージソリューション - 高可用性構成 場合、クライアントプロセスが完了するまでの時間は 5~10%長くなりました。クライアントプロセ スの所要時間の増分は、実際には分単位 (1~3 分)でした。フェイルオーバ期間中にデータ共有が一時 的に利用できない場合、クライアントプロセスは連続スリープ状態になることが観察されました。 クライアントプロセスの特徴によっては、フェイルオーバプロセス中に NFS シェアが一時的に利用で きなくなるために停止されるかまたはスリープ状態になることが予想されます。ただし、ファイルシ ステムにすでに書き込まれているデータはすべて、その後も利用可能です。クラスタ構成には、フェ イルオーバシナリオにおいてデータを保護するための設計上の選択肢がいくつか含まれています。そ れらとその他の選択肢についての説明は、 『機能性とパフォーマンスに影響する設計上の選択肢』のセ クションに記載されています。 フェイルオーバ中の読み書き操作については、checkstream ユーティリティを使用してデータの正確 性を検証しました。 使用したツールの詳細は、『付録 C:ベンチマークとテストツール』に記載されています。 5. パフォーマンスベンチマークテストの結果 本セクションには、HSS-HA ソリューションに関するパフォーマンスベンチマーキングテストの結果を示 します。具体的には、パフォーマンステストを行って下記の一般的な I/O パターンを評価しました。 ▪ ラージシーケンシャル読み書き ▪ スモールランダム読み書き ▪ メタデータ操作 これらのテストを、10Gb イーサネットを使用した例と IP-over-InfiniBand (IPoIB) を使用した例について 実施しました。この調査には、iozone ベンチマークと mdtest ベンチマークを使用しました。ベンチマー クテストの詳細は、『付録 C:ベンチマークテストとテストツール』に記載されています。 Iozone は、シーケンシャルテストとランダムテストに使用しました。I/O アクセスパターンは N-to-N (自 己ファイルへの各スレッドの読み込みと書き込み) でした。Iozone をクラスタ化モードで実行し、各計算 ノードに 1 つのスレッドを立てました。シーケンシャルテストに使用したパフォーマンス指標は、スルー プット (単位:MB/秒) でした。ランダムテストの場合は、1 秒あたり I/O 操作回数 (IOPS) を指標としま した。 ラージシーケンシャル読み込みテストとラージシーケンシャル書き込みテストは、1024KB の要求サイズ を使用して実施しました。NFS サーバキャッシュを確実に飽和状態にするため、書き込まれたデータの総 量は 128GB に達しました。スモールランダムテストは 4 KB のレコードサイズを使用して実施しました。 これは、4 KB というサイズが一般的なランダム I/O ワークロードに対応しているためです。これらのテス トでは、すべてのクライアントが 2GB のファイル 1 つの読み込みと書き込みを行いました。 メタデータテストは mdtest ユーティリティを使用して実施し、 「ファイルの作成 (ファイのル作成)、stats 削除 (removals)」が含まれます。これらのベンチマークはすべての I/O パターンをカバーするものではあ りませんが、NSS-HA ソリューションの I/O パフォーマンスを特徴付けるには役に立ちます。 NSS-HA ソリューションのスケーラビリティをテストするために、任意の範囲のクライアント上で上記の テストの各セットを実行しました。各テストに関与した同時クライアントの数は、1 クライアントから 64 クライアントまでさまざまでした。 テストは 2 種類の NSS-HA 構成 (中規模構成と大規模構成) について行いました。中規模構成では、2 個 のストレージアレイ全体で 40TB の利用可能スペースがあり、各ストレージコントローラが 1 個の仮想デ ィスクを管理します。大規模構成は、4 つのストレージアレイ全体で 80TB の利用可能スペースを提供し、 各ストレージコントローラは 2 個の仮想ディスクの所有権を持ちます。 Page 21 デル HPC NFS ストレージソリューション - 高可用性構成 前述したように、NSS-HA ソリューションのキャパシティの上限を把握するために、障害ゼロの状況にお いてもすべてのパフォーマンスベンチマーキングテストを実施しました。 5.1. InfiniBand でのシーケンシャル読み書き IPoIB シーケンシャル書き込みテストの結果を、図 8 に示します。図に示した数字は、一定数のクラ イアントが InfiniBand ファブリック経由でストレージに同時に書き込みする場合に達成したスループ ットの合計です。結果は NSS-HA 中規模構成と大規模構成に分けて表示しています。これらのベンチ マークテスト結果は、NSS-HA ソリューションのピークパフォーマンスが 1260 MB/s 付近であること を示しています。中規模構成と大規模構成の帯域幅は、両方とも同様です。中規模構成ではストレー ジコントローラキャッシュを 2 個の仮想ディスクが使用し、大規模構成ではこのキャッシュを 4 個の 仮想ディスク全体で共有します。大規模構成では、仮想ディスク 1 個あたりのキャッシュが小さくな るというデメリットがディスクスピンドルを追加することによって得られるメリットによって相殺さ れるため、2 つの構成で同様のパフォーマンスとなっています。それに加えて、NSS-HA ソリューシ ョンの書き込みパフォーマンスは、NFS sync エクスポートオプションと、MD3200 上の RAID コント ローラ間のキャッシュミラーリングによって制限されます。データによれば、2 つの構成の両方で、 特定のクライアント数を超えた後にパフォーマンスが低下しています。これは、ストレージアレイに NearLine SAS ドライブが組み込まれているという事実と NFS 同時書き込みトラフィックが原因とな ってディスクの検索処理が多くなり、パフォーマンスが低下するためです。 図 8 - IPoIB ラージシーケンシャル書き込みパフォーマンス スループット:MB/秒 1oIB ラージシーケンシャル書き込み クライアント数 大規模構成 中規模構成 IPoIB シーケンシャル読み込みの結果を図 9 に示します。この図の数字は、一定数のクライアントが InfiniBand ファブリック経由でストレージから同時に読み込む場合に得られる合計スループットを示 しています。この結果によれば、NSS-HA 大規模構成ソリューションのピーク読み込みパフォーマン スは 2430 MB/秒前後です。中規模構成のピーク読み込みパフォーマンスは 1510 MB/秒です。大規模 構成はディスクの数が中規模構成の 2 倍であり、ディスクスピンドルが追加されているために読み込 みパフォーマンスが高くなっています。したがって、NSS-HA ソリューションは規模の拡大/縮小を適 切に行うことができ、飽和点は 64 クライアントの場合でも観察されていません。 Page 22 デル HPC NFS ストレージソリューション - 高可用性構成 図 9 - IPoIB ラージシーケンシャル読み込みパフォーマンス スループット:MB/秒 IPoIB ラージシーケンシャル読み込み クライアント数 大規模構成 中規模構成 5.2.10Gb イーサネットシーケンシャル読み書き 10GbE シーケンシャル書き込みの結果を図 10 に示します。この図の数字は、一定数のクライアント が 10Gb イーサネットファブリック経由でストレージに同時に書き込む場合に得られる合計スループ ットを示しています。 図 10 - 10GbE ラージシーケンシャル書き込みパフォーマンス スループット:MB/秒 10GbE ラージシーケンシャル書き込み クライアント数 大規模構成 中規模構成 Page 23 デル HPC NFS ストレージソリューション - 高可用性構成 この結果によれば、NSS-HA ソリューションのピーク書き込みパフォーマンスは 1100 MB/秒前後です。 大規模構成と中規模構成はともに同様の結果となっており、このソリューションのボトルネックがデ ィスクではなくネットワークであることを示しています。 10GbE シーケンシャル読み込みの結果を図 11 に示します。この図の数字は、一定数のクライアント が 10Gb イーサネットファブリック経由でストレージから同時に読み込む場合に得られる合計スルー プットを示しています。この結果によれば、NSS-HA ソリューションのピーク書き込み[訳注:原文が write になっていますが、read ではないかと思います]パフォーマンスは 550 MB/秒前後です。中規模 構成と大規模構成はともに同様の結果となっており、このソリューションのボトルネックがディスク ではなくネットワークであることを示しています。 大規模構成と中規模構成のいずれにおいても書き込みパフォーマンスの方が読み込みパフォーマンス を大きく上回ったことは、指摘する価値があります。違いは主に 2 つのストレージ RAID コントロー ラの 4GB キャッシュの影響によるものです。10GbE ネットワークがボトルネックであるように、書 き込まれるデータをキャッシュに蓄積してからディスクに送信することでディスク帯域幅を全面的に 活用できるため、大容量のキャッシュメモリであれば書き込みパフォーマンスが高くなるのは間違い ありません。読み込み要求はただちに充足する必要があるため、読み込み操作がキャッシュによって 大幅にスピードアップすることはありません。 図 11 - 10GbE ラージシーケンシャル読み込みパフォーマンス スループット:MB/秒 10GbE ラージシーケンシャル読み込み クライアント数 大規模構成 中規模構成 10GbE での書き込みテストと読み込みテストの両方において、10GbE の方が InfiniBand の場合よりも ピークに達するまでが長くなっています。これは、利用可能な最大限のスループットを得るためによ り多くのクライアントを必要とするためです。IPoIB でのテストは InfiniBand 接続であるのに対して、 試験台の計算ノードは個別の Gb イーサネット接続であることも忘れてはなりません。 このテストは、1 個の 10Gb イーサネット接続によって NFS サーバに接続されている単一の NFS クラ イアントについても実施しました。この場合、NFS クライアントには 1 個の 10Gb イーサネットカー ドのみが装着されています (InfiniBand カードは搭載されていません)。NFS クライアントと NSS サー バの両方が、PowerConnect 8024 10Gb イーサネットスイッチに直接接続されています。この場合の Page 24 デル HPC NFS ストレージソリューション - 高可用性構成 結果を図 12 に示します。図 12 に示した 1GbE の場合のデータは、図 10 と図 11 の結果から得たもの です。この 10GbE クライアントの場合、ラージシーケンシャル読み込み帯域幅は、大規模構成では 864 MB/秒、中規模構成では 700 MB/秒でした。ラージシーケンシャル書き込み帯域幅は、大規模構 成と中規模構成の両方で 219 MB/秒でした。 図 12 - シングル 10GbE クライアント - ラージシーケンシャル読み書き スループット:MB/秒 シングル 10GbE、1GbE クライアント ラージシーケンシャル読み書き 大規模構成書き込み 大規模構成読み込み 10GbE クライアント 中規模構成書き込み 中規模構成読み込み 1GbE-クライアント 5.3. ランダム読み書き InfiniBand と 10Gb イーサネットのランダム読み込みテストとランダム書き込みテストの結果は近似 し、平均差は 3%未満でした。本セクションでは、InfiniBand の結果のみを示して説明します。 IPoIB と 10GbE で同様のパフォーマンスとなったことが示しているように、この例におけるボトルネ ックはネットワークではなくディスクにあります。したがって、ランダム読み書きのパフォーマンス はディスクの検索待ち時間に左右され、ランダム操作に関してキャッシュの果たす役割は小さいこと を予期しなければなりません。 Page 25 デル HPC NFS ストレージソリューション - 高可用性構成 図 13 - IPoIB ランダム書き込みパフォーマンス IPoIB ランダム書き込みパフォーマンス クライアント数 大規模構成 中規模構成 図 13 に、IPoIB ランダム書き込みパフォーマンスを示します。この図の数字は、一定数のクライアン トが InfiniBand ファブリック経由でストレージに同時に書き込む場合に得られる合計 1 秒あたり I/O 操作(IOPS)を示しています。この結果によれば、NSS-HA 大規模構成ソリューションのピークランダ ム書き込み IOPS は 1930 IOPS 前後です。NSS-HA 中規模構成ソリューションでは、950 IOPS です。 NSS-HA 大規模構成にはディスクスピンドルが追加されているため、パフォーマンスの向上に寄与し ています。2 つの構成はいずれも、一定範囲のクライアント数にわたってピーク IOPS が同じになって います。NSS-HA ランダム書き込みパフォーマンスは、設計上の選択肢である NFS sync エクスポー トオプション、MD3200 コントローラのキャッシュミラーリング、RAID 6 構成でのスモールライトに 伴うよく知られたパフォーマンスの制限によって制限されます。図 14 に示すランダム読み込みパフォ ーマンスが書き込みパフォーマンスより優れているのは、このためです。読み込みテストの結果は、 NSS-HA 大規模構成と中規模構成の両方がクライアント数に合わせた適切な規模の拡大/縮小が可能 であることを示しています。さらに、64 クライアントでは飽和状態は確認されません。 Page 26 デル HPC NFS ストレージソリューション - 高可用性構成 図 14 - IPoIB ランダム読み込みパフォーマンス IPoIB ランダム書き込みパフォーマンス クライアント数 大規模構成 中規模構成 5.4. メタデータテスト mdtest (ファイルの作成、stat、削除) の結果は、InfiniBand と 10 Gb イーサネットの結果に近似し、 その平均差は 5%未満でした。本セクションでは、InfiniBand の場合の結果のみを示し、解説します。 IPoIB と 10GbE で同様のパフォーマンスとなったことが示しているように、この場合のボトルネック はネットワークではなくディスクです。ランダムテストの結果と同様に、メタデータテストでは大量 のスモールランダム I/O 要求が生成されるため、このような結果を予期しなければなりません。 図 15、図 16、図 17 にそれぞれファイルの作成、stat、削除の結果を示します。これらの結果は、3 つのメタデータ操作すべてが NFS クライアントの数に関してスケーラブルであることを示しています。 Page 27 デル HPC NFS ストレージソリューション - 高可用性構成 図 15 - IPoIB ファイのル作成パフォーマンス create 数() /秒 IPoIB ファイのル作成パフォーマンス クライアント数 大規模構成 中規模構成 図 16 - IPoIB stat パフォーマンス stat()数 /秒 IPoIB stat パフォーマンス クライアント数 大規模構成 中規模構成 Page 28 デル HPC NFS ストレージソリューション - 高可用性構成 図 17 - IPoIB ファイルの削除のパフォーマンス ファイル削除()の数/秒 IPoIB のファイルの削除のパフォーマンス クライアント数 大規模構成 中規模構成 6. NSS ソリューション間の比較 本文書には、デルが提供した既存の非 HA 対応 NFS ストレージソリューションをベースとして高可用性機 能を実現する方法が記載されています。HA 機能を追加するには、いくつかのソリューションコンポーネ ントを変更します。表 6 と表 7 に HA 対応 NSS 構成と非 HA 対応 NSS 構成の相違点を要約します。 表 6 - ハードウェアコンポーネントの比較 ハードウェアコンポー 非 HA 型 NSS HA 型 NSS ネント 利用可能なソリューシ 小規模構成 20TB、中規模構成 40TB、 中規模構成 40TB と大規模構成 80TB ョン構成 ストレージ サーバ 大規模構成 80TB 1、2 または 4 台の MD1200 1 台の PowerEdge R710 サーバ 1 台の MD3200、1 台または 3 台の MD1200 2 台の PowerEdge R710 サーバ ストレージ接続用 HBA 1 個または 2 個の PERC H800 カード 1 個の SAS 6Gbps カード システム管理 iDRAC Enterprise(必須) iDRAC Enterprise (オプション) サ ー バ 電 源 ユ ニ ッ ト 2 個の電源 (オプション) (PSU) 切替ラック PDU (オプション) PDU 2 個の電源 (必須) プライベートネットワ プライベートネットワークなし プライベートネットワーク用 Gb イー ーク サネットスイッチ ローカルディスク用ス 2 個の切替ラック PDU (必須) PERC H700、5 個のローカルディスク Page 29 デル HPC NFS ストレージソリューション - 高可用性構成 ハードウェアコンポー 非 HA 型 NSS HA 型 NSS ネント トレージコントローラ パブリックネットワー InfiniBand または 10Gb イーサネット クからクライアントへ 表 7 - ソフトウェア構成の比較 ソフトウェアコンポー 非 HA 対応 NSS HA 対応 NSS ネント Red Hat Enterprise Linux 5.5 x86_64 オペレーティングシス テム Red Hat Cluster Suite for RHEL 5.5 HA クラスタソフトウェ 不要 ア Dell OpenManage Server Administrator システム管理 ストレージ管理 Dell Modular Disk Storage Manager 不要 Mellanox OFED 1.5.1 InfiniBand ドライバ 10 GbE ドライバ RHEL 5.5 に対しネイティブ Red Hat XFS ファイルシステム LVM create パラメータ lvcreate -i <number_of_arrays> -I 1024 -l 100%FREE VGName XFS create パラメータ mkfs.xfs -l size=128m <path_to_LV> XFS マウントオプショ "noatime, allocsize=1g, nobarrier, inode64, ン logbsize=262144" "noatime, allocsize=1g, nobarrier, inode64, logbsize=262144, wsync" NFS エクスポートオプ パフォーマンスが重要な判断基 データ修正には"sync"オプションを使用して ション ください。"async" はデータの正確性を保証 準である場合は"async" しません。 7. 結論 本ソリューションガイドでは、高可用性機能を含む NFS ソリューションによってデル HPC ストレージソ リューションを強化しています。デル NFS ストレージソリューションは、デルによる導入サービスと完 全なハードウェア/ソフトウェアサポートと合わせて利用することができます。本文書は、高可用性に対 応するソリューションの設計、導入、チューニングに関する完全な情報を提供しています。本ガイドライ ンには、ハードウェアおよびソフトウェアに関する情報、詳細な構成手順、導入や管理を容易にするベス トプラクティスが記載されています。パフォーマンスチューニングに関する注意事項と結果には、このア ーキテクチャの対応能力が記述されています。 8. 参考資料 1) 現在は、クラスタが最も一般的な HPC 向けアーキテクチャになっています。 http://www.top500.org/overtime/list/36/archtype Page 30 デル HPC NFS ストレージソリューション - 高可用性構成 2) Dell | Terascala HPC ストレージソリューション (DT-HSS) (米国のみ提供) http://content.dell.com/us/en/enterprise/d/business~solutions~hpcc~en/Documents~Dell-terascal a-dt-hss2.pdf.aspx 3) デル HPC NFS ストレージソリューション (NSS) http://i.dell.com/sites/content/business/solutions/hpcc/en/Documents/Dell-NSS-NFS-Storage-soluti on-final.pdf 4) Red Hat Enterprise Linux 5 Cluster Suite の概要 http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/pdf/Cluster_Suite_Overview/Red_ Hat_Enterprise_Linux-5-Cluster_Suite_Overview-en-US.pdf 5) Red Hat Enterprise Linux 5 での高可用性ウェブサーバの導入 http://www.redhat.com/f/pdf/rhel/Deploying_HA_Web_Server_RHEL.pdf 6) Platform Cluster Manager http://www.platform.com/cluster-computing/cluster-management TM TM 7) ハイパフォーマンスコンピューティング (HPC) 導入に向けた DELL PowerVault MD1200 ストレ ージアレイの最適化 http://i.dell.com/sites/content/business/solutions/power/en/Documents/Md-1200-for-hpc.pdf 8) アレイのチューニングに関するベストプラクティス http://www.dell.com/downloads/global/products/pvaul/en/powervault-md3200i-performance-tuni ng-white-paper.pdf Page 31 デル HPC NFS ストレージソリューション - 高可用性構成 付録 A:NSS-HA レシピ セクション 付録 A:NSS-HA レシピ .............................................................................................................................................................. 32 A.1. インストール前の準備 ...................................................................................................................................................... 32 A.2. サーバ側ハードウェアのセットアップ ......................................................................................................................33 A.3. 各 PowerEdge R710 サーバの初期ソフトウェア構成 ......................................................................................... 34 A.4. サーバのパフォーマンスチューニング ....................................................................................................................... 36 A.5. ストレージハードウェアのセットアップ .................................................................................................................37 A.6. ストレージ構成 ....................................................................................................................................................................37 A.7. NSS HA クラスタセットアップ ....................................................................................................................................... 38 A.8. HA セットアップのクイックテスト ........................................................................................................................... 47 A.9. 便利なコマンドと参考資料 ............................................................................................................................................ 47 A.10 クライアントのパフォーマンスチューニング ...................................................................................................... 48 A.11. スクリプトと構成ファイルの例 ................................................................................................................................. 48 インストール前の準備 A.1. 図 2 は NSS HA クラスタを示しています。NSS-HA の機器リストには下記が含まれます。 ▪ 2 台の PowerEdge R710 サーバ ▪ 1 個の PowerConnect 5424 Gb イーサネットスイッチ ▪ 2 個の切替 APC AP7921 電源用 PDU ▪ 1 台の PowerVault MD3200 ▪ 1 台または 3 台の PowerVault MD1200 サーバと PDU の間のプライベートネットワーク用 Gb イーサネット IP アドレス。 すべての IP アドレスは同じサブネット上になります。下記はテスト構成に使用された IP アドレスで す。 ▪ アクティブサーバ NIC1 の IP アドレス - 15.15.10.1/24 ▪ パッシブサーバ NIC1 の IP アドレス - 15.15.10.2/24 ▪ アクティブサーバ iDRAC の IP アドレス - 15.15.10.201/24 ▪ パッシブサーバ iDRAC の IP アドレス - 15.15.10.202/24 ▪ PDU 1 の IP アドレス - 15.15.10.101/24 ▪ PDU 2 の IP アドレス - 15.15.10.105/24 NFS クライアントと共有されるネットワーク用パブリックネットワーク IP アドレス。 これらの IP はクライアントと同じサブネット上になります。下記はテスト構成に使用された IP アド レスです。 ▪ アクティブサーバの 10GbE/IPoIB 用 IP アドレス - 10.10.10.201/16 ▪ パッシブサーバの 10GbE/IPoIB 用 IP アドレス - 10.10.10.202/16 ▪ クライアントが NFS をマウントするために使用するフローティングリソースの IP アドレス 10.10.10.200 Page 32 デル HPC NFS ストレージソリューション - 高可用性構成 A.2. サーバ側ハードウェアのセットアップ 1) 2 台の PowerEdge R710 サーバ (「アクティブ」と「パッシブ」) の準備を行います。各サーバを下 記の通りに構成します。 ▪ ▪ ▪ ▪ ▪ ▪ 1 つの PERC H700 と 5 つのローカルディスク(それぞれ 146GB)。 2 個のディスクを RAID 1 で構成し、1 個のディスクをホットスペアとして指定します。これはオ ペレーティングシステムに使用されます。2 個のディスクを RAID 0 で構成します。これはスワッ プとして使用されます。 10Gb イーサネットカードまたは InfiniBand カードをスロット 4 (PCI-E x8 スロット) に装着します。 SAS 6 Gbps カードをスロット 3 (PCI-E x8 スロット) に装着します。これは MD3200 ストレージ に接続するためのカードです。 iDRAC Enterprise デュアル電源 PERC H700 ストレージコントローラの参考資料は以下に記載されています。PowerEdge R710 サーバ は、2 個のディスクがすでに RAID 1 で構成された状態でデルの工場から出荷される場合があります。 追加の 3 個のディスクをサーバに挿入します。本文書を使用してそのうちの 1 個のディスクを RAID 1 セットアップのホットスペアとして追加し、残りの 2 個のディスクを RAID 0 で構成します。 http://support.dell.com/support/edocs/storage/Storlink/H700H800/en/UG/PDF/H700H800.pdf 2) 1 個の Gb イーサネットスイッチをプライベートネットワーク用にセットアップします。この Gb イー サネットスイッチには、電源用 PDU の 1 つから電源を供給します。このスイッチ上には、6 個以上の イーサネットポートが必要です。下記のそれぞれに 1 個のポートを割り当てます。 ▪ 電源用 PDU 1 からのイーサネットケーブル ▪ 電源用 PDU2 からのイーサネットケーブル ▪ アクティブサーバからの iDRAC Enterprise ▪ パッシブサーバからの iDRAC Enterprise ▪ アクティブサーバからの NIC1 ▪ パッシブサーバからの NIC1 3) 2 個の電源用切替 PDU をそれぞれ 3 個以上の電源ポートで下記のようにセットアップします。 ▪ PDU 1 のポート 1 はプライベートネットワーク用ギガビットスイッチ。 ▪ PDU 1 のポート 2 はアクティブサーバの電源 1 ▪ PDU 1 のポート 3 はパッシブサーバの電源 1 ▪ PDU 2 のポート 2 はアクティブサーバの電源 2 ▪ PDU 2 のポート 3 はパッシブサーバの電源 2 4) 電源用 PDU の IP アドレスをプライベートネットワーク上に構成します。各 PDU のイーサネットポー トを Gb イーサネットプライベートスイッチに接続します。 5) 各 R710 サーバにオンボード NIC1 をケーブル接続し、iDRAC Enterprise ポートを Gb イーサネットプ ライベートスイッチにケーブル接続します。 6) 各 R710 サーバに、そのサーバに使用する 2 つの電源ケーブルをプラグインし、2 個の電源用切替 PDU にそれぞれ接続します。 7) 各 R710 サーバに、プライベートネットワーク上での iDRAC Enterprise の IP アドレスを設定します。 8) IB または 10GbE ネットワークを「パブリック」ネットワークに接続します。これは NFS クライアン トが接続されるネットワークです。 Page 33 デル HPC NFS ストレージソリューション - 高可用性構成 A.3. 各 PowerEdge R710 サーバの初期ソフトウェア構成 1) RHEL5.5 x86_64 オペレーティングシステムを RAID 1 仮想ディスクにインストールします。 ▪ OS インストール中のサーバに MD ストレージが取り付けられていないことを確認してください。 2) OS をインストールした後に、RAID 0 デバイス上にスワップをセットアップします。 ▪ PERC H700 に関連付けされたデバイスは、Multipath -ll によって示されます。たとえば /dev/mapper/mpath1 ▪ # mkswap -L SWAP /dev/mapper/mpath1 ▪ # swapon -p 10 /dev/mapper/mpath1 ▪ ▪ /etc/fstab を編集し、このスワップデバイスのエントリを追加します。 "LABEL=SWAP swap swap pri=10 0 0" このエントリが、 OS インストールによって作成されたデフォルトスワップスペース (もしあれば) の前にリストアップされていることを確認してください。 サーバを起動したときにスワップが自動的に有効になることをテストします。 # swapoff -a # swapon -s # swapon -a # swapon -s 3) RHEL 5.5 DVD をサーバにコピーし、yum リポジトリを作成します。各サーバ上で次のコマンドを実 行します。 ▪ # cp -r /media/RHEL5.5 /root/ # rpm -ivh /root/RHEL5.5/Server/createrepo-0.4.11-3.el5.noarch.rpm # cd /root/RHEL5.5/Server; createrepo . # cd /root/RHEL5.5/VT; createrepo . # cd /root/RHEL5.5/Cluster; createrepo . # cd /root/RHEL5.5/ClusterStorage; createrepo . ▪ 各リポジトリに、下記の例と同様のファイルを作成します。 /etc/yum.repos.d/Server.repo /etc/yum.repos.d/Cluster.repo /etc/yum.repos.d/ClusterStorage.repo /etc/yum.repos.d/VT.repo .repo ファイルの例: [root@active]# cat /etc/yum.repos.d/Server.repo [Server] name=Server baseurl=file:///root/RHEL5.5/Server enabled=1 gpgcheck=0 ▪ リポジトリをチェックします。 [root@passive]# yum repolist Loaded plugins: rhnplugin, security This system is not registered with RHN. RHN support will be disabled. repo id repo name status VT VT enabled: Cluster Cluster enabled: Clusterstorage ClusterStorage enabled: 71 32 39 Page 34 デル HPC NFS ストレージソリューション - 高可用性構成 Server repolist: 3,258 Server enabled: 3,116 4) Red Hat Network (http://rhn/redhat.com) から XFS パッケージを入手し、インストールします。 xfsdump-2.2.48-3.el5.x86_64.rpm xfsprogs-devel-2.10.2-7.el5.x86_64.rpm xfsprogs-2.10.2-7.el5.x86_64.rpm 5) Dell OpenManage Server Administrator をインストールします。 (OM-SrvAdmin-Dell-Web-LX-6.4.0-1266.RHEL5.x86_64_A00.21.tar.gz) 「missing dependencies」と表示されてセットアップが失敗した場合は、欠けている rpm を下記から インストールします。 <dir_where_OM_extracted>/linux/RPMS/supportRPMS/opensourcecomponents/RHEL5/x86_64 libcmpiCppImpl0-2.0.0Dell-1.3.el5.x86_64.rpm sblim-sfcc-2.2.1-1.4.1.el5.x86_64.rpm sblim-sfcb-1.3.7-1.4.2.el5.x86_64.rpm openwsman-server-2.2.3.9-1.5.3.el5.x86_64.rpm 6) MD3200 管理ソフトウェア (MGFM4A04_md3200_1_2_0_12.iso) をインストールします。 http://support.dell.com/support/downloads/driverslist.aspx?c=us&l=en&s=gen&ServiceTag=&Syste mID=PWV_MD3200&os=RHEL5&osl=EN 7) InfiniBand を使用する場合は、Mellanox OFED 1.5.1 (MLNX_OFED_LINUX-1.5.1-rhel5.5.iso) をインス トールします。 8) 両方のクラスタサーバの IP ポートを有効にします。有効にするポートのリストは、 『Red Hat Cluster Administration Guide』に記載されています。 http://docs.redhat.com/docs/enUS/Red_Hat_Enterprise_Linux/5/pdf/Cluster_Administration/Red_Hat_Enterprise_Linux-5Cluster_Administration-en-US.pdf Section 2.3 ファイアウォール構成ツール (system-config-securitylevel) を起動し、[Other ports] をクリックし てから、TCP と UDP のポート番号を追加します。 あるいは、ファイアウォールを無効にします。この選択肢を実行する前に、パブリックインタフェー スとプライベートインタフェースが安全なネットワークに接続されていることを確認し、ファイアウ ォールを無効にした場合のセキュリティへの影響に注意してください。 # service iptables stop; chkconfig iptables off 9) chkconfig ipmi on 10) chkconfig nfs on 11) chkconfig multipathd on 12) 両方のサーバのエントリを記載するために、両方のサーバで/etc/hosts をアップデートします。 [root@passive ~]# cat /etc/hosts # Do not remove the following line, or various programs Page 35 デル HPC NFS ストレージソリューション - 高可用性構成 # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 15.15.10.1 active.hpc.com active 15.15.10.2 passive.hpc.com passive 13) アクティブサーバとパッシブサーバの間でパスワードを使用しない ssh をセットアップします。 active> ssh-keygen -t rsa active> ssh-copy-id -i ~/.ssh/id_rsa.pub passive passive> ssh-keygen -t rsa passive> ssh-copy-id -i ~/.ssh/id_rsa.pub active 14) パブリックネットワークの IPoIB ib0 アドレスまたは 10GbE アドレスを構成します。 15 サーバからストレージへのすべての SAS リンクが失敗したときに、クラスタサービスのフェイルオー バに影響する可能性のある問題に対処するには、アクティブサーバとパッシブサーバの両方で 2 つの rpm をアップデートする必要があります。 それらの rpm は、Red Hat Network から入手可能です。 device-mapper-multipath-0.4.7-42.el5_6.2.x86_64.rpm kpartx-0.4.7-42.el5_6.2.x86_64.rpm アクティブサーバとパッシブサーバの両方をアップデートします。 # rpm -Uvh kpartx-0.4.7-42.el5_6.2.x86_64.rpm device-mapper-multipath0.4.7-42.el5_6.2.x86_64.rpm 参考資料: http://rhn.redhat.com/errata/RHBA-2011-0379.html https://bugzilla.redhat.com/show_bug.cgi?id=677821 https://bugzilla.redhat.com/show_bug.cgi?id=683447 A.4. サーバのパフォーマンスチューニング 1) クライアントが 10GbE 経由で NFS サーバにアクセスする場合は、アクティブサーバとパッシブサー バの両方で 10GbE デバイス上の MTU が 8192 になるよう構成します。大きい MTU をサポートする場 合にも、スイッチを構成する必要があることに注意してください。 サーバ上で MTU の値が/etc/sysconfig/network-scripts/ifcfg-ethX において指定されていない場合は、 echo "MTU=8192" >> /etc/sysconfig/network-scripts/ifcfg-ethX、 さもなければ、/etc/sysconfig/network-scripts/ifcfg-ethX において古い値を 8192 に変更します。 この ifcfg-ethX は、10GbE ネットワークインタフェースです。 ネットワーキングサービスを再起動します。 service network restart 2) アクティブサーバとパッシブサーバの両方で、NFS スレッドの数をデフォルトの 8 から 256 に変更し ます。 Page 36 デル HPC NFS ストレージソリューション - 高可用性構成 /etc/sysconfig/nfs のバックアップを作成し、スレッドの数を変更します。 # cp /etc/sysconfig/nfs{,.orig}, # sed -i 's/#RPCNFSDCOUNT=8/RPCNFSDCOUNT=256/' /etc/sysconfig/nfs NFS サービスを再起動します。 service nfs restart 参考資料 - http://i.dell.com/sites/content/business/solutions/whitepapers/en/Documents/hpcpv-md1200-nfs.pdf 3) アクティブサーバとパッシブサーバの両方で、OS I/O スケジューラを「deadline」に変更します。 /etc/grub.conf において、カーネル行の最後に elevator=deadline を追加します。 これが有効になるよう、サーバを再起動します。 A.5. ストレージハードウェアのセットアップ 1) 図 3 に示したように、MD3200 をサーバの SAS 6 Gbps カードにケーブル接続します。 ▪ OS インストール前にストレージを R710 サーバにケーブル接続しないでください。 参考資料: http://support.dell.com/support/edocs/systems/md3200/en/DG/PDF/DG.pdf のセクション 「Dual Controller Configurations」 2) MD1200 を MD3200 にケーブル接続します。 参考資料: http://support.dell.com/support/edocs/systems/md3200/en/index.htm A.6. ストレージ構成 1) 1 台の R710 サーバ上で MDSM 管理 GUI を起動します。取り付けたストレージアレイをインバンド管 理経由で検出し、そのストレージアレイを管理 GUI に追加します。 2) 1 つのホストグループを作成し、そのグループにアクティブサーバとパッシブサーバを追加します。 3) MDSM の GUI を使用して、ストレージ上に LUN を作成します。 ▪ 各ストレージアレイに、1 個のディスクグループと、12 個のディスクすべてを 10+2 RAID 6 で格 納する 1 個の仮想ディスク(セグメントサイズ 512k)で作成します。NSS-HA 中規模構成の場合、こ れは合計 2 つの LUN です。NSS-HA 大規模構成の場合、これは合計 4 つの LUN です。 ▪ 各仮想ディスクの読み込みキャッシュ、書き込みキャッシュ、書き込みキャッシュミラーリング、 ダイナミックキャッシュ読み込みプリフェッチを有効にします。 ▪ MD3200 のハイパフォーマンスティアを有効にします。 ▪ キャッシュのブロックサイズを 32k にセットします。 ストレージアレイを構成する方法に関する指示については、下記の参考資料を使用してください。 http://support.dell.com/support/edocs/systems/md3200/en/OM/PDF/MD3200.pdf 4) すべての仮想ディスクを、アクティブサーバとパッシブサーバが格納されているこのホストグループ にマッピングします。 参考資料:http://support.dell.com/support/edocs/systems/md3200/en/index.htm 5) 各 R710 サーバ上で、コマンド rescan_dm_devs を実行します。 Page 37 デル HPC NFS ストレージソリューション - 高可用性構成 6) 各 R710 サーバ上で、cat /proc/partitions と multipath -ll を実行するとストレージ上のすべての LUN が表示されます。 参考資料:http://support.dell.com/support/edocs/systems/md3200/en/OM/HTML/config_n.htm A.7. NSS HA クラスタセットアップ 本レシピにおいて「クラスタ」はアクティブ-パッシブ NSS-HA Red Hat クラスタを指します。 1) 2 台の R710 サーバにクラスタソフトウェアパッケージをインストールします。 # yum install -y ricci rgmanager cman openais # service ricci start; chkconfig ricci on 2) そのうちの 1 台の R710 サーバ (「アクティブ」サーバ) にクラスタ管理 GUI をインストールします。 # yum install luci # luci_admin init # service luci restart 3) HA LVM をセットアップします。HA LVM は、一度に 1 台のサーバだけが LVM にアクセスするように します。 アクティブ R710 サーバで下記を行います。 ▪ /etc/lvm/lvm.conf を編集し、locking_type が 1 になるよう編集します。 ▪ multipath -ll アウトプットからの mpath デバイス名を使用して、LVM を作成します。 NSS-HA 中規模構成の場合 # pvcreate /dev/mapper/mpath2 /dev/mapper/mpath3; # vgcreate DATA_VG /dev/mapper/mpath2 /dev/mapper/mpath3 # lvcreate -i 2 -I 1024 -l 100%FREE DATA_VG -n DATA_LV NSS-HA 大規模構成の場合 # pvcreate /dev/mapper/mpath2 /dev/mapper/mpath3 /dev/mapper/mpath4 /dev/mapper/mpath5 # vgcreate DATA_VG /dev/mapper/mpath2 /dev/mapper/mpath3 /dev/mapper/mpath4 /dev/mapper/mpath5 # lvcreate -i 4 -I 1024 -l 100%FREE DATA_VG -n DATA_LV ▪ lvdisplay を実行すると DATA_LV が表示されます。 ▪ /etc/lvm/lvm.conf を編集し、ボリュームリストを以下に変更します。 volume_list = [ "VolGroup00" , "@active" ] VolGroup00 は OS 用の "/" ファイルシステムを含むボリュームグループです。 「active」はクラスタ構成に使用するよう cluster.conf ファイルにおいて定義したサーバの名前で す。 ▪ initrd を作り直します。 # mkinitrd -f /boot/initrd-2.6.18-194.el5.img 2.6.18-194.el5 Page 38 デル HPC NFS ストレージソリューション - 高可用性構成 他方の (パッシブ) サーバに HA LVM をセットアップします。 ▪ lvdisplay を実行すると DATA_LV が表示されます。 ▪ /etc/lvm/lvm.conf を編集し、locking_type が 1 になるよう編集します。 ▪ /etc/lvm/lvm.conf を編集し、ボリュームリストを以下に変更します。 volume_list = ["VolGroup00" , "@passive" ] VolGroup00 は、OS 用の "/" ファイルシステムを含むボリュームグループです。 「パッシブ」はクラスタ構成に使用するよう cluster.conf ファイルにおいて定義したサーバの名前 です。 ▪ initrd を作り直します。 # mkinitrd -f /boot/initrd-2.6.18-194.el5.img 2.6.18-194.el5 参考資料 - http://kbase.redhat.com/faq/docs/DOC-3068 4) アクティブサーバ上に、XFS ファイルシステムを作成します。 # mkfs.xfs -l size=128m /dev/DATA_VG/DATA_LV 5) 両方のサーバ上に、XFS ファイルシステムのマウントポイントを作成します。これは XFS ファイルシ ステムがマウントされるディレクトリであり、NFS 経由でクライアントにエクスポートされます。 # mkdir /mnt/xfs_data 6) クラスタを構成します。図 18 のスクリーンショットを参照してください。 ▪ 「アクティブ」R710 サーバ上で以下を行います。 ▪ luci web GUI を起動します (https://active:8084)。 ▪ [cluster] タブに移動し、[Create a New Cluster] をクリックします。 ▪ クラスタ名 (たとえば「NSS_HA_CLUSTER」) を入力します。 ▪ ノードホスト名「アクティブ」と「パッシブ」を入力します。パスワードを入力します。 ▪ [Use locally installed packages] を選択します。 ▪ [Enable Shared Storage Support] にチェックマークを入れます。 ▪ ノードのパスワードが同じである場合は [Check if node passwords are identical] にチェックマー クを入れます。 ▪ [View SSL cert fingerprints] をクリックします。 ▪ [Submit] をクリックします。 Page 39 デル HPC NFS ストレージソリューション - 高可用性構成 図 18 - 新規クラスタの作成 7) 両方のサーバ上で、cman サービスが実行されていることを確認します。 # service cman status 8) 両方のサーバ上で、クラスタのステータスを確認します。 # clustat クラスタステータスに両方のサーバがオンラインとして表示されます。クラスタが立ち上がって時稼 働している場合は、次のステップに進みます。 [root@active ~]# clustat Cluster Status for NSS_HA_CLUSTER @ Wed Mar Member Status: Quorate 2 17:36:36 2011 Member Name ------ ---active passive ID Status ---- -----1 Online, Local 2 Online 9) クラスタパッケージをインストールした結果変更された可能性のあるすべての HA LVM 構成をリセッ トします。 ▪ 両方のサーバ上で/etc/lvm/lvm.conf を編集し、locking_type を 1 にセットします。 ▪ initrd を作り直します。 # mkinitrd -f /boot/initrd-2.6.18-194.el5.img 2.6.18-194.el5 Page 40 デル HPC NFS ストレージソリューション - 高可用性構成 10) InfiniBand クラスタの場合は、セクション A.11 に記載されている ibstat-script.sh ファイルを両方のサ ーバの/root/ibstat-script.sh にコピーします。このスクリプトは、ibstat コマンドを使って InfiniBand リンクのステータスをチェックします。これは、InfiniBand リンクを確実に監視するためのクラスタ サービスのリソースとして含まれます。(10Gb イーサネットクラスタの場合は、RHCS が 10GbE リン クを監視し、スクリプトを追加する必要はありません)。 11) セクション A.11 に記載されている sas_path_check_script.sh ファイルを 両方のサーバの/root/sas_path_check_script.sh にコピーします。このスクリプトは、共有ストレージ 上の 1 個のデバイスのステータスをチェックします。所定の時間内にこのデバイスにアクセスできな い場合、サーバは再起動し、クラスタサービスを他方のサーバにフェイルオーバするかどうかを確認 する質問が画面に表示されます。パスに障害が発生したためにクラスタサービスが正常に終了しない 場合は、再起動されます。 チェック対象デバイス (/dev/mapper/mpath2) とタイムアウトまでの時間 (300 秒) はチューニング 可能です。スクリプト/dev/mapper/mpath2 に含まれるデバイスが、共有 MD3200 ストレージ上の 1 つの LUN を指示していることを確認します。これは、multipath -ll コマンドの出力を見ることによっ て確認できます。 12) 両方のサーバ上でパブリックインタフェースが起動していることを確認します。これは 10GbE リンク または InfiniBand リンクのいずれかになります。 13) アクティブサーバ上だけで、/etc/cluster/cluster.conf を修正します。 ▪ セクション A.11 に記載されている cluster.conf ファイルの例を使用して、アクティブサーバ上の /etc/cluster/cluster.conf ファイルをアップデートします。フェンスデバイス、リソース、サービ スなどのセクションを追加します。 ▪ 一意のハードウェアおよびソフトウェア構成に対応するよう/etc/cluster/cluster.conf ファイルを編 集するのを忘れないでください。 これは重要な手順です。この手順は、NSS-HA クラスタのリソースとクラスタサービスを定義し ます。cluster.conf ファイルが不正確または不完全である場合、作成されるクラスタは機能しませ ん。 下記の環境固有パラメータに注意してください。下記の指示には、xml ファイルの関連する部分 を特定しやすいよう、xml スニペットが含まれています。 a) クラスタ名 xml ファイルの 2 カ所でこの変更を行います。 <cluster alias="NSS_HA_CLUSTER" config_version="2" name="NSS_HA_CLUSTER"> b) 両方の R710 サーバ (アクティブとパッシブ) のホスト名を正しい名前に訂正します。 各ホストの xml ファイルの 2 カ所でこの変更を行います。 <clusternode name="active" nodeid="1" votes="1"> <clusternode name="passive" nodeid="2" votes="1"> <failoverdomainnode name="active" priority="1"/ <failoverdomainnode name="passive" priority="2"/> c) 両方のサーバの DRAC IP アドレス Page 41 デル HPC NFS ストレージソリューション - 高可用性構成 各ホストの xml ファイルの 3 カ所でこの変更を行います。 <fence> <method name="1"> <device name="15.15.10.201"/> <fencedevice agent="fence_drac5" cmd_prompt="admin1->" ipaddr="15.15.10.201" login="root" name="15.15.10.201" passwd="calvin" secure="1"/> <fence> <method name="1"> <device name="15.15.10.202"/> <fencedevice agent="fence_drac5" cmd_prompt="admin1->" ipaddr="15.15.10.202" login="root" name="15.15.10.202" passwd="calvin" secure="1"/> d) 両方のサーバの DRAC ユーザ名とパスワード 各ホストの xml ファイルの 1 カ所でこの変更を行います。 <fencedevice agent="fence_drac5" cmd_prompt="admin1->" ipaddr="15.15.10.201" login="root" name="15.15.10.201" passwd="calvin" secure="1"/> <fencedevice agent="fence_drac5" cmd_prompt="admin1->" ipaddr="15.15.10.202" login="root" name="15.15.10.202" passwd="calvin" secure="1"/> e) 両方の PDU の PDU IP アドレス 各ホストの xml ファイルの 6 カ所でこの変更を行います。 <method name="2"> <device name="15.15.10.101" option="off" port="2"/> <device name="15.15.10.105" option="off" port="2"/> <device name="15.15.10.101" option="on" port="2"/> <device name="15.15.10.105" option="on" port="2"/> </method> <method name="2"> <device name="15.15.10.101" option="off" port="3"/> <device name="15.15.10.105" option="off" port="3"/> <device name="15.15.10.101" option="on" port="3"/> <device name="15.15.10.105" option="on" port="3"/> </method> <fencedevice agent="fence_apc" ipaddr="15.15.10.101" login="apc" name="15.15.10.101" passwd="apc"/> <fencedevice agent="fence_apc" ipaddr="15.15.10.105" login="apc" name="15.15.10.105" passwd="apc"/> f) 両方の PDU の PDU ログインユーザ名とパスワード 各 PDU の xml ファイルの 1 カ所でこの変更を行います。 <fencedevice agent="fence_apc" ipaddr="15.15.10.101" login="apc" name="15.15.10.101" passwd="apc"/> <fencedevice agent="fence_apc" ipaddr="15.15.10.105" Page 42 デル HPC NFS ストレージソリューション - 高可用性構成 login="apc" name="15.15.10.105" passwd="apc"/> g) 4 つの電源すべての PDU ポート 4 つの PDU ポートのそれぞれの xml ファイルの 2 カ所でこの変更を行います。 <method name="2"> <device name="15.15.10.101" option="off" port="2"/> <device name="15.15.10.105" option="off" port="2"/> <device name="15.15.10.101" option="on" port="2"/> <device name="15.15.10.105" option="on" port="2"/> </method> <method name="2"> <device name="15.15.10.101" option="off" port="3"/> <device name="15.15.10.105" option="off" port="3"/> <device name="15.15.10.101" option="on" port="3"/> <device name="15.15.10.105" option="on" port="3"/> </method> h) VG 名と LV 名 VG と LV の xml ファイルの 2 カ所でこの変更を行います。 <lvm lv_name="DATA_LV" name="HA_LVM" self_fence="1" vg_name="DATA_VG"/> <fs device="/dev/DATA_VG/DATA_LV" force_fsck="0" force_unmount="1" fstype="xfs" mountpoint="/mnt/xfs_data" name="XFS" options="noatime,allocsize=1g,nobarrier,inode64,logbsize=26214 4,wsync" self_fence="0"/> i) XFS マウントポイント xml ファイルの 1 カ所でこの変更を行います。 <fs device="/dev/DATA_VG/DATA_LV" force_fsck="0" force_unmount="1" fstype="xfs" mountpoint="/mnt/xfs_data" name="XFS" options="noatime,allocsize=1g,nobarrier,inode64,logbsize=26214 4,wsync" self_fence="0"/> j) パブリックネットワークのサービス IP (クライアントが NFS をマウントするために使用するフ ローティング IP) xml ファイルの 2 カ所でこの変更を行います。 <ip address="10.10.10.200" … <ip ref="10.10.10.200"/> Page 43 デル HPC NFS ストレージソリューション - 高可用性構成 k) NFS エクスポートオプション xml ファイルの 1 カ所でこの変更を行います。「sync」は NSS-HA の必須オプションです。 <nfsclient allow_recover="1" name="NFS_client" options="fsid=55,rw,sync,no_root_squash" target="*"/> l) InfiniBand クラスタの場合は、ibstat_script ファイルのロケーション。このロケーションは両 方のサーバ上で同じでなければなりません。xml ファイルの 1 カ所でこの変更を行います。 <script file="/root/ibstat_script.sh" name="ibstat_script"/> m) sas_path_check_script ファイルのロケーション。このロケーションは両方のサーバ上で同じ でなければなりません。xml ファイルの 1 カ所でこの変更を行います。 <script file="/root/sas_path_check_script.sh" name=" sas_path_check_script "/> ▪ config_version を 1 つ増やします。これは/etc/cluster/cluster.conf のライン 2 にあります。 ▪ 以下の次のコマンドは、アクティブサーバとパッシブサーバの間でクラスタ構成ファイルを同期 します。クラスタサービス (HA LVM のアクティブ化、XFS ファイルシステムのマウント、NFS 経 由での XFS システムのエクスポート、フローティングリソース IP の作成を含む) も、このコマン ドで開始します。 アクティブサーバ上で下記のコマンドを実行します。 # ccs_tool update /etc/cluster/cluster.conf 14) クラスタサービスが実行されていることを確認します。 ▪ クラスタのステータスは、両方のサーバがオンラインであることを示します。クラスタが稼働し ている場合は、次のステップに進みます。 [root@active ~]# clustat Cluster Status for NSS_HA_CLUSTER @ Thu Mar Member Status: Quorate ▪ 3 10:41:48 2011 Member Name ------ ---active passive rgmanager Service Name ------- ---- ID Status --------1 Online, rgmanager 2 Online, Local, Owner (Last) ----- ------ State ----- service:HA_service アクティブ started サービスを実行しているサーバ上で、XFS ファイルシステムがマウントされていることを確認し ます。 [root@active ~]# mount | grep xfs /dev/mapper/DATA_VG-DATA_VG_LV on /mnt/xfs_data type xfs (rw,noatime,allocsize=1g,nobarrier,inode64,logbsize=262144,wsync) Page 44 デル HPC NFS ストレージソリューション - 高可用性構成 ▪ サービスを実行しているサーバ上で、リソース IP が割り当てられていることを確認します。パブ リックネットワークへのインタフェースには、2 つの IP アドレス (静的に割り当てられたアドレ スとフローティングサービス IP アドレス) があります。 [root@active ~]# ip addr show ib0 9: ib0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65520 qdisc pfifo_fast qlen 256 link/infiniband 80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:7f:a7 brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff inet 10.10.10.201/24 brd 10.10.10.255 scope global ib0 inet 10.10.10.200/24 scope global secondary ib0 inet6 fe80::202:c903:7:7fa7/64 scope link valid_lft forever preferred_lft forever 15) Selinux ポリシーをアップデートします。クラスタサーバが他方のクラスタメンバーをフェンスし、ク ラスタサービスの所有権を得ることができるようにするためには、このポリシーが必要です。 セクシ ョン A.11 に記載されている SELinux ポリシーの Type Enforcement ファイル (.te) を使用して、ポリ シーモジュールを構築します。そのポリシーモジュールを、両方のサーバにインストールします。 # checkmodule -M -m NSSHApolicy.te -o NSSHApolicy.mod # semodule_package -o NSSHApolicy.pp -m NSSHApolicy.mod # semodule -i NSSHApolicy.pp あるいは、SELinux ポリシーは拒否された操作のログから作成することができます。拒否された操作 は、/var/log/audit/audit.log で確認します。該当するクラスタに関連するものがない場合は、『HA セ ットアップのクイックテスト』セクションの記述に従ってフェンシングをテストし、次に下記の手順 に従います。 # grep avc /var/log/audit/audit.log | audit2allow -M NSSHApolicy 作成したポリシーモジュールを、bot サーバにインストールします。 # semodule -i NSSHApolicy.pp 参考資料 https://bugzilla.redhat.com/show_bug.cgi?id=588902 16) 両方のサーバで、CLVM を無効にします。 # chkconfig clvmd off; service clvmd stop 17) 両方のサーバで、GFS を無効にします。 # chkconfig gfs off; service gfs stop; # chkconfig gfs2 off; service gfs2 stop 18) luci web GUI (https://active:8084) を起動して、最新のクラスタ構成を確認します。その一例を図 19 に示します。 注意: cluster.conf ファイルの例では、複数の既知の問題に対処しています。web GUI 経由で変更を 保存する場合は、それらの修正に注意し、保存する内容にそれらが含まれていることを確認してくだ さい。 a) luci web GUI を使用して変更を保存する場合は、1 台のサーバ上で cluster.conf ファイルを手作業 で編集します。 - ファイルシステムタイプ fstype を「xfs」に変更します。 <fs device="/dev/DATA_VG/DATA_LV" force_fsck="0" force_unmount="1" fstype="xfs" mountpoint="/mnt/xfs_data" name="XFS" options="noatime,allocsize=1g,nobarrier,inode64,logbsize=262144,wsyn c" self_fence="0"/> Page 45 デル HPC NFS ストレージソリューション - 高可用性構成 参考資料 https://bugzilla.redhat.com/show_bug.cgi?id=636554 - iDRAC 用フェンスデバイスに cmd_prompt パラメータが組み込まれていることと、両方の iDRAC デバイスのセキュアパラメータが 1 にセットされていることを確認します。 <fencedevice agent="fence_drac5" cmd_prompt="admin1->" ipaddr="15.15.10.201" login="root" name="15.15.10.201" passwd="calvin" secure="1"/> 参考資料 https://bugzilla.redhat.com/show_bug.cgi?id=577913 https://bugzilla.redhat.com/show_bug.cgi?id=496749 http://linux.dell.com/wiki/index.php/Products/HA/DellRedHatHALinuxCluster/Cluster#Confi gure_iDRAC6_Fencing b) バージョン番号を 1 つ増やし、変更を全ノードに拡大適用します。 ccs_tool update /etc/cluster/cluster.conf あるいは、それらの修正が組み込まれたバージョンとして、luci rpm のアップデートされたバージョ ンを使用することもできます。 luci rpm のバージョン: luci-0.12.2-24.el5_6.1.x86_64.rpm 参考資料: http://rhn.redhat.com/errata/RHBA-2011-0033.html 図 19 - クラスタリソース Page 46 デル HPC NFS ストレージソリューション - 高可用性構成 A.8. HA セットアップのクイックテスト 1) フェンシングをテストします。 ▪ 最初に、クラスタサービスを無効にします。 [root@active ~]# clusvcadm -d HA_service ▪ アクティブサーバからコマンド fence_node passive を実行します。これにより、DRAC 経由でパ ッシブサーバの電源が一度オフになってから再びオンになります。アクティブサーバの /var/log/messages を確認します。 ▪ パッシブサーバからコマンド fence_node active を実行します。これにより、DRAC 経由でアクテ ィブサーバの電源が一度オフになってから再びオンになります。パッシブサーバの /var/log/messages を確認します。 ▪ パッシブサーバの DRAC ケーブルの接続を解除します。「アクティブ」サーバからコマンド fence_node passive を実行します。これにより、切替 PDU 経由でパッシブサーバの電源が一度オ フになってから再びオンになります。 ▪ ア ク テ ィ ブ サ ー バ の DRAC ケ ー ブ ル の 接 続 を解除 し ま す 。 パ ッ シ ブ サ ーバ か ら コ マ ン ド fence_node active を実行します。これにより、切替 PDU 経由で「アクティブ」サーバの電源が 一度オフになってから再びオンになります。 2) 簡単な HA フェイルオーバテスト: ▪ 「アクティブ」サーバ上でサービスを起動します。 [root@active ~]# clusvcadm -e HA_service -m active ▪ 電源ボタンを押しながら電源コードを両方とも引き抜き、アクティブサーバの電源をオフにします。 ▪ サービスはパッシブサーバに移行します。/var/log/messages を見て、パッシブサーバの clustat のステータスを確認します。 A.9. 便利なコマンドと参考資料 1) clustat 2) cman_tool status 3) /etc/cluster/cluster.conf ファイルを手作業で編集する場合は、1 台のサーバ上でのみ変更を行い、バ ージョン番号フィールドに 1 つ多い数を入力します。下記のコマンドに従って、変更を両方のサーバ に拡大適用します。 cs_tool update /etc/cluster/cluster.conf 4) service cman status 5) service rgmanager status 6) clusvcadm は、クラスタサービスを手作業で停止、開始、無効化、移動するために使用します。 7) group_tool 8) rg_test はデバッグツールです。注意して使用してください。このツールを使用する前に、クラスタサ ービスが停止し無効化されていることを確認してください。 ▪ ▪ ▪ clusvcadm -s HA_service clusvcadm -d HA_service rg_test test /etc/cluster/cluster.conf start service HA_service - mount は、マウントされているファイルシステムを表示します。 ip addr list は、構成したフローティングリソース IP を表示します。 Page 47 デル HPC NFS ストレージソリューション - 高可用性構成 - ▪ ▪ ▪ クライアントはファイルシステムにアクセス可能になります。したがって、rg_test は注意し て使用し、デバッグだけに使います。clustat と clusvcadm は、正常稼働中にクラスタとクラ スタサービスを管理します。 rg_test test /etc/cluster/cluster.conf status service HA_service rg_test test /etc/cluster/cluster.conf stop service HA_service clusvcadm -e HA_service 9) アクティブサーバまたはパッシブサーバを起動または再起動する場合は、最初にクラスタを正常に終 了させます。さもなければ、他方のサーバはそのサーバが機能を喪失したと考え、フェンシングしま す。クラスタを正常に終了させるには、下記の順序でコマンドを実行します。 ▪ ▪ ▪ ▪ fence_tool leave service rgmanager stop cman_tool leave remove service cman stop 10) Red Hat Cluster Suite に関する優れた FAQ:http://sources.redhat.com/cluster/wiki/FAQ A.10. クライアントのパフォーマンスチューニング 1) クライアントが 10GbE 経由で NFS サーバにアクセスする場合は、すべてのクライアントについて 10GbE デバイスの MTU が 8192 になるよう構成します。大きい MTU をサポートするためには、スイ ッチも構成する必要があることに注意してください。 クライアントの MTU の値が/etc/sysconfig/network-scripts/ifcfg-ethX で指定されていない場合は、 echo "MTU=8192" >> /etc/sysconfig/network-scripts/ifcfg-ethX さもなければ、/etc/sysconfig/network-scripts/ifcfg-ethX で古い値を 8192 に変更します。10GbE ネ ットワークインタフェースの場合は ifcfg-ethX です。 ネットワーキングサービスを再起動します。service network restart 2) 各クライアントについて、下記を /etc/sysctl.conf に追加します。 # increasing the default TCP receive memory size net.ipv4.tcp_rmem = 4096 2621440 16777216 nges with sysctl -p で変更を有効化します。 A.11. スクリプトと構成ファイルの例 1) /etc/cluster/cluster.conf InfiniBand クラスタ用のファイル 2) /etc/cluster/cluster.conf 10Gb イーサネットクラスタ用のファイル 3) /root/ibstat_script.sh InfiniBand クラスタ用のファイル 4) /root/sas_path_check_script.sh 5) NSSHApolicy.te SELinux ポリシーType Enforcement ファイル Page 48 デル HPC NFS ストレージソリューション - 高可用性構成 付録 B:中規模構成から大規模構成へのアップグレード 中規模構成は 1 台の PowerVault MD3200 と 1 台の PowerVault MD1200 から構成され、キャパシティは 約 40TB です。大規模構成は、1 台の PowerVault MD3200 と 3 台の PowerVault MD1200 から構成され、 キャパシティは約 80TB です。 中規模構成から大規模構成にアップグレードするには、追加する 2 台の PowerVault MD1200 の構成が最 初のセットアップと同一でなければなりません。追加する 2 台の PowerVault MD1200 は、ストレージに ケーブル接続します。 当初の中規模構成のためのストレージ構成と同様に、新たに追加する 2 台の PowerVault MD1200 は、そ れぞれセグメントサイズを 512k とし、RAID 6 で 10+2 仮想ディスクとなるよう構成します。この仮想デ ィスクをホストグループに追加し、アクティブサーバとパッシブサーバの両方が2つの新しい LUN にア クセスできるようにします。 XFS ファイルシステムを中規模構成から大規模構成に拡張するには、2 つの方法があります。 オプション 1:現在のファイルシステムはそのままとし、キャパシティを 40TB 追加することによって中 規模構成を拡張します。この場合は、 ▪ 最初の 40TB のデータは 1 台の PowerVault MD3200 と 1 台の PowerVault MD1200 による当初の 中規模構成に保存されます。データは PowerVault MD3200 と 1 台めの PowerVault MD1200 にま たがって配置されます。 ▪ データの次の 40TB は、追加された 2 台の PowerVault MD1200 にまたがって配置されます。 ▪ システムの合計キャパシティは大規模構成と同じ 80TB です。 ▪ ストレージのパフォーマンスは中規模構成と同じです。 ▪ ファイルシステムとユーザデータは、アップグレードの影響を受けません。ただし、アップグレ ードを行う前にユーザデータをバックアップすることをおすすめします。 オプション 2:第 2 のオプションは、ストレージに大規模構成を作成します。この場合は、 ▪ ユーザデータは外部にバックアップしなければなりません。これは要件です。データは保存され ません。 ▪ ボリュームグループ、論理ボリューム、ファイルシステムは 4 台の PowerVault MD ストレージエ ンクロージャをすべて使用して再現されます。80TB のデータすべてが、4 台の PowerVault MD アレイにまたがって配置されます。 ▪ システムの合計キャパシティは 80TB です。 ▪ システムのパフォーマンスは、大規模構成と同様です。 ▪ アップグレードを行った後に、ユーザデータを復元しなければなりません。 実装オプション 1 - 中規模構成の拡張 下記の手順は、現在クラスタサービスを実行しているサーバ上で実施しなければなりません。 1) ユーザデータをバックアップします。 2) 2 つの新しい LUN に新しい物理ボリュームを作成します。 pvcreate /dev/mapper/mpath4 /dev/mapper/mpath5 3) 既存のボリュームグループを拡張し、新たに作成した物理ボリュームを組み込みます。 vgextend DATA_VG /dev/mapper/mpath4 /dev/mapper/mpath 4 既存の論理ボリュームを拡張し、新たに作成した物理ボリュームを組み込みます。 lvextend /dev/DATA_VG/DATA_LV /dev/mapper/mpath4 /dev/mapper/mpath5 -I 1024 -i 2 Page 49 デル HPC NFS ストレージソリューション - 高可用性構成 5) ファイルシステムを拡張して、論理ボリュームに追加スペースを組み込みます。 xfs_growfs -d /mnt/xfs_data 6) 新しいファイルシステムのサイズを確認します。df -h は、ファイルシステムの合計サイズが約 80TB (以前の 2 倍) になっていることを示します。 7) ユーザデータに影響がなかったことを確認します。必要に応じて復元します。 実装オプション 2 - 大規模構成の作成。 1) ユーザデータをバックアップします。これは要件です。データは保存されません。 2) クラスタサービスを停止し、無効にします。クラスタを停止します。 クラスタサービスを実行しているサーバ上で: clusvcadm -s HA_service clusvcadm -d HA_service fence_tool leave service rgmanager stop cman_tool leave remove service cman stop 他方のサーバで: fence_tool leave service rgmanager stop cman_tool leave remove service cman stop 3) 両方のサーバで/etc/lvm/lvm.conf を編集し、HA_LVM を削除します。volume_list line をコメントア ウトします。 4) 両方のサーバで、initrd を作り直します。 mkinitrd -f /boot/initrd-2.6.18-194.el5.img 2.6.18-194.el5 5) 1 台のサーバ上で、古い論理ボリュームを削除します。 lvchange -a y /dev/DATA_VG/DATA_LV lvremove /dev/DATA_VG/DATA_LV 6) 1 台のサーバ上で、古いボリュームグループを削除します。 vgremove DATA_VG 下記の手順は、NSS HA 構成レシピと同様です。 7) アクティブサーバ上で、2 つの新しい LUN 上に新しい物理ボリュームを作成します。 pvcreate /dev/mapper/mpath4 /dev/mapper/mpath5 Page 50 デル HPC NFS ストレージソリューション - 高可用性構成 8) アクティブサーバ上で 4 つの LUN すべてにまたがって 1 つのボリュームグループを作成します。以前 と同じ VG 名を使用しなければなりません。 さもなければ、/etc/cluster/cluster.conf ファイルの編集が必要になります。 vgcreate DATA_VG /dev/mapper/mpath2 /dev/mapper/mpath3 /dev/mapper/mpath4 /dev/mapper/mpath5 9) このボリュームグループを使用して、アクティブサーバ上に 1 つの論理ボリュームを作ります。 lvcreate -i 4 -I 1024 -l 100%FREE DATA_VG -n DATA_LV 10) HA LVM をセットアップします。 ▪ アクティブサーバ上で/etc/lvm/lvm.conf を編集し、以下になるようボリュームリストを変更しま す。 volume_list = [ "VolGroup00" , "@active" ] VolGroup00 は、OS 用"/"ファイルシステムを含むボリュームグループです。 「active」は cluster.conf ファイルにおいて定義したサーバの名前です。 ▪ パッシブサーバ上で/etc/lvm/lvm.conf を編集し、以下になるようボリュームリストを変更します。 volume_list = [ "VolGroup00" , "@passive" ] VolGroup00 は OS 用"/"ファイルシステムを含むボリュームグループです。 「Passive」は cluster.conf ファイルにおいて定義したサーバの名前です。 ▪ 両方のサーバ上で、initrd を作り直します。 mkinitrd -f /boot/initrd-2.6.18-194.el5.img 2.6.18-194.el5 11) アクティブサーバ上で、ファイルシステムを作成します。 mkfs.xfs -l size=128m /dev/DATA_VG/DATA_LV 12) クラスタを再起動します。その結果、HA LVM が有効化され、XFS ファイルシステムがマウントされ て NFS 経由でエクスポートされ、フローティングリソース IP が作成されます。 両方のサーバで同時に以下を実行します。 service cman start service rgmanager start 13) 新しいファイルシステムのサイズを確認します。df -h はマウントされたファイルシステムを示し、フ ァイルシステムの合計サイズは約 80TB (以前の 2 倍) になっています。 14) ユーザデータを復元します。 Page 51 デル HPC NFS ストレージソリューション - 高可用性構成 付録 C:ベンチマークテストとテストツール iozone ベンチマークは、シーケンシャル読み書きのスループット (MB/秒) とランダム読み書きの 1 秒あ たり I/O 操作 (IOPS) を測定するために使用したものです。 mdtest ベンチマークは、メタデータ操作パフォーマンスをテストするために使用しました。 checkstream ユーティリティは、障害が発生した場合とフェイルオーバが行われる場合のデータの正確性 をテストするために使用しました。 Linux dd ユーティリティは、最初のフェイルオーバテストと、データスループットとファイルコピー操作 を完了するまでの時間の測定に使用しました。 C.1. IOzone IOzone は、http://www.iozone.org/からダウンロードできます。今回のテストにはバージョン 3.353 を使 用し、NFS サーバとすべての計算ノードの両方にインストールしました。 IOzone テストは、クラスタ化モードで 1~64 ノードから実行しました。すべてのテストは N-to-N (N 個 のクライアントが N 個の独立したファイルの読み込みまたは書き込みを行う) で実施されました。 キャッシュ効果を最小化するため、テストとテストの間に下記の手順に従いました。 ▪ ▪ ▪ ▪ クライアント上の NFS シェアをアンマウントしました。 サーバ上のクラスタサービスを停止しました。それにより、そのサーバ上の XFS ファイルシステ ムがアンマウントされます。 サーバ上のクラスタサービスを起動します。 クライアント上に NFS シェアをマウントします。 下記の表は、IOZone コマンド行の引数を記述しています。 IOzone 引数 説明 -i 0 書き込みテスト -i 1 ランダムアクセステスト -i 2 1 台の PowerEdge R710 サーバ -+n 再テストなし -c タイミング計算にクローズを含める -t スレッド数 -e タイミング計算にフラッシュを含める -r レコードサイズ -s ファイルサイズ -t スレッド数 +m -w -I -O クラスタ化モードのときに IOzone を実行するクライアントの ロケーション 一時ファイルをリンク解除 (削除) しない O_DIRECT を使用し、クライアントのキャッシュをバイパスす る 結果を ops/秒で表示する Page 52 デル HPC NFS ストレージソリューション - 高可用性構成 シーケンシャルテストについては、書き込みされたデータが合計 128G になるよう、クライアント数 に応じてファイルサイズを変更しました (クライアント数 x クライアントあたりのファイルサイズ =128G)。 IOzone シーケンシャル書き込み # /usr/sbin/iozone -i 0 -c -e -w -r 1024k -s 2g -t 64 -+n -+m ./clientlist IOzone シーケンシャル読み込み # /usr/sbin/iozone -i 1 -c -e -w -r 1024k -s 2g -t 64 -+n -+m ./clientlist ランダムテストについては、各クライアントが 2G のファイル 1 個を読み込みまたは書き込みしまし た。小規模ランダムデータアクセスのシミュレーションを行うため、ランダムテストに使用したレコ ードサイズは 4k でした。 IOzone IOPs ランダムアクセス (読み込みと書き込み) # /usr/sbin/iozone -i 2 -w -r 4k -I -O -w -+n -s 2G -t 1 -+m ./clientlist IOzone テストの-c や-e は、典型的なアプリケーションの挙動に関する現実的な見方を可能にしま す。O_Direct コマンドドラインパラメータは、IOzone スレッドが実行されている計算ノードのキャ ッシュをバイパスします。 Page 53 デル HPC NFS ストレージソリューション - 高可用性構成 C.2. mdtest mdtest は、http://sourceforge.net/projects/mdtes/からダウンロード可能です。今回のテストでは、 バージョン 1.8.3 を使用しました。mdtest は、コンパイルしてから、計算ノードがアクセス可能な NFS シェアにインストールしました。mdtest は、mpirun とともに起動しました。今回のテストに ついては、Mellanox OFED 1.5.1 からの OpenMPI を使用しました。 下記の表に、mdtest コマンド行引数を示します。 mpirun 引数 説明 -d mdtest を実行すべきディレクトリ -i テストの反復回数 -b ディレクトリ構造の分岐因子 -z ディレクトリ構造の深さ -L ツリー構造の葉のレベルに相当するファイルのみ -I ディレクトリツリー1 つあたりのファイル数 -y 書き込み後にファイルを同期化する -u 各タスクの一意の作業用ディレクトリ -C ファイルやディレクトリを作成する -R 無作為にファイルを stat する -T ファイルとディレクトリのみを stat する -r テスト実行時に残ったファイルやディレクトリを削除する IOzone ランダムアクセスパターンと同様に、メタデータテスト中にキャッシュ効果を最小化するた めに下記の手順に従いました。 ▪ クライアントの NFS シェアをアンマウントします。 ▪ サーバ上のクラスタサービスを停止します。これにより、サーバ上の XFS ファイルシステ ムがアンマウントされます。 ▪ サーバ上でクラスタサービスを起動します。 ▪ クライアントに NFS シェアをマウントします。 メタデータファイルとディレクトリの作成 # mpirun -np 32 --nolocal --hostfile ./hosts /nfs/share/mdtest -d /nfs/share/filedir -i 6 -b 320 -z 1 -L -I 3000 -y -u -t -C メタデータファイルとディレクトリの stat # mpirun -np 32 --nolocal --hostfile ./hosts /nfs/share/mdtest -d /nfs/share/filedir -i 6 -b 320 -z 1 -L -I 3000 -y -u -t -R -T メタデータファイルとディレクトリの削除 # mpirun -np 32 --nolocal --hostfile ./hosts /nfs/share/mdtest -d /nfs/share/filedir -i 6 -b 320 -z 1 -L -I 3000 -y -u -t -r Page 54 デル HPC NFS ストレージソリューション - 高可用性構成 C.3. checkstream checkstream ユーティリティは、http://sourceforge.net/projects/checkstream/から入手可能です。 今回のテストでは、バージョン 1.0 を NFS サーバにインストールしたうえでコンパイルしました。 最初に、genstream ユーティリティを使用して大きなファイルを作成しました。このファイルは、 クライアントが dd を使用して NFS シェアへのコピーと NFS シェアからのコピーを行います (書き 込み操作と読み込み操作を模倣するため)。ファイルコピープロセスの途中で障害のシミュレーショ ンを行い、NFS サービスは 1 台のサーバから別のサーバへフェイルオーバしました。その結果得られ た出力ファイルは、データの正確性をテストするための checkstream ユーティリティを使用してチ ェックし、データの破損が発生していないことを確認しました。 下記は、データの破損が発生しなかったテスト成功例のサンプル出力です。 checkstream[genstream.file.100G]: -----------------------------------------------checkstream[genstream.file.100G]: valid data for 107374182400 bytes at offset 0 checkstream[genstream.file.100G]: -----------------------------------------------checkstream[genstream.file.100G]: end of file summary checkstream[genstream.file.100G]: [valid data] 1 valid extents in 261.205032 seconds (0.00382841 err/sec) checkstream[genstream.file.100G]: [valid data] 107374182400/107374182400 bytes (100 GiB/100 GiB) checkstream[genstream.file.100G]: 読み込み 26214400 blocks 107374182400 bytes in 261.205032 seconds (401438 KiB/sec), no errors 比較のため、コピーしたファイルにデータの破損が発生したテスト失敗例を示します。たとえば、フ ァイルシステムが NFS async 操作によりエクスポートされ、書き込み操作中に HA サービスフェイ ルオーバが発生する場合、データの破損が発生する可能性は高くなります。 checkstream[compute-00-10]: -----------------------------------------------checkstream[compute-00-10]: valid data for 51087769600 bytes at offset 45548994560 checkstream[compute-00-10]: checkstream[compute-00-10]: -----------------------------------------------checkstream[compute-00-10]: end of file summary checkstream[compute-00-10]: [valid data] 1488 valid extents in 273.860652 seconds (5.43342 err/sec) checkstream[compute-00-10]: [valid data] 93898678272/96636764160 bytes (87 GiB/90 GiB) checkstream[compute-00-10]: [zero data] 1487 errors in 273.860652 seconds (5.42977 err/sec) checkstream[compute-00-10]: [zero data] 2738085888/96636764160 bytes (2 GiB/90 GiB) checkstream[compute-00-10]: 読み込み 23592960 blocks 96636764160 bytes in 273.860652 seconds (344598 KiB/sec) checkstream[compute-00-10]: -----------------------------------------------checkstream[compute-00-10]: encountered 1487 errors, failing Page 55 デル HPC NFS ストレージソリューション - 高可用性構成 C.4. dd dd は、coreutils rpm が提供する Linux ユーティリティの 1 つであり、RHEL 5.5 とともに配布されま す。dd は、1 件のファイルをコピーするために使われます。 ファイルシステムは、クライアント上の/mnt/xfs にマウントしました。 ストレージにデータを書き込むために、下記のコマンド行を使用しました。 # dd if=/dev/zero of=/mnt/xfs/file bs=1M count=90000 ストレージからデータを読み込むために、下記のコマンド行を使用しました。 # dd if=/mnt/xfs /file of=/dev/null bs=1M Page 56