第1章 GFS2 ファイルシステムのデプロイメントの計画
Red Hat Global File System 2 (GFS2) ファイルシステムは、64 ビットの対称クラスターファイルシステムで、共有名前空間を提供し、一般的なブロックデバイスを共有する複数のノード間の一貫性を管理します。GFS2 ファイルシステムは、ローカルファイルシステムに可能な限り近い機能セットを提供すると同時に、ノード間でクラスターの完全な整合性を強制することを目的としています。これを実現するため、ノードはファイルシステムリソースにクラスター全体のロックスキームを使用します。このロックスキームは、TCP/IP などの通信プロトコルを使用して、ロック情報を交換します。
場合によっては、Linux ファイルシステム API では、GFS2 のクラスター化された性質を完全に透過的にすることができません。たとえば、GFS2 で POSIX ロックを使用しているプログラムは、GETLK
の使用を回避する必要があります。なぜなら、クラスター環境では、プロセス ID が、クラスター内の別のノードに対するものである可能性があるためです。ただし、ほとんどの場合、GFS2 ファイルシステムの機能は、ローカルファイルシステムのものと同じです。
Red Hat Enterprise Linux (RHEL) Resilient Storage Add-On は GFS2 を提供します。GFS2 が必要とするクラスター管理の提供は RHEL High Availability Add-On により提供されます。
gfs2.ko
カーネルモジュールは GFS2 ファイルシステムを実装し、GFS2 クラスターノードに読み込まれます。
GFS2 環境を最大限に利用するためにも、基礎となる設計に起因するパフォーマンス事情を考慮することが重要です。GFS2 では、ローカルファイルシステムと同様、ページキャッシュで、頻繁に使用されるデータのローカルキャッシングを行ってパフォーマンスを向上します。クラスターのノード間で一貫性を維持するために、glock ステートマシンでキャッシュ制御が提供されます。
Red Hat High Availability Add-On の導入がお客様のニーズを満たし、サポート対象であることを確認してください。Red Hat 認定担当者に相談して設定を確認してからデプロイするようにしてください。
1.1. GFS2 ファイルシステム形式バージョン 1802
Red Hat Enterprise Linux 9 の時点で、GFS2 ファイルシステムはフォーマットバージョン 1802 で作成されています。
フォーマットバージョン 1802 は、次の機能を有効にします。
-
trusted
名前空間の拡張属性 ("trusted.* xattrs") は、gfs2
とgfs2-utils
で認識されます。 -
rgrplvb
は、デフォルトで有効になっています。これにより、gfs2
が更新したリソースグループデータを DLM ロック要求に割り当てることができるため、ロックを取得しているノードは、ディスクからリソースグループ情報を更新する必要がありません。これにより、場合によってはパフォーマンスが改善されます。
新しいフォーマットバージョンで作成されたファイルシステムは、以前のバージョンの RHEL にマウントできなくなり、古いバージョンの fsck.gfs2
ユーティリティーではこれらをチェックできなくなります。
オプション -o format=1801
で mkfs.gfs2
コマンドを実行すると、古い形式バージョンのファイルシステムを作成できます。
マウントを解除したファイルシステムで、tunegfs2 -r 1802 device
を実行している古いファイルシステムのフォーマットバージョンをアップグレードできます。フォーマットバージョンのダウングレードには対応していません。