...

デルHPC NFSストレージソリューション

by user

on
Category: Documents
39

views

Report

Comments

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-&gt;"
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-&gt;"
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-&gt;"
ipaddr="15.15.10.201" login="root" name="15.15.10.201"
passwd="calvin" secure="1"/>
<fencedevice agent="fence_drac5" cmd_prompt="admin1-&gt;"
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-&gt;"
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
Fly UP