Glusterfsは、数ペタバイトに拡張し、数千のクライアントを処理する機能を備えたスケーラブルなネットワークファイルシステムです。これは、複数のサーバーからのディスクストレージリソースを単一の名前空間に設定するオープンソースの分散ファイルシステムです。クラウドストレージやデータメディアストリーミングなどのデータ集約型タスクに適しています。
このチュートリアルでは、Ubuntu 18.04 LTS(Bionic Beaver)でGlusterFSを使用して高可用性ストレージサーバーをセットアップする方法を示します。 3台のubuntuサーバー、1台のサーバーをクライアント、2台をストレージとして使用します。各ストレージサーバーは他のストレージサーバーのミラーになり、ファイルは両方のストレージサーバーに複製されます。
- 3台のUbuntu18.04サーバー
- 10.0.15.10 --gfs01
- 10.0.15.11-gfs02
- 10.0.15.12-client01
- ルート権限
何をしますか?
- GlusterFSのインストール前
- GlusterFSサーバーをインストールする
- GlusterFSサーバーを構成する
- GlusterFSクライアントのセットアップ
- 複製/ミラーリングのテスト
すべてのサーバーにglusterfsをインストールする前に行う必要がある最初のステップは、ホストのファイルを構成し、各サーバーにGlusterFSリポジトリーを追加することです。
各サーバーにログインし、「sudo su」コマンドでrootアクセスを取得してから、「/ etc/hosts」ファイルを編集します。
vim /etc/hosts
以下にホスト構成を貼り付けます。
10.0.15.10 gfs01 10.0.15.11 gfs02 10.0.15.12 client01
保存して終了します。
次に、以下のホスト名を使用して各サーバーにpingを実行します。
ping -c 3 gfs01
ping -c 3 gfs02
ping -c 3 client01
各ホスト名は、各サーバーのIPアドレスに解決されます。
GlusterFSリポジトリを追加
software-properties-commonパッケージをシステムにインストールします。
sudo apt install software-properties-common -y
以下のコマンドを実行して、glusterfsキーとリポジトリを追加します。
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リポジトリを追加しました。
このステップでは、glusterfsサーバーを「gfs01」および「gfs02」サーバーにインストールします。
aptコマンドを使用してglusterfs-serverをインストールします。
sudo apt install glusterfs-server -y
次に、glusterdサービスを開始し、システムの起動時に毎回起動できるようにします。
sudo systemctl start glusterd
sudo systemctl enable glusterd
これで、Glusterfsサーバーが「gfs01」サーバーと「gfs02」サーバーで稼働しています。
サービスとインストールされているソフトウェアのバージョンを確認してください。
systemctl status glusterd
glusterfsd --version
これでGlusterdサービスが稼働しています。次のステップは、信頼できるストレージプールを作成し、分散型glusterfsボリュームを作成して、これらのサーバーを構成することです。
'gfs01'サーバーから、'gfs02'サーバーをglusterfsストレージプールに追加する必要があります。
以下のコマンドを実行します。
gluster peer probe gfs02
これで、「ピアプローブ:成功」という結果が表示され、「gfs02」サーバーがストレージの信頼できるプールに追加されました。
以下のコマンドを使用して、ストレージプールのステータスとリストを確認してください。
gluster peer status
gluster pool list
また、「gfs02」サーバーがピアクラスターに接続されており、プールリストに含まれていることがわかります。
信頼できるストレージプールを作成した後、新しい分散glusterfsボリュームを作成します。システムディレクトリに基づいて、新しいglusterfsボリュームを作成します。
注:
- サーバーの本番環境では、システムディレクトリを使用せずに、別のパーティションを使用してglusterfsボリュームを作成することをお勧めします。
各ボット「gfs01」および「gfs02」サーバーに新しいディレクトリ「/glusterfs/distributed」を作成します。
mkdir -p /glusterfs/distributed
そして、「gfs01」サーバーから、2つのレプリカ「gfs01」と「gfs02」を使用して「vol01」という名前の分散glusterfsボリュームを作成します。
gluster volume create vol01 replica 2 transport tcp \
gfs01:/glusterfs/distributed \
gfs02:/glusterfs/distributed \
force
これで、分散ボリューム「vol01」が作成されました。「vol01」を起動して、ボリューム情報を確認してください。
gluster volume start vol01
gluster volume info vol01
結果は次のとおりです。
この段階で、「Replicate」タイプの「vol01」ボリュームと「gfs01」および「gfs02」サーバー上の2つのブリックを作成しました。すべてのデータが各レプリカサーバーに自動的に配布され、ボリュームをマウントする準備が整います。
「gfs02」サーバーからの「vol01」ボリューム情報の下。
このステップでは、glusterfsボリューム「vol01」をUbuntuクライアントにマウントし、glusterfs-clientをクライアントサーバーにインストールする必要があります。
aptコマンドを使用してglusterfs-clientをUbuntuシステムにインストールします。
sudo apt install glusterfs-client -y
次に、glusterfs-clientのインストールが完了したら、新しいディレクトリ「/ mnt/glusterfs」を作成します。
mkdir -p /mnt/glusterfs
そして、分散されたglusterfsボリューム「vol01」を「/ mnt/glusterfs」ディレクトリにマウントします。
sudo mount -t glusterfs gfs01:/vol01 /mnt/glusterfs
次に、システムで使用可能なボリュームを確認します。
df -h /mnt/glusterfs
そして、glusterfsボリュームを「/ mnt/glusterfs」ディレクトリにマウントします。
追加:
glusterfsをUbuntuクライアントシステムに永続的にマウントするために、ボリュームを「/ etc/fstab」に追加できます。
'/ etc/fstab'構成ファイルを編集します。
vim /etc/fstab
そして、以下の構成を貼り付けます。
gfs01:/vol01 /mnt/glusterfs glusterfs defaults,_netdev 0 0
保存して終了します。
サーバーを再起動すると、サーバーがオンラインになると、glusterfsボリューム「vol01」がfstabを介して自動的にマウントされます。
このステップでは、各サーバーノードでデータミラーリングをテストします。
glusterfsボリューム「vol01」を各glusterfsサーバーにマウントします。
'gfs01'サーバー上。
mount -t glusterfs gfs01:/vol01 /mnt
'gfs02'サーバー上。
mount -t glusterfs gfs02:/vol01 /mnt
次に、Ubuntuクライアントに戻り、「/ mnt/glusterfs」ディレクトリに移動します。
cd /mnt/glusterfs
タッチコマンドを使用していくつかのファイルを作成します。
touch file01 file02 file03
次に、各サーバー(「gfs01」と「gfs02」)を確認すると、作成したすべてのファイルがクライアントマシンから取得されます。
cd /mnt/
ls -lah
これが「gfs01」サーバーからの結果です。
そして、これが「gfs02」サーバーからの結果です。
クライアントマシンから作成したすべてのファイルは、すべてのglusterfsボリュームノードサーバーに配布されます。