2.3. ストレージの概念

以下は、『Red Hat Gluster Storage Administration Guide』 全体で使用されるファイルシステムおよびストレージに関する一般的な用語です。
ブリック
ストレージの glusterFS Basic ユニットで、信頼できるストレージプール内のサーバーのエクスポートディレクトリーで示されます。ブリックは、以下の形式でサーバーをエクスポートディレクトリーと組み合わせることで表現されます。
SERVER:EXPORT
以下は例になります。
myhostname:/exports/myexportdir/
ボリューム
ボリュームは、ブリックの論理コレクションです。Red Hat Gluster Storage 管理操作のほとんどは、ボリュームで行われます。
トランスレーター
トランスレーターは 1 つ以上のサブボリュームに接続し、それらのボリュームで操作を行い、サブボリューム接続を提供します。
サブボリューム
少なくとも 1 つのトランスレーターで処理された後のブリック。
Volfile
ボリューム (vol) ファイルは、Red Hat Gluster Storage で信頼されるストレージプールの動作を決定する設定ファイルです。高レベルでは GlusterFS には、サーバー、クライアント、および管理デーモンの 3 つのエンティティーがあります。これらのエンティティーにはそれぞれ独自のボリュームファイルがあります。サーバーおよびクライアントのボリュームファイルは、ボリュームの作成時に管理デーモンにより生成されます。
サーバーおよびクライアントの Vol ファイルは /var/lib/glusterd/vols/VOLNAME ディレクトリーにあります。管理デーモン vol ファイルは glusterd.vol という名前で、/etc/glusterfs/ ディレクトリーにあります。
警告
Red Hat は管理デーモンで生成した vol ファイルに対応していない vol ファイルは、手動で /var/lib/glusterd で変更しないでください。
glusterd
glusterd は、信頼できるストレージプールのすべてのサーバーで実行する必要がある glusterFS 管理サービスです。
クラスター
リンクしたコンピューターの信頼できるプールが、1 つのコンピューティングリソースを再構築します。Red Hat Gluster Storage では、クラスターは信頼できるストレージプールとも呼ばれます。
クライアント
ボリュームをマウントするマシン (これはサーバーでもある可能性もあります)。
ファイルシステム
コンピューターファイルを保存して整理する手段。ファイルシステムは、コンピューターのオペレーティングシステムでストレージ、操作、取得のデータベースにファイルを編成します。
出典: wood
分散ファイルシステム
複数のクライアントが、信頼できるストレージプールのサーバー/ブリックに分散されるデータを同時にアクセスできるファイルシステム。複数の場所間でのデータ共有は、すべての分散ファイルシステムに基本となります。
Virtual File System (VFS)
VFS は、標準の Linux ファイルシステムに関連するすべてのシステムコールを処理するカーネルソフトウェア層です。これは、複数の種類のファイルシステムへの共通のインターフェースを提供します。
POSIX
Portable Operating System Interface (for Unix) (POSIX) は、アプリケーションプログラミングインターフェース (API) を定義するために IEEE が指定する関連標準ファミリーの名前であり、UNIX オペレーティングシステムのバリアントと互換性のあるソフトウェアのシェルおよびユーティリティーインターフェースです。Red Hat Gluster Storage は、完全に POSIX 互換のファイルシステムをエクスポートします。
メタデータ
メタデータは、他のデータに関する情報を提供するデータです。
FUSE
FUSE (File System in User space) では、Unix のようなオペレーティングシステムのロード可能なカーネルモジュールで、権限のないユーザーがカーネルコードを編集せずに独自のファイルシステムを作成できます。そのために、FUSE モジュールはカーネルインターフェースにブリッジのみを提供しながら、ユーザー空間でファイルシステムコードを実行することで実現できます。
出典: wood
geo レプリケーション
Geo レプリケーションは、LAN (Local Area Network)、Wide Area Network (WAN)、およびインターネットを介して、あるサイトから別のサイトに継続的に、非同期および増分レプリケーションサービスを提供します。
N-way レプリケーション
通常、Rous または Amazon Web Services Availability Zone 全体にデプロイされるローカル同期データレプリケーション。
ペタバイト
ペタバイトは、1 クアドリリアンバイト (1000 テラバイト) に相当する情報の単位です。ペタバイトの単位シンボルは PB です。接頭辞 peta-(P) は 1000 の累乗を示します。
1 PB = 1,000,000,000,000,000 B = 1000^5 B = 10^15 B.
1024 の対応する累乗には、バイナリーの接頭辞を使用するpebibyte(PiB) が使用されます。
出典: wood
RAID
RAID (Redundant Array of Independent Disks) は、冗長性によりストレージの信頼性を向上させるテクノロジーです。複数の低コストで信頼性が低いディスクドライブコンポーネントを、アレイ内のすべてのドライブが分離している論理ユニットに統合します。
RRDNS
Round Robin Domain Name Service (RRDNS) は、アプリケーションサーバー間で負荷を分散する方法です。RRDNS は、DNS サーバーのゾーンファイルに、同じ名前と異なる IP アドレスを使用して、複数のレコードを作成することで実装されます。
サーバー
データが格納されるファイルシステムをホストするマシン (仮想マシンまたはベアメタル)。
ブロックストレージ
ブロック特殊ファイル (ブロックデバイス) は、システムがブロック形式でデータを移動するデバイスに対応します。これらのデバイスノードは、多くの場合、ハードディスク、CD-ROM ドライブ、またはメモリーリージョンなどのアドレス可能なデバイスを表します。Red Hat Gluster Storage 3.4 以降では、ブロックストレージは OpenShift Container Storage converged および独立したモードのユースケースのみをサポートします。このユースケースには、gluster-block コマンドラインツールを使用して、ブロックストレージを作成して設定できます。詳細は、Container-Native Storage for OpenShift Container Platformを参照してください。
スケールアップストレージ
単一のディメンションでストレージデバイスの容量を増やします。たとえば、信頼できるストレージプールにディスクの容量を追加します。
スケールアウトストレージ
単一ディメンションのストレージデバイスの容量を増大します。たとえば、同じサイズのシステムを追加するか、または信頼されたストレージプールの CPU、ディスク容量、スループットを増大する、信頼されたストレージプールにサーバーを追加します。
信頼済みストレージプール
ストレージプールは、ストレージサーバーの信頼済みネットワークです。最初のサーバーを起動すると、ストレージプールはそのサーバーのみで構成されます。
名前空間
一意の識別子またはシンボルの論理グループを保持するために作成される抽象コンテナーまたは環境。Red Hat Gluster Storage の信頼されるストレージプールはそれぞれ、単一の名前空間を POSIX マウントポイントとして公開します。これには、信頼できるストレージプールのすべてのファイルが含まれます。
ユーザー空間
ユーザー空間で実行しているアプリケーションは、アクセスの調整にカーネルを使用する代わりにハードウェアと直接対話しません。ユーザー空間アプリケーションは、通常、カーネルスペースのアプリケーションよりも移植性があります。glusterFS はユーザー空間アプリケーションです。

分散ハッシュテーブル定義

ハッシュ化されたサブボリューム
ファイルまたはディレクトリー名がハッシュ化される Distributed Hash Table Translator サブボリューム。
キャッシュ化されたサブボリューム
ファイルのコンテンツが実際に存在する Distributed Hash Table Translator サブボリューム。ディレクトリーの場合、cached-subvolume の概念は関係ありません。これは、ハッシュ化/サブボリュームではないサブボリュームを指すために使われます。
Linkto-file
新規に作成されたファイルの場合、ハッシュ化およびキャッシュされたサブボリュームは同じです。名前変更 (名前つまりファイルのハッシュ化されたサブボリューム) のようなディレクトリーエントリー操作が、ファイルのデータ全体を新しいハッシュサブボリュームに移動する代わりにファイルで実行されると、新たにハッシュ化されたサブボリュームに同じ名前のファイルが作成されます。このファイルの目的は、データがあるノードへのポインターとしてのみ動作します。このファイルの拡張属性では、キャッシュされたサブボリュームの名前が保存されます。新たにハッシュ化されたサブボリューム上のこのファイル、linkto-file と呼ばれます。linkto ファイルは、ディレクトリー以外のエンティティーにのみ関連します。
ディレクトリーレイアウト
ディレクトリーレイアウトは、gluster ボリュームのファイルの保存場所を決定するのに役立ちます。
クライアントがファイルを作成または要求すると、DHT トランスレーターはファイルのパスをハッシュして整数を作成します。gluster サブボリューム内の各ディレクトリーは、整数が特定の範囲にあるファイルを保持しているため、指定したファイルのハッシュは gluster ボリュームの特定のサブボリュームにマッピングされます。ディレクトリーレイアウトは、すべてのサブボリュームで特定のディレクトリーに割り当てられる整数範囲を決定します。
ディレクトリーレイアウトはディレクトリーが最初に作成されたときに割り当てられます。また、ボリュームでリバランス操作を実行することで再割り当てできます。ディレクトリーの作成時にブリックまたはサブボリュームがオフラインの場合、リバランスが実行されるまでレイアウトの一部にはなりません。
ブリックがボリュームに追加された後にディレクトリーレイアウトを再計算するために、ボリュームをリバランスする必要があります。詳細は、「ボリュームのリバランス」 を参照してください。
レイアウトの修正
リバランスプロセス中に実行されるコマンド。
リバランスプロセス自体は、以下の 2 つの段階で構成されます。
  1. ディレクトリーのレイアウトを修正し、追加または削除されたサブボリュームに対応します。また、ディレクトリーを修復し、レイアウトの一貫性の有り無しを確認して、必要に応じて拡張属性でレイアウトを永続化します。また、すべてのサブボリュームで同じ属性がディレクトリーに同じになることを確認することもできます。
  2. cached-subvolume から hashed-subvolume にデータを移行します。