
画像: ジャック・ウォーレン
GlusterFSは、ペタバイト規模のデータと数千人のユーザーを処理できるネットワークファイルシステムです。データセンターのLinuxサーバーにとって、オンプレミスストレージに必要なファイルシステムとしてGlusterFSは最適です。
GlusterFSを使用して、単一の名前空間を表す3台のUbuntuサーバーをセットアップする方法を説明します。Ubuntu 18.04を例に挙げ、既に3台のUbuntuサーバーが準備できていることを前提とします。
それでは、GlusterFS を起動して実行してみましょう。
参照: クイック用語集: ストレージ (Tech Pro Research)
レイアウト
次のアドレスに Ubuntu 18.04 サーバーが 3 台あります。
- 192.168.1.206
- 192.168.1.207
- 192.168.1.208
アドレスのマッピング
各サーバーの hosts ファイルをsudo nano /etc/hostsコマンドで開き、次のコードを追加します (IP アドレス スキームに合わせて変更します)。
192.168.1.206 gfs01
192.168.1.207 gfs02
192.168.1.208 gfs03
これらのファイルを保存して閉じます。
わかりやすくするために、各サーバーのホスト名を、hosts ファイルにマップされているものに変更します。
必要なリポジトリを追加する
各サーバーで次のコマンドを発行して、必要な依存関係、リポジトリ、およびキーを追加します。
sudo apt install software-properties-common -y
wget -O- https://download.gluster.org/pub/gluster/glusterfs/3.12/rsa.pub | apt-key add -
sudo add-apt-repository ppa:gluster/glusterfs-3.12
GlusterFSのインストール、起動、有効化
gfs01 および gfs02 のターミナルから、次のコマンドを発行して GlusterFS をインストールします。
sudo apt install glusterfs-server -y
次のコマンドで GlusterFS を起動して有効にすることができます。
sudo systemctl start glusterd
sudo systemctl enable glusterd
GlusterFS を構成する
まず最初に、信頼できるプールを作成します。これはgfs01で以下のコマンドを使って行います。
sudo gluster peer probe gfs02
すぐに「peer probe: success」と表示されるはずです。
次のコマンドでピアのステータスを確認できます。
sudo gluster peer status
1 つのピアが追加されたことがわかります (図 A )。
図A
分散GlusterFSボリュームを作成する
プールを作成したら、分散GlusterFSボリュームを作成する必要があります。このボリュームはシステムディレクトリ以外のパーティションに作成することをお勧めします。そうしないと同期エラーが発生する可能性があります。以下のコマンドで、gfs01とgfs02の両方に新しいディレクトリを作成します。
sudo mkdir -p /glusterfs/distributed
次にボリュームを作成します。以下のコマンド(gfs01 で実行)を使用して、レプリカ gfs01 と gfs02 を持つ v01 という名前のボリュームを作成します。
sudo gluster volume create v01 replica 2 transport tcp gfs01:/glusterfs/distributed gfs02:/glusterfs/distributed
分散ファイルシステムが作成されたら、次のコマンドでボリュームを起動する必要があります。
sudo gluster ボリューム スタート v01
次のコマンドでボリュームのステータスを確認できます。
sudo gluster volume info v01
ボリュームが開始されたことがわかります (図 B )。
図B
GlusterFSクライアント
クライアントとしてgfs03を使用します。必要なパッケージをインストールするには、次のコマンドを実行します。
sudo apt install glusterfs-client -y
インストールが完了したら、次のコマンドでマウント ポイントを作成します。
sudo mkdir -p /mnt/glusterfs
次のコマンドで分散 glusterfs ボリュームをマウントします。
sudo mount -t glusterfs gfs01:/v01 /mnt/glusterfs/
次のコマンドでボリュームを確認します。
df -h /mnt/glusterfs
ボリュームが正常にマウントされたことが表示されます (図 C )。
図C
再起動時にこのマウントを実行するには、gfs03 /etc/fstabファイルに次の行を追加します。
gfs01:/v01 /mnt/glusterfs glusterfs defaults,_netdev 0 0
これで、サーバーを再起動する必要がある場合、GlusterFS ボリュームは自動的にマウントされます。
テスト
gsf01 で次のコマンドを発行します。
sudo mount -t glusterfs gfs01:/v01 /mnt
gsf02 で次のコマンドを発行します。
sudo mount -t glusterfs gfs02:/v01 /mnt
次に、gfs03 に戻り、次のコマンドでテスト ファイルを作成します。
sudo touch /mnt/glusterfs/testing
gfs01 と gfs02 の両方に戻り、次のコマンドを発行します。
ls /mnt
gfs03 に作成された空のテスト ファイルが表示されます。
この時点で、マウントされたボリューム内に作成されたファイルは自動的にノードに配布されます。gfs01 または gfs02 の/mntまたは gfs03 の/mnt/glusterfsにファイルを作成すると、自動的に同期されます。
これは、優れたスケーリングと信頼性を提供する GlusterFS 分散ファイル システムです。