共有グループ (OCFS2) の管理
複数のホストが同じブロックデバイスに同時に読み書きする場合、互いのデータを上書きしないように協調する必要があります。Cockpit はこれをクラスター化ファイルシステム OCFS2 とそのクラスター・スタック O2CB で処理します。共有グループ (shared group) はその O2CB クラスターであり、どのホストがメンバーかを追跡し、ハートビートを確認し、ホスト間の同期を保ちます。
共有グループはデータセンターの Shared Group タブから管理します。そのスコープはデータセンター全体であり、内部のすべてのクラスターに所属する全ホストが参加します。
最初にグループをセットアップしてください
OCFS2 データストアは、使用するすべてのホスト上に共有グループが存在して初めて作成できます。OCFS2 プールの データストア追加ウィザード を実行する前に、ここで共有グループを構成してください。
グループが健全な間のみクラスター化データストアを使用してください
クラスター化(OCFS2)データストアが安全に使えるのは、その共有グループがすべての参加ホストでアクティブかつ同期している間だけです。グループが完全にオンラインでないクラスター化データストアをマウントしたり書き込んだりしないでください。全員のデータが破損するおそれがあります。
共有グループのセットアップ
データセンターに共有グループがまだない場合、タブには 「Shared Group Not Configured」 と表示され、Setup Shared Group ボタンが配置されます。セットアップウィザードは 3 つのステップで構成されます:
- Basics(基本設定)— クラスター名と ハートビートモード(下記参照)。
- Node Plan(ノード計画)— 各ホストにノード名と IP アドレスを割り当てます。ノードはポート 7777 で通信します。
- Review(確認)— 適用前に計画を確認します。
完了すると、Cockpit はすべてのホストに構成を適用します。O2CB クラスターを作成し、ハートビートモードを設定し、各ノードを登録し、グローバルモードの場合はハートビートサービスを開始します。操作はべき等(アイデムポテント)であるため、部分的に構成された環境でセットアップを再実行しても、不足している部分が安全に補完されます。
ハートビートモード
| モード | 仕組み | 使用するケース |
|---|---|---|
| Local (デフォルト) | マウントされた各 OCFS2 デバイスが独自のハートビートを保持します。よりシンプルで、追加で管理するものはありません。 | ほとんどの導入環境。 |
| Global | データ LUN とは独立した専用のハートビート領域 (heartbeat region) デバイスに対して、開始および停止できるサービスとしてハートビートが実行されます。 | 大規模なクラスターや、個々のデータストアからハートビートを切り離したい場合。 |
Start/Stop heartbeat の操作コントロールおよび Heartbeat Regions セクションは、global モードでのみ適用されます。
既存の共有グループの管理
構成が完了すると、タブには概要(検出されたホスト、有効なクラスター名、ハートビートモード)および一連の管理セクションが表示されます。
クラスター操作 (Cluster Operations)
- Register all / Unregister all — すべてのホストで O2CB クラスター構成を登録または登録解除します。登録処理を行うと、アンマウントやダウンタイムを発生させることなく、
cluster.confのメンバー定義を実行中のカーネルメモリに動的に同期します。 - Start heartbeat / Stop heartbeat — すべてのホストでハートビートサービスを開始または停止します。グローバルモードでのみ利用可能。
- Refresh state — すべてのホストを再ポーリングし、表示されるステータスを実際の状態と一致させます。
Heartbeat Regions (グローバルモード)
デバイスパス(例: /dev/mapper/mpathb)を追加してすべてのホストにハートビート領域として登録するか、既存の領域を削除します。構成された領域はテーブルに一覧表示されます。
ホストごとのステータス (Per-Host Status)
データセンター内の各ホストの稼働ステータスを表示するテーブルです:
- Cluster exists — ホスト上の
/etc/ocfs2/cluster.confにクラスター構成が存在するかどうか。 - Online status — O2CB クラスター・スタックがカーネルメモリ内でアクティブかどうか。構成済みだがオフラインの場合は out of cluster バッジ、実行中のカーネルメモリと構成ファイルに差異がある場合は ⚠ out of sync 警告が表示されます。
- Members & Heartbeats — このホスト上のアクティブなノード数およびハートビート領域数。
- Actions:
- Sync to kernel — オンライン動的登録 (
o2cb register-cluster) を実行し、ファイルシステムをアンマウントすることなく新規追加ノードを実行中カーネルメモリに同期します。ホストが非同期状態のときはプライマリボタンとして強調表示されます。 - Enter maintenance / Exit maintenance — ホストを安全にアクティブクラスターから離脱、または再参加させます。
- Sync to kernel — オンライン動的登録 (
メンバー (Members)
Members セクションでは、共有グループに参加する個々のノード定義を管理できます:
メンバーノードの追加 (Add Member Node)
既存の共有グループに新しいホストまたはノードを追加するには:
- Add Member Node フォームで、Datacenter host ドロップダウンからホストを選択すると、デフォルトのノード名と検出された IP アドレスが自動入力されます(カスタムエンドポイントを指定する場合は Custom / Manual を選択)。
- Node name、Node IP、および Port(デフォルト
7777)を確認します。 - Add member on all hosts をクリックします。Cockpit は以下を自動的に実行します:
- 新規参加ホスト上にクラスター定義が存在することを確認。
- データセンター内の全ホストにノード構成を追加。
- オンライン登録を実行し、進行中の I/O を中断することなく、稼働中の Linux カーネル configfs メモリに新しいノードを即座に読み込み。
メンバー一覧テーブルと同期ステータス (In-Sync Status)
テーブルには全メンバーノードとカーネル同期状態が一覧表示されます:
- Node & IP — 構成されたノード識別子と IP アドレス。
- Seen on hosts —
cluster.confにこのノードが構成されているデータセンターホスト。 - In-sync status:
- ✓ In Kernel(緑)— すべてのオンラインホストの実行中カーネルメモリにノードが正常に読み込まれ、アクティブになっています。
- ⚠ Not in Kernel (X hosts)(黄)— 設定ファイルには存在しますが、表示されているホストの実行中カーネルメモリには未登録です。該当ホストの Per-Host Status で Sync to kernel を実行するか、Cluster Operations で Register all をクリックして解決します。
- Offline(グレー)— このノードを報告しているホストが現在オフラインまたはメンテナンスモードです。
- Actions — Remove をクリックすると、データセンター内の全ホストからノード定義が削除されます。
メンテナンスモード (Maintenance mode)
ホスト上で(ストレージ/ハートビートネットワークを中断させる可能性がある)影響の大きいネットワーク作業を行う前に、そのホストを共有グループから安全に切り離してください。そうしないと、接続が失われたように見えたときに、残りのノードがそのホストをフェンシング(ハードリセット)する可能性があります。
Enter maintenance(メンテナンス開始)を実行すると、正しい順序でホストをグループからアンマウントおよび登録解除するため、ハートビートおよびネットワークセットから一括で離脱し、残りのホストは障害ではなく正常に縮小されたクラスターとして認識します。作業が完了したら、Exit maintenance(メンテナンス終了)で再参加させます。
Cockpit は処理を進める前に 事前チェック (pre-flight check) を実行し、影響評価を表示します:
- ホストを切り離すとメンバーがゼロになる場合、操作はブロックされます。共有ファイルシステムが全域でアンマウントされるため、使用している VM を先に停止または移行する必要があります。
- グループが快適な過半数(クオラム)を下回る場合、警告が表示されます。正常離脱自体で他ホストがフェンシングされることはありませんが、メンバー数が減ることで、その後の予期せぬ障害によりファイルシステムが中断するリスクが高まります。
- 事前チェックを完了できないがどうしても続行する必要がある場合のために、Force(強制)オプションが用意されています。
メンバーの削除は 1 ホストずつ実施してください
複数のホストを一度に離脱させたり、他のホストがすでに落ちている状態でホストの離脱を強制したりすると、クラスターが誤ってクオラムを失い、生き残ったホストがハードリセットされる原因になります。1 台のホストでメンテナンスモードに入り、作業を完了して再参加させてから、次のホストの作業に入ってください。
関連トピック
- ストレージとデータストアの概要 — ローカル vs 共有、スコープが重要な理由。
- データストアの作成と管理 — OCFS2 プールを含むデータストア追加ウィザード。
- VM の DRS と高可用性 — 共有ストレージに依存する機能。