Storage Foundation 8.0.2 管理者ガイド - Linux
- 第 I 部 Storage Foundation の紹介
- Storage Foundation の概要
- Dynamic Multi-Pathing の動作
- Veritas Volume Manager の動作
- Veritas File System の動作
- 第 II 部 ストレージのプロビジョン
- 新しいストレージのプロビジョニング
- ストレージの設定のための高度な割り当て方法
- 割り当て動作のカスタマイズ
- 特定のレイアウトのボリュームの作成
- VxFS ファイルシステムの作成とマウント
- VxFS ファイルシステムの作成
- VxFS ファイルシステムのマウント
- ファイルシステムサイズの変更
- 空き領域の監視
- エクステント属性
- 第 III 部 DMP を使ったマルチパスの管理
- Dynamic Multi-Pathing の管理
- 新しく追加されたディスクデバイスの検出と設定
- ディスクの検出とディスクアレイの動的な追加について
- デバイス検出層の管理方法
- vxdmpadm ユーティリティを使った DMP の管理
- I/O 統計情報の収集と表示
- I/O ポリシーの指定
- 新しく追加されたディスクデバイスの検出と設定
- デバイスの動的再構成
- デバイスの管理
- イベント監視
- Dynamic Multi-Pathing の管理
- 第 IV 部 Storage Foundation の管理
- 第 V 部 I/O パフォーマンスの最適化
- 第 VI 部 PITC (Point-In-Time Copy) の使用
- PITC 方法の理解
- ボリュームスナップショットの管理
- 従来のサードミラーブレークオフスナップショット
- フルサイズインスタントスナップショット
- インスタントスナップショットの作成
- インスタントスナップの DCO と DCO ボリュームの追加
- インスタントスナップショットの同期の制御
- インスタントスナップショットの作成
- カスケードスナップショット
- バージョン 0 の DCO および DCO ボリュームの追加
- Storage Checkpoint の管理
- FileSnaps の管理
- スナップショットファイルシステムの管理
- 第 VII 部 Storage Foundation を使用したストレージの最適化
- 第 VIII 部 ストレージ利用率の最大化
- SmartTier によるストレージの階層化について
- ボリュームセットの作成と管理
- MVS ファイルシステム
- SmartTier の管理
- ホットリロケーションの管理
- データの重複排除
- ファイルの圧縮
- 第 IX 部 ストレージの管理と保護
- ボリュームとディスクグループの管理
- デフォルトのディスクグループの名前の付け方
- ボリュームまたはディスクの移動
- タスクの監視と制御
- オンライン再レイアウトの実行
- ボリュームへのミラーの追加
- ディスクグループの管理
- プレックスとサブディスクの管理
- ストレージの破棄
- ルータビリティ
- クォータ
- FCL (File Change Log)
- ランサムウェアに対する保護のサポート
- ボリュームとディスクグループの管理
- 第 X 部 参照先
クラスタでのシリアルスプリットブレイン条件の例
この項では、クラスタ内の共有ディスクグループにシリアルスプリットブレイン条件がどのように発生するかについて説明します。別のシステムにディスクグループの一部をインポートした場合には、クラスタまたは非クラスタ設定の専用ディスクグループでも設定コピーに矛盾が生じることがあります。
通常、キャンパスクラスタ(別名ストレッチクラスタまたはリモートミラー設定)は、2 ノードクラスタで構成され、クラスタの各コンポーネント(サーバー、スイッチ、ストレージ)は別々の建物内に配置されます。
図: 2 ノードキャンパスクラスタの代表的な構成 は、建物 A にノード 0、ファイバーチャネルスイッチ、ディスクエンクロージャ enc0、建物 B にノード 1、もう 1 つのスイッチ、エンクロージャ enc1 を配置した 2 ノードクラスタを示しています。
各ノードと各エンクロージャの間の冗長ループアクセスを実現するために、ファイバーチャネル接続は多重冗長型になっています。また、2 つのノードは冗長性のあるプライベートネットワークでも接続されています。
シリアルスプリットブレイン条件が起きるのは、ノード 1 がノード 0 のフェールオーバーノードとして設定されたクラスタで、ノード 0 に専有(非共有)ディスクグループがインポートされた場合です。
ノード間のネットワーク接続が切断されると、両方のノードはそれぞれ他方のノードに障害が発生したものと認識します(これは、クラスタ環境でスプリットブレイン条件が生じる一般的な原因です)。1 つのディスクグループが 2 つのエンクロージャ、enc0 と enc1 の間で分割されると、各部とディスクグループの他の部分との接続が失われます。ノード 0 はアクセス可能なディスクグループ各部にあるディスクへの更新を続け、フェールオーバーノードとして機能するノード 1 は(-f オプションが設定されているため)ディスクグループの他の部分をインポートして、認識できるディスクの更新を開始します。
この状態でネットワークリンクが復元された場合、ノード 0 上のディスクグループに存在しないディスクを再接続したり、どちらかのノードにディスクグループ全体をインポートしようとしても、操作は失敗します。 インポートされた各ディスクのディスクメディアレコードのシリアル ID は、これらのディスク上のすべてのディスクグループ設定データベースとインポートされた各ディスクのプライベートリージョンで、VxVM によって順に増分されます。設定データベースに保存される値は、ディスクグループに順に割り当てられていくシリアル ID であるのに対して、ディスクのプライベートリージョンに保存されるシリアル ID は、実際の値と見なされます。 VxVM は、接続されているディスクの実際のシリアル ID と、インポートされたディスクグループのディスクグループ設定データベース内のシリアル ID が一致しない場合、シリアルスプリットブレインを検出します。
(物理的な切断や停電などによって)ディスクグループから一部のディスクが失われた後、別のホストによってこれらのディスクがインポートされると、設定データベースに保存されたディスクのコピーのシリアル ID と各ディスクのプライベートリージョンのシリアル ID は同じホスト上で別々に更新されます。この後で元の共有ディスクグループにディスクを再インポートすると、ディスクの実際のシリアル ID とディスクグループ内の他のディスクの設定コピーの期待値が一致しないという状態が生じます。
このような設定データベース間の不整合を解消するには、分割されたディスクグループの各部で何が起こったかに応じて 2 つの方法が考えられます。
ディスクグループの他方のディスクが別のホストにインポートされていない場合、VxVM は最も大きい更新済み ID(vxdg list diskgroup コマンドの出力の update_id)の値を持つディスクの設定データベースのバージョンを使って、シリアル ID の矛盾する値を調整します。
図: 自動的な解消が可能なシリアルスプリットブレイン条件の例 に、VxVM による自動的な解消が可能なシリアルスプリットブレイン条件の例を示します。
他方のディスクも別のホストにインポートされている場合、2 つのディスクの設定データベースはいずれも信頼できないものと見なされます。
図: 自動的に解消できない真のシリアルスプリットブレイン条件の例 に、VxVM により自動的に解消できない、真のシリアルスプリットブレイン条件の例を示します。
この場合には、ディスクグループのインポートは失敗し、vxdg ユーティリティの終了前に次のようなエラーメッセージが表示されます。
VxVM vxconfigd NOTICE V-5-0-33 Split Brain. da id is 0.1, while dm id is 0.0 for DM mydg01 VxVM vxdg ERROR V-5-1-587 Disk group newdg: import failed: Serial Split Brain detected. Run vxsplitlines
vxdg コマンドに -f フラグを指定しても、インポートは失敗します。
この場合でも、設定 ID(vxdg list diskgroup| grep config コマンドの出力の seqno の値として表示される)が最も大きい設定データベースを使うと、矛盾を解消できる場合があります。ただし、すべての状況で有効とはかぎりません。