GlusterFS · 2 min read · Oct 11, 2025

Debian 12に三ノードGlusterFSクラスターをインストールする方法

GlusterFSまたはGlusterファイルシステムは、RedHatによって開発された無料でオープンソースの分散ファイルシステムです。GlusterFSは、複数のサーバーから1つのエンティティファイルシステムを形成するスケーラブルなファイルシステムであり、ユーザーがGlusterFSボリュームに接続してマウントできるようにします。

GlusterFSは、ペタバイトのデータを処理できる現代的なファイルシステムです。また、インストールとメンテナンスが簡単で、ファイルシステムをスケールアップするのも簡単です。

以下のガイドでは、Debian 12サーバーにGlusterFSをインストールする手順を説明します。複数のDebianサーバーを使用して、高可用性で複製されたストレージシステムをGlusterFSで作成します。また、DebianクライアントマシンにGlusterFSをマウントし、/etc/fstabファイルを介してGlusterFSボリュームの自動マウントを設定する方法も学びます。

前提条件

このガイドを進める前に、以下の条件を確認してください:

  • 複数のDebian 12サーバー - この例では、GlusterFSクラスターを作成するために3つのDebianサーバーを使用します。
  • 管理者権限を持つ非rootユーザー。
  • Debianクライアントマシン。

Partedでのディスクのパーティショニング

始める前に、各サーバーでGlusterFSに使用する新しいパーティションを作成します。この例では、Partedパーティションマネージャーを使用してディスク/dev/sdbからパーティションを作成します。

以下のaptコマンドを使用して、Debianサーバーにpartedをインストールします。

sudo apt install parted -y

install parted

次のpartedコマンドを実行して、/dev/sdbディスクのパーティショニングを開始します。

sudo parted /dev/sdb

partedコマンドを実行した後、parted環境に入っているはずです。

次のコマンドを実行して、ディスク/dev/sdbの新しいパーティションテーブルをmsdosに作成します。

mklabel msdos

次に、以下のコマンドを実行して、フォーマットext4、サイズ5 GBの新しいプライマリパーティション/dev/sdb1を作成します。

mkpart primary ext4 1MB 5369MB

パーティションが作成されたら、quitと入力してPartedから退出します。

次に、以下のコマンドを実行して、/dev/sdb1パーティションをext4にフォーマットします。

sudo mkfs -t ext4 /dev/sdb1

/dev/sdb1がフォーマットされた後、以下の出力が表示されます:

create partition

次に、以下のコマンドを実行して、新しいターゲットマウントディレクトリ/glusterを作成します。その後、/dev/sdb1パーティションを/glusterディレクトリにマウントします。

mkdir -p /gluster  
sudo mount /dev/sdb1 /gluster

最後に、各GlusterFSサーバーのデータディレクトリとして使用される新しいディレクトリ/gluster/brick0を作成します。

sudo mkdir -p /gluster/brick0

GlusterFSサーバーのインストール

各サーバーでディスクのパーティショニングを行った後、GlusterFSリポジトリを追加し、各サーバーにglusterfs-serverパッケージをインストールします。

以下のコマンドを実行して、GlusterFSリポジトリのGPGキーを追加します。

curl https://download.gluster.org/pub/gluster/glusterfs/11/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg

次に、以下のコマンドを実行して、DebianサーバーにGlusterFSリポジトリを追加します。

DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"')  
DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+')  
DEBARCH=$(dpkg --print-architecture)
echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | sudo tee /etc/apt/sources.list.d/gluster.list

add repo

GlusterFSリポジトリとGPGキーを追加した後、以下のaptコマンドを実行して、Debianパッケージインデックスを更新およびリフレッシュします。

sudo apt update

次に、以下のapt installコマンドを実行して、glusterfs-serverパッケージをインストールします。

sudo apt install glusterfs-server

インストールを続行するにはyを入力します。

install glusterfs server

glusterfs-serverがインストールされたら、以下のsystemctlコマンドを実行して、glusterdサービスを開始および有効にします。

sudo systemctl start glusterd  
sudo systemctl enable glusterd

最後に、glusterdサービスが実行中で有効であることを確認するために、以下のコマンドを実行します。

sudo systemctl status glusterd

以下の出力は、glusterdサービスが実行中で有効であることを示しています。

start enable glusterd

GlusterFSクラスターの初期化

glusterfs-serverパッケージがインストールされたら、次のステップはGlusterFSクラスターを初期化することです。この例では、server1からGlusterFSクラスターを初期化し、その後server2とserver3をクラスターに追加します。

server1のターミナルから、以下のglusterコマンドを実行して、IPアドレス192.168.10.21server2とIPアドレス192.168.10.22server3を持つGlusterFSクラスターを初期化します。

sudo gluster peer probe 192.168.10.21  
sudo gluster peer probe 192.168.10.22

初期化が成功すると、出力メッセージ「peer probe: success」が表示されます。

次に、server2またはserver3に移動し、以下のglusterコマンドを実行してGlusterFSクラスターの状態を確認します。

sudo gluster peer status

すべてがうまくいけば、GlusterFSクラスターに2つのピアが表示されます。

peer status

server2では、server1server3が表示されるはずです。

peer status server2

server3では、server1server2が表示されるはずです。

peer status server3

最後に、以下のglusterコマンドを使用して、GlusterFSクラスターの利用可能なピアのリストを確認することもできます。

sudo gluster pool list

以下の出力は、GlusterFSクラスターに3つの異なるサーバーがあることを示しています。

pool list

GlusterFSボリュームの作成

この時点で、GlusterFSクラスターを初期化しました。クライアントにGlusterFSを利用可能にするために、GlusterFSクラスターにボリュームを作成する必要があります。

以下のコマンドを実行して、server1server2server33つのレプリカを持つ新しいボリュームvolume1を作成します。

sudo gluster volume create volume1 replica 3 192.168.10.20:/gluster/brick0 192.168.10.21:/gluster/brick0 192.168.10.22:/gluster/brick0

ボリュームvolume1が作成されたら、以下のglusterコマンドを使用して開始します。

sudo gluster volume start volume1

出力「volume start: volume1: success」は、volume1が開始されたことを示します。

次に、以下のコマンドを実行して、GlusterFSクラスターの利用可能なボリュームのリストを確認します。

sudo gluster volume info

以下の出力は、volume1Replicateタイプで、server1server2server3の3つのサーバーで作成されたことを示しています。

volume info

GlusterFSボリュームのマウント

次のセクションでは、作成したGlusterFSボリュームvolume1をDebianクライアントマシンにマウントします。そのためには、GlusterFSリポジトリを追加し、Debianクライアントマシンにglusterfs-clientパッケージをインストールする必要があります。

DebianクライアントマシンにGlusterFSリポジトリのGPGキーをダウンロードします。

curl https://download.gluster.org/pub/gluster/glusterfs/11/rsa.pub | gpg --dearmor > /usr/share/keyrings/glusterfs-archive-keyring.gpg

以下のコマンドを実行して、GlusterFSリポジトリを追加します。

DEBID=$(grep 'VERSION_ID=' /etc/os-release | cut -d '=' -f 2 | tr -d '"')  
DEBVER=$(grep 'VERSION=' /etc/os-release | grep -Eo '[a-z]+')  
DEBARCH=$(dpkg --print-architecture)
echo "deb [signed-by=/usr/share/keyrings/glusterfs-archive-keyring.gpg] https://download.gluster.org/pub/gluster/glusterfs/LATEST/Debian/${DEBID}/${DEBARCH}/apt ${DEBVER} main" | sudo tee /etc/apt/sources.list.d/gluster.list

次に、Debianクライアントリポジトリをリフレッシュし、以下のaptコマンドを介してglusterfs-clientパッケージをインストールします。

sudo apt update  
sudo apt install glusterfs-client

インストールを続行するにはyを入力します。glusterfs-clientがインストールされたら、GlusterFSボリュームをDebianクライアントマシンにマウントできます。

install glusterfs client

次に、以下のコマンドを実行して、新しいターゲットマウントディレクトリ/mnt/dataを作成します。

mkdir -p /mnt/data

次に、以下のコマンドを実行して、ボリューム1を/mnt/dataディレクトリにマウントします。GlusterFSサーバーのIPアドレスをserver1server2、またはserver3に変更できます。

sudo mount.glusterfs 192.168.10.20:/volume1 /mnt/data

ボリューム1がマウントされたら、以下のコマンドを使用して確認します。

sudo df -h

すべてがうまくいけば、ボリューム1が/mnt/dataディレクトリにマウントされているのが表示されます。

mount glusterfs volume

GlusterFSボリュームがマウントされたので、ターゲットマウントディレクトリの書き込みアクセスを確認し、クライアントマシンからGlusterFSクラスターのサーバーへのデータ複製を確認します。

次に、/mnt/dataディレクトリに移動し、以下のコマンドを使用して新しいファイルを作成します。これにより、そのディレクトリに複数のファイルが作成され、ボリュームが書き込み可能であることが確認されます。

cd /mnt/data  
touch file{1..15}.md

以下のコマンドを使用して、利用可能なファイルのリストを確認します。

ls -ah

test write

次に、GlusterFSサーバーであるserver1server2、またはserver3に移動し、以下のlsコマンドを実行して、利用可能なファイルのリストを確認します。

ls /gluster/brick0

複製が機能している場合、Debianクライアントマシンから作成されたファイルがすべてのGlusterFSサーバーに表示されるはずです。

以下のデータがserver1に複製されます。

以下のデータがserver2に複製されます。

以下のデータがserver3に複製されます。

GlusterFSボリュームの自動マウントの設定

次のセクションでは、/etc/fstabファイルを介してGlusterFSボリュームの自動マウントを設定する方法を学びます。これにより、ブート時にGlusterFSボリュームを自動的にマウントできます。

以下のnanoエディタコマンドを使用して、/etc/fstabファイルを開きます。

sudo nano /etc/fstab

以下の設定を挿入して、ボリューム1をターゲットディレクトリ/mnt/dataにマウントします。

192.168.10.20:/volume1 /mnt/data glusterfs defaults,_netdev 0 0

完了したら、ファイルを保存して終了します。

次に、以下のコマンドを実行してsystemdマネージャーをリロードし、/etc/fstab設定を確認します。出力メッセージがない場合、/etc/fstab設定が正しいことが確認されます。

sudo systemctl daemon-reload  
sudo mount -a

結論

素晴らしい仕事です!Debian 12サーバーにGlusterFSを正常にインストールし、3つのサーバーでGlusterFSクラスターを作成しました。また、DebianクライアントマシンにGlusterFSボリュームを作成してマウントしました。さらに、/etc/fstabファイルを使用してGlusterFSボリュームの自動マウントを設定しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。