第1章 Gluster Storage for Oracle Linuxの概要
Glusterは、複数のサーバーのディスク・ストレージ・リソースを単一のグローバル・ネームスペースに集約する、スケーラブルな分散ファイル・システムです。この章では、Gluster Storage for Oracle Linuxの概要について説明します。
このドキュメントでは、冗長ストレージ・アーキテクチャの説明に以前に使用されていたマスターとスレーブの用語は、より配慮のある、プライマリとセカンダリの用語に置き換えられました。
1.1 Gluster Storage for Oracle Linuxについて
Gluster Storage for Oracle Linuxのリリース8は、アップストリームのGluster 8リリースの安定リリースに基づいており、Oracle Linux 7とOracle Linux 8の両方で使用できます。
オラクル社のバージョンのソフトウェアとアップストリーム・リリースとの相違点は、特定のバグに対するソフトウェアの固有の修正およびパッチに限られます。
包括的なGlusterドキュメントについては、https://docs.gluster.org/en/latest/を参照してください。
Glusterの詳細は、https://www.gluster.org/を参照してください。
1.2 重要な更新および新機能
この項では、Gluster Storage for Oracle Linuxのメジャー・リリースの重要な更新と新機能について説明します。
1.2.1 リリース8の重要な更新および新機能
GlusterFS 8のハイライトされている機能の一部を次に示します。
-
パフォーマンスを向上させるための、1 MBブロックのデータの修復のサポート。
-
IPv6パケットが、
glustereventsd
デーモンでサポートされるようになりました。 -
レプリケーション・モジュールの
fsync
では、eager-lock機能が使用されるため、VMワークロードのパフォーマンス効率が向上します。
GlusterFS 8の主要な変更および機能の完全なリストは、GlusterFS 8.0のリリース・ノート(https://docs.gluster.org/en/latest/release-notes/8.0/)を参照してください。GlusterFS 8.0の後続の更新バージョンには、それぞれのGlusterFS 8.xリリース・ノートにリストされているバグ修正が含まれています。
同様に、GlusterFS 7でリリースされた主要な変更および機能は、GlusterFS 7.0のリリース・ノート(https://docs.gluster.org/en/latest/release-notes/7.0/)にリストされています。GlusterFS 7.0の後続の更新バージョンには、それぞれのGlusterFS 7.xリリース・ノートにリストされているバグ修正が含まれています。
-
アップグレード。Gluster Storage for Oracle Linuxリリース6.xおよび5.xからアップグレードします。詳細は、https://docs.gluster.org/en/latest/Upgrade-Guide/upgrade-to-8/を参照してください
1.2.2 リリース6の重要な更新および新機能
リリース5から6までのGlusterのアップストリーム・リリースの新機能とバグ修正は、次のアップストリームのドキュメントで確認できます。
https://docs.gluster.org/en/latest/release-notes/6.0/
このリリースでは、アップストリームの変更に加えて、次の重要な機能が含まれています。
-
RHCKを使用したOracle Linux 8のサポートの概要。このリリースでは、Oracle Linux 8でRed Hat Compatible Kernel (RHCK)を使用する場合のGlusterに対するサポートが導入されています。
-
地理レプリケーションのサポート。地理レプリケーション機能は、複製ボリュームと同様に、地理的に分散したクラスタ間でデータをミラー化する機能を提供しますが、主な違いは、障害回復を目的として、非同期レプリケーションを提供することに重点を置いていることです。この機能は、LAN、WANまたはインターネットを介して使用できます。レプリケーションは非同期であるため、アーキテクチャはプライマリ・セカンダリ(以前のマスター・スレーブ)モデルに従って、プライマリ・ボリュームの変更がセカンダリ・ボリュームに複製されます。障害が発生した場合は、セカンダリ・ボリュームからデータをリストアできます。
-
ボリュームのSMBまたはCIFSエクスポートを有効にするプロセスの変更。以前のバージョンでは、デフォルトですべてのボリュームがSamba-CTDB設定のsmb.confを介してエクスポートされていたことに注意することが重要です。これにより、CTDBロック・ボリュームのパフォーマンスおよび不必要な露出に関して、若干悪影響が発生していました。このリリースでは、ボリュームがSamba経由でエクスポートされる前に、ボリュームがSMBまたはCIFSエクスポートに対して明示的に有効になる必要があります。構成は同じままですが、ボリュームで
user.smb
またはuser.cifs
を有効にするための追加のステップが必要です。 -
アップグレード。Gluster Storage for Oracle Linuxリリース5、4.1および3.12からアップグレードします。
1.2.3 リリース5の重要な更新および新機能
リリース4.1から5までのGlusterのアップストリーム・リリースの新機能とバグ修正は、次のアップストリームのドキュメントで確認できます。
https://docs.gluster.org/en/latest/release-notes/5.0/
リリース5では、アップストリームの変更に加えて、次の重要な機能が含まれています。
-
Glusterブロック・ストレージ。GlusterボリュームをiSCSIバックストアとして設定し、
gluster-block
およびtcmu-runner
パッケージを使用してブロック・ストレージを提供できます。ボリュームのファイルは、ブロック・ストレージ(iSCSI LUN)としてエクスポートされます。詳細は、5.1項「iSCSIを使用したボリュームへのアクセス」およびアップストリームのドキュメント(https://github.com/gluster/gluster-block)を参照してください。 -
Heketiによってスクリプト化されたクラスタの自動化。
heketi
およびheketi-client
パッケージで、Glusterクラスタの管理が自動化されます。heketi-cli
コマンドを使用して、信頼できるストレージ・プールをプロビジョニングしてボリュームを管理でき、さらに、Heketiサービスによって公開されるAPI関数を使用して独自のカスタム・スクリプトを記述することもできます。これは、手動のシステム管理を必要とせずに設定ステップを自動化できる、クラウドベースのデプロイメントに特に役立ちます。詳細は、第6章Heketiを使用したボリューム・ライフサイクルの自動化およびアップストリームのドキュメント(https://github.com/heketi/heketi)を参照してください。 -
アップグレード。Gluster Storage for Oracle Linuxリリース6およびリリース3.12からアップグレードします。
1.2.4 リリース4.1の重要な更新および新機能
リリース3.12から4.1までのGlusterのアップストリーム・リリースの新機能とバグ修正は、次のアップストリームのドキュメントで確認できます。
https://docs.gluster.org/en/latest/release-notes/4.1.0/
リリース4.1では、アップストリームの変更に加えて、次の重要な機能が含まれています。
-
NFS-GaneshaによるNFSアクセス。NFS-Ganeshaを使用してボリュームを公開できます。NFS-Ganeshaは、NFSプロトコルのユーザー空間ファイル・サーバーです。これにより、すべてのNFSクライアントからのアクセスを許可する、FUSE互換のFile System Abstraction Layer (FSAL)が提供されます。
-
アップグレード。Gluster Storage for Oracle Linuxリリース3.12からアップグレードします。
1.3 テクニカル・プレビュー機能
この項では、Gluster Storage for Oracle Linuxのメジャー・リリースで使用可能なテクニカル・プレビュー機能について説明します。
1.3.1 リリース8のテクニカル・プレビュー機能
次の項目は、Gluster Storage for Oracle Linuxのリリース8のテクニカル・プレビュー機能としてハイライトされています。詳細は、https://docs.oracle.com/en/operating-systems/oracle-linux/gluster-storage/gluster-intro.html#gluster-tech-preview-8を参照してください。
-
Ansibleモジュール。このリリースで、GlusterのAnsibleモジュールが使用可能になり、Oracle Linux Virtualization Managerのコンテキスト内で使用できます。これらのモジュールは、Oracle Linux Virtualization Managerの外部での使用については、テクニカル・プレビューとして使用できますが、この方法で使用された場合はサポートされないままです。
このために、Gluster AnsibleモジュールのRPMが含まれています。
-
gluster-ansible-cluster
-
gluster-ansible-features
-
gluster-ansible-infra
-
gluster-ansible-maintenance
-
gluster-ansible-repositories
-
gluster-ansible-roles
次のRPMは依存関係として含まれており、これらもOracle Linux Virtualization Managerのコンテキスト外でサポートされていません。
-
ansible
-
sshpass
-
python-httplib2
-
python2-jemspath
-
1.3.2 リリース6のテクニカル・プレビュー機能
次の項目は、Gluster Storage for Oracle Linuxのリリース6のテクニカル・プレビュー機能としてハイライトされています。
-
Ansibleモジュール。このリリースで、GlusterのAnsibleモジュールが使用可能になり、Oracle Linux Virtualization Managerのコンテキスト内で使用できます。これらのモジュールは、Oracle Linux Virtualization Managerの外部での使用については、テクニカル・プレビューとして使用できますが、この方法で使用された場合はサポートされないままです。
このために、Gluster AnsibleモジュールのRPMが含まれています。
-
gluster-ansible-cluster
-
gluster-ansible-features
-
gluster-ansible-infra
-
gluster-ansible-maintenance
-
gluster-ansible-repositories
-
gluster-ansible-roles
次のRPMは依存関係として含まれており、これらもOracle Linux Virtualization Managerのコンテキスト外でサポートされていません。
-
ansible
-
sshpass
-
python-httplib2
-
python2-jemspath
-
-
GlusterD-2.0。GlusterD-2.0 (
glusterd2
)は、コンテナ・オーケストレーション・システムを備えたGlusterのシン管理レイヤーであり、リリース6ではテクニカル・プレビューのままです。GlusterD-2.0は、glusterd
の再実装です。glusterd2
は、現在のglusterd
と比較してより高い一貫性、スケーラビリティおよびパフォーマンスを持つとされ、さらに、モジュール化が進んでおり、容易に拡張できます。glusterd2
は、新しい管理デーモン、REST APIおよびRESTクライアント・アプリケーション(glustercli
)を提供します。詳細は、アップストリームのドキュメント(https://github.com/gluster/glusterd2)を参照してください。
1.3.3 リリース5のテクニカル・プレビュー機能
次の項目は、Gluster Storage for Oracle Linuxのリリース5のテクニカル・プレビュー機能としてハイライトされていました。
-
GlusterD-2.0。GlusterD-2.0 (
glusterd2
)は、glusterd
の再実装です。glusterd2
は、現在のglusterd
と比較してより高い一貫性、スケーラビリティおよびパフォーマンスを持つとされ、さらに、モジュール化が進んでおり、容易に拡張できます。glusterd2
は、新しい管理デーモン、REST APIおよびRESTクライアント・アプリケーション(glustercli
)を提供します。詳細は、アップストリームのドキュメント(https://github.com/gluster/glusterd2)を参照してください。
1.3.4 リリース4.1のテクニカル・プレビュー機能
次の項目は、Gluster Storage for Oracle Linuxのリリース4.1のテクニカル・プレビュー機能としてハイライトされていました。
-
Heketiによってスクリプト化されたクラスタの自動化。
heketi
およびheketi-client
パッケージで、クラスタの管理が自動化されます。heketi-cli
コマンドを使用して、信頼できるストレージ・プールをプロビジョニングしてボリュームを管理でき、さらに、Heketiサービスによって公開されるAPI関数を使用して独自のカスタム・スクリプトを記述することもできます。これは、手動のシステム管理を必要とせずに設定ステップを自動化できる、クラウドベースのデプロイメントに特に役立ちます。詳細は、アップストリームのドキュメント(https://github.com/heketi/heketi)を参照してください。