GlusterFS · 2 min read · Dec 06, 2025
Debian 11にGlusterFSスケーラブルネットワークファイルシステムをインストールする方法

GlusterFSまたはGlusterファイルシステムは、RedHatによって開発された無料でオープンソースの分散ファイルシステムです。GlusterFSは、複数のサーバーから1つのエンティティファイルシステムを形成するスケーラブルなファイルシステムで、ユーザーがGlusterFSボリュームに接続してマウントできるようにします。
GlusterFSは、ペタバイトのデータを処理できる現代的なファイルシステムです。また、インストールとメンテナンスが簡単で、ファイルシステムのスケーリングも容易です。
このチュートリアルでは、Debian 11サーバーに分散型でスケーラブルなネットワークファイルシステムであるGlusterFSをインストールします。データを複数のサーバーに自動的に複製するGlusterFSボリュームを設定し、高可用性ファイルシステムを設定します。さらに、Debianサーバーに追加のディスクを設定するためのLinuxパーティショニングツール「parted」の使用方法も学びます。最後に、複数のDebianサーバー間でのGlusterFSのデータ複製を確認し、高可用性も確認します。
前提条件
このチュートリアルを完了するには、以下の要件が必要です:
- 2台または3台のDebian 11サーバー。
- sudo/管理者権限を持つ非rootユーザー。
この例では、以下の詳細を持つ3台のDebian 11サーバーを使用します:
ホスト名 IPアドレス
--------------------------
node1 192.168.5.50
node2 192.168.5.56
node3 192.168.5.57それだけです。これらの要件が整ったら、GlusterFSのインストールを開始します。
ホスト名とFQDNの設定
最初のステップは、GlusterFSで使用されるすべてのDebianサーバーのホスト名とFQDNを設定することです。ホスト名は「hostnamectl」コマンドを使用して設定し、FQDN(完全修飾ドメイン名)は「/etc/hosts」ファイルを介して設定できます。
ホスト名を設定するには、各サーバーで以下のコマンドを入力します。
# node1で実行
sudo hostnamectl set-hostname node1.home.lan
# node2で実行
sudo hostnamectl set-hostname node2.home.lan
# node3で実行
sudo hostnamectl set-hostname node3.home.lan次に、各サーバーで好みのエディタを使用して「/etc/hosts」ファイルを開きます。このチュートリアル全体では、nanoエディタを使用します。
sudo nano /etc/hostsファイルに以下の行を追加します。複数のホスト名を参照するIPアドレスがある場合は、以下の行に置き換えます。
192.168.5.50 node1.home.lan node1
192.168.5.56 node2.home.lan node2
192.168.5.57 node3.home.lan node3Ctrl+xを押して終了し、yを入力して確認し、次にENTERを押して続行します。
最後に、以下のコマンドを発行して各サーバーでFQDNを確認します。
hostname -f
cat /etc/hosts出力は次のようになります - node1ではFQDNはnode1.home.lan、node2ではnode2.home.lan、node3ではnode3.home.lanである必要があります。

ディスクパーティションの設定
GlusterFSの展開には特定のドライブ/ディスクを使用することをお勧めします。この例では、各DebianサーバーにGlusterFSインストールに使用される追加のディスク「/dev/vdb」があります。このステップでは、ターミナルと「fdisk」コマンドを介してLinuxシステムに新しいディスクを設定する方法を学びます。
まず、以下の「fdisk」コマンドを発行して、Debianサーバー上の利用可能なディスクのリストを確認します。
sudo fdisk -l出力は次のようになります - node1には2つのディスクがあり、オペレーティングシステムがインストールされている「/dev/vda」と、まだ構成されていない「/dev/vdb」があります。

‘/dev/vdb‘ディスクのパーティショニングを開始するには、以下のfdiskコマンドを入力します。fdiskツールの新しいプロンプトが表示され、「/dev/vdb」ディスクに接続します。
sudo fdisk /dev/vdb- 新しいパーティションを作成するには、「n」コマンドを入力します。
- 作成するパーティションのタイプを選択します。「p」はプライマリ、「e」は拡張です。この例ではプライマリパーティションを作成するので、「p」を入力します。
- ディスク「/dev/vdb」内で、いくつのパーティションを作成しますか?この例では1つのパーティションのみを作成するので、「1」を入力します。
- 新しいパーティションの最初のセクターを選択します。デフォルトのままにしておくことができるので、ENTERを押して続行します。
- 最後のセクターは、作成したいパーティションのサイズを定義する場所です。この例では約5GBになるので、「+5GB」を入力します。
- 最後に、‘w‘を入力して、’/ dev/vdb‘ディスクで行った変更を確認して適用します。
出力「パーティションテーブルが変更されました」は、変更がディスクに適用されたことを確認します。

これで新しいパーティションが作成されましたが、まだ使用できません。新しいパーティションを特定のファイルシステム形式にフォーマットする必要があります。以下のfdiskコマンドを入力して、‘/dev/vdb’ディスクの新しいパーティションが作成されたことを確認できます。
sudo fdiks -l出力は次のようになります - ‘/dev/vdb‘セクションで、新しいパーティション「/dev/vdb1」がサイズ「4.7GB」で作成されたことがわかります。

次に、以下のコマンドを発行して新しいパーティション「/dev/vdb1」をフォーマットします。この例では、パーティションをext4ファイルシステム形式にフォーマットします。
sudo mkfs -t ext4 /dev/vdb1次に、出力は次のようになります - 新しいパーティション「/dev/vda1」がext4ファイルシステムとしてフォーマットされました。

自動マウントパーティションの設定
このステップでは、新しいパーティション「/dev/vdb1」を「/etc/fstab」ファイルを介して自動マウントする設定を行います。また、GlusterFSにデータを保存するために使用される新しいディレクトリを作成します。
まず、新しいパーティション「/dev/vdb1」をマウントするために使用される新しいターゲットディレクトリを作成します。
# node1で実行
mkdir -p /data/node1
# node2で実行
mkdir -p /data/node2
# node3で実行
mkdir -p /data/node3以下のnanoエディタコマンドを使用して設定ファイル「/etc/fstab」を開きます。
sudo nano /etc/fstabファイルに以下の行を追加します。これにより、新しいパーティション「/dev/vdb1」がシステム起動時に自動的にマウントされます。
# node1用
/dev/vdb1 /data/node1 ext4 defaults 0 1
# node2用
/dev/vdb1 /data/node2 ext4 defaults 0 1
# node3用
/dev/vdb1 /data/node3 ext4 defaults 0 1次に、以下のコマンドを実行して、‘/etc/fstab’ファイルを介して構成した新しいパーティションをマウントします。エラーがなければ、準備完了です。
sudo mount -a最後に、各サーバーの新しくマウントされたパーティションに「brick0」という新しいディレクトリを作成するために、以下のコマンドを実行します。
# node1で実行
mkdir -p /data/node1/brick0
# node2で実行
mkdir -p /data/node2/brick0
# node3で実行
mkdir -p /data/node3/brick0GlusterFSサーバーのインストール
このステップでは、GlusterFSクラスターに使用されるDebianサーバーにGlusterFSパッケージをインストールします。したがって、以下のコマンドをnode1、node2、およびnode3サーバーで実行してください。
以下のaptコマンドを実行して、システムに基本的な依存関係をインストールします。プロンプトが表示されたらyを入力し、ENTERを押して続行します。
sudo apt install gnupg2 apt-transport-https software-properties-common出力:

curlコマンドを介してGlusterFSリポジトリのGPGキーをダウンロードします。次に、新しいキーをファイル「/usr/share/keyrings/glusterfs-archive-keyring.gpg」に変換します。
curl https://download.gluster.org/pub/gluster/glusterfs/10/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出力:

GPGキーとリポジトリが追加されたら、以下のaptコマンドを実行してパッケージインデックスを更新およびリフレッシュします。
sudo apt update出力:

次に、以下のコマンドを入力してGlusterFSサーバーパッケージをインストールします。確認を求められたらyを入力し、ENTERを押します。
sudo apt install glusterfs-server出力:

GlusterFSがインストールされたら、以下のsystemctlコマンドユーティリティを実行してGlusterFSサービスを開始および有効にします。これにより、GlusterFSはすべてのサーバーで実行され、今後は自動的にシステム起動時にGlusterFSサービスが開始されるようになります。
sudo systemctl start glusterd
sudo systemctl enable glusterd最後に、以下のsystemctlコマンドを実行してGlusterFSサービスを確認し、サービスが実行中で有効であることを確認します。
sudo systemctl status glusterd成功した場合、出力は次のようになります - 出力「‘active (running)’」はGlusterFSが実行中であることを確認し、出力「…; enabled;」はGlusterFSが有効であり、システム起動時に自動的に開始されることを確認します。

この時点で、新しいディスク/パーティションを準備し、GlusterFSサーバーをインストールしました。次に、GlusterFSクラスターの作成と初期化を開始します。
ストレージプールの初期化
このステップでは、3台のDebianサーバー、node1、node2、およびnode3でGlusterFSクラスターを設定します。node1からGlusterFSクラスターを初期化し、他のノードnode2とnode3をクラスターに追加します。
開始する前に、各サーバーがホスト名またはFQDNを介してアクセス可能であることを確認してください。各サーバーにpingコマンドを発行して確認できます。
ping node2.home.lan
ping node3.home.lannode1のターミナルで、以下のglusterコマンドを実行して、クラスターのメンバーnode2とnode3でGlusterFSクラスターを初期化します。
sudo gluster peer probe node2.home.lan
sudo gluster peer probe node3.home.lan出力「peer probe: success」は、GlusterFSクラスターの初期化が成功したことを確認します。

次に、node2のターミナルに移動し、以下のコマンドを発行してGlusterFSクラスターの状態を確認します。
sudo gluster peer status出力は次のようになります - node2では、接続された状態の2つのピア、node1とnode3が表示されます。

次に、node3のターミナルに移動し、以下のコマンドを実行してGlusterFSクラスターの状態を確認します。
sudo gluster peer status出力 - node3では、接続された状態の2つのピア、node1とnode2が表示されます。

さらに、以下のコマンドを介してGlusterFSクラスターのプールのリストを確認することもできます。これはnode1、node2、またはnode3サーバーで実行できます。
sudo gluster pool listこれで、3台のDebianサーバーでGlusterFSクラスターを正常に初期化しました。次のステップでは、GlusterFSでボリュームを作成し、クライアントマシンからGlusterFSボリュームをマウントする方法を学びます。
複製ボリュームの作成
GlusterFSでは、作成できるボリュームのタイプが複数あります。これには、分散ボリューム、複製ボリューム、分散複製ボリューム、分散ボリューム、分散分散ボリュームが含まれます。各ボリュームタイプの詳細については、GlusterFSの公式ドキュメントを確認してください。
このステップでは、3つの異なるGlusterFSサーバーで複製タイプの新しいGlusterFSボリュームを作成します。これにより、データはストレージプール内で自動的に1つのサーバーから別のサーバーにコピーされ、GlusterFSクラスター内で複製されます。
以下のglusterコマンドを実行して、新しい複製ボリュームをGlusterFSに作成します。この例では、3台のサーバーnode1、node2、およびnode3の間で複製タイプの新しいボリューム「testVolume」を作成します。
sudo gluster volume create testVolume replica 3 node1.home.lan:/data/node1/brick0 node2.home.lan:/data/node2/brick0 node3.home.lan:/data/node3/brick0出力「volume create: testVolume: success: …」は、新しいボリューム「testVolume」が作成されたことを確認します。
次に、使用する前に「testVolume」を開始する必要があるため、以下のコマンドを発行します。
sudo gluster volume start testVolume出力「volume start: testVolume: success」は、「testVolume」が開始され、準備が整ったことを確認します。
出力:
最後に、以下のglusterコマンドを介して「testVolume」に関する詳細情報を確認できます。
sudo gluster volume info出力は次のようになります - 「testVolume」のタイプは「Replicated」、デフォルトの転送は「tcp」、3つの異なるサーバーnode1、node2、およびnode3です。
出力:

これで、3つの異なるサーバーでGlusterFSクラスターを初期化し、その上に複製ボリューム「testVolume」を作成しました。次のステップでは、クライアントマシンを設定し、GlusterFSボリュームをマウントする方法を学びます。
クライアントにGlusterFSボリュームをマウント
このステップでは、クライアントマシンにGlusterFSボリュームをマウントする方法を学びます。この例では、ホスト名「client」のUbuntu/Debianベースのマシンを使用します。今、GlusterFSボリューム「testVolume」をクライアントマシンにマウントし、‘/etc/fstab’ファイルを介して自動マウントを設定します。
まず、以下のnanoエディタコマンドを使用して「/etc/hosts」ファイルを開きます。
sudo nano /etc/hostsファイルに以下の行を入力し、GlusterFSサーバーのIPアドレスとホスト名の詳細を変更してください。
192.168.5.50 node1.home.lan node1
192.168.5.56 node2.home.lan node2
192.168.5.57 node3.home.lan node3ファイルを保存し、終了します。
次に、以下のaptコマンドを実行して「glusterfs-client」パッケージをインストールします。GlusterFSボリュームをマウントするには、クライアントマシンに「glusterfs-client」パッケージをインストールする必要があります。
sudo apt install glusterfs-clientプロンプトが表示されたらyを入力し、ENTERを押して続行します。

glusterfs-clientがインストールされたら、GlusterFSボリュームのターゲットマウントディレクトリとして使用される新しいディレクトリ「/data」を作成します。
mkdir /data以下のマウントコマンドを介してGlusterFSボリューム「testVolume」を「/data」ディレクトリにマウントします。
sudo mount.glusterfs node1.home.lan:/testVolume /data以下のdfコマンドを介してシステム上のマウントされたディスクのリストを確認します。
sudo df -h成功した場合、GlusterFSボリューム「testVolume」が「/data」ディレクトリにマウントされているのがわかります。
出力:

次に、‘/etc/fstab’ファイルを介してGlusterFSボリュームの自動マウントを設定します。
以下のnanoエディタコマンドを使用して「/etc/fstab」ファイルを開きます。
sudo nano /etc/fstabファイルに以下の行を追加します。これにより、GlusterFSボリューム「testVolume」が起動時に自動的にマウントされます。
node1.home.lan:/testVolume /data glusterfs defaults,_netdev 0 0ファイルを保存して終了します。
これで、GlusterFSボリュームをマウントするためのクライアント設定が完了し、‘/etc/fstab’ファイルを介してGlusterFSボリュームの自動マウントが設定されました。次のステップでは、GlusterFSクラスターの複製と高可用性を確認します。
複製と高可用性のテスト
クライアントマシンで作業ディレクトリを「/data」に移動し、以下のコマンドを使用して新しいファイルを作成します。これにより、新しいファイル「1-15.md」が作成されます。
cd /data
touch file{1..15}.mdlsコマンドを発行して、現在のディレクトリ内のファイルのリストを取得します。
ls出力:
次に、node1のターミナルに移動し、「/data/node1/brick0」ディレクトリに移動します。次に、lsコマンドを発行してファイルとディレクトリのリストを確認します。
cd /data/node1/brick0
lsnode1に「1-15.md」ファイルが表示されるはずです。
出力:
次に、node2のターミナルに移動し、「/data/node2/brick0」ディレクトリに移動します。次に、lsコマンドを発行してファイルとディレクトリのリストを確認します。
cd /data/node2/brick0
lsnode2に「1-15.md」ファイルが表示されるはずです。
出力:
次に、node3のターミナルに移動し、「/data/node3/brick0」ディレクトリに移動します。次に、lsコマンドを発行してファイルとディレクトリのリストを確認します。
cd /data/node3/brick0
lsnode3に「1-15.md」ファイルが表示されるはずです。
出力:
これにより、クライアントマシンで作成したデータがGlusterFSサーバー上の複数のサーバーに複製されます。
次に、GlusterFSの高可用性を確認するために、「node1」をオフにするかシャットダウンし、クライアントマシンがまだGlusterFSクラスターに接続されていることを確認します。
node1のターミナルに移動し、以下のコマンドを実行してサーバーをシャットダウンします。
sudo poweroff次に、node2のターミナルに移動し、以下のコマンドを実行してGlusterFSクラスターの状態を確認します。
sudo gluster peer status出力は次のようになります - node1の状態は「Disconnected」です。

クライアントターミナルに移動し、以下のコマンドを実行して、まだGlusterFSクラスターに接続されていることを確認します。
cd /data
ls出力:
これにより、GlusterFSクラスターの高可用性が機能していることが確認されます。
結論
このチュートリアルでは、3台のDebian 11サーバーでGlusterFSクラスターをインストールしました。また、fdiskを介してLinux上に新しいディスク/パーティションを設定し、/etc/fstabファイルを介してLinuxディスク/パーティションの自動マウントを構成しました。さらに、GlusterFSで複製ボリュームを作成し、GlusterFSボリュームをマウントするためにDebian/Ubuntuベースのクライアントマシンを設定する方法を学びました。
これを念頭に置いて、ネットワークからアクセス可能な高可用性ネットワークファイルシステムを持つGlusterFSクラスターを活用するために、さらに多くのディスクやサーバーを追加できます。GlusterFSの管理については、GlusterFSの公式ドキュメントを参照してください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。