GlusterFS · 3 min read · Nov 30, 2025
Ubuntu 22.04にGlusterFSをインストールして構成する方法

GlusterFSは、Gluster Incによって開発され、その後Redhatによって開発された無料のオープンソースのソフトウェア定義の分散ストレージです。オブジェクト、ブロック、ファイルストレージのインターフェースを提供し、クラウドストレージ、CDN、メディアストリーミングなどのデータ集約型ワークロードに使用されます。ペタバイトのデータを保存するために、ビルディングブロック方式でスケールアウトできます。NFS、SMB、CIFS、HTTP、FTPなどの複数のプロトコルをサポートしています。大量のデータを扱う必要があるさまざまなユースケースに最適です。
このチュートリアルでは、Ubuntu 22.04でレプリケートされたGlusterFSボリュームをセットアップする方法を学びます。
要件
- それぞれに2GBの外部ハードディスクを搭載したUbuntu 22.04を実行している2台のサーバー。
- node1に静的IPアドレス192.168.10.10が設定され、node2に192.168.10.11が設定されています。
- 両方のサーバーにrootパスワードが設定されています。
始めに
始める前に、両方のサーバーでシステムパッケージをすべて更新することをお勧めします。以下のコマンドを両方のサーバーで実行して更新できます。
apt-get update -y
apt-get upgrade -yすべてのシステムパッケージが更新されたら、変更を適用するために再起動します。
次に、両方のサーバーで/etc/hostsファイルを編集し、ホスト名解決を設定して、各サーバーがホスト名で互いに通信できるようにする必要があります。以下のコマンドで実行できます。
nano /etc/hosts次の行を追加します。
192.168.10.10 node1
192.168.10.11 node2
作業が完了したら、ファイルを保存して閉じます。
GlusterFSサーバーのインストール
デフォルトでは、GlusterFSはUbuntu 22.04のデフォルトリポジトリにあります。以下のコマンドを使用して、両方のサーバーにインストールできます。
apt-get install glusterfs-server -yGlusterFSパッケージがインストールされたら、GlusterFSサービスを開始し、次のコマンドでブート時に自動的に開始するように設定します。
systemctl start glusterd
systemctl enable glusterd次のコマンドでGlusterFSサービスの状態を確認できます。
systemctl status glusterd次の出力が表示されるはずです。
? glusterd.service - GlusterFS, a clustered file-system server
Loaded: loaded (/lib/systemd/system/glusterd.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2022-11-05 04:10:13 UTC; 7s ago
Docs: man:glusterd(8)
Process: 92014 ExecStart=/usr/sbin/glusterd -p /var/run/glusterd.pid --log-level $LOG_LEVEL $GLUSTERD_OPTIONS (code=exited, status=0/SUCC>
Main PID: 92015 (glusterd)
Tasks: 9 (limit: 4579)
Memory: 7.1M
CPU: 2.260s
CGroup: /system.slice/glusterd.service
??92015 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO
Nov 05 04:10:11 ubuntu2204 systemd[1]: Starting GlusterFS, a clustered file-system server...
Nov 05 04:10:13 ubuntu2204 systemd[1]: Started GlusterFS, a clustered file-system server.
作業が完了したら、次のステップに進むことができます。
GlusterFSストレージの作成
GlusterFSストレージを作成するには、両方のサーバーに外部ハードディスクが必要です。また、両方のサーバーの外部ハードディスク(/dev/sdb)にパーティションを作成する必要があります。
/dev/sdbに新しいパーティションを作成するには、次のコマンドを実行します。
fdisk /dev/sdb次の出力が表示されるはずです。
Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x06091fe8.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-4194303, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303):
Created a new partition 1 of type 'Linux' and of size 2 GiB.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
次に、次のコマンドでパーティションをフォーマットします。
mkfs.xfs /dev/sdb1次の出力が表示されるはずです。
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=131008 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0, rmapbt=0, reflink=0
data = bsize=4096 blocks=524032, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
次に、次のコマンドで両方のサーバーにGlusterFSストレージ用のディレクトリを作成します。
mkdir /glustervolume次に、ディスク/dev/sdb1をディレクトリ/glustervolumeにマウントします。
mount.xfs /dev/sdb1 /glustervolume次に、/etc/fstabファイルを編集して、再起動後もマウントを持続させます。
nano /etc/fstab次の行を追加します。
/dev/sdb1 /glustervolume xfs defaults 0 0
ファイルを保存して閉じたら、次のコマンドを実行して変更を適用します。
mount -a次のコマンドでマウントされたディレクトリを確認できます。
df -h次の出力が表示されるはずです。
Filesystem Size Used Avail Use% Mounted on
tmpfs 393M 1.1M 392M 1% /run
/dev/sda2 79G 8.6G 67G 12% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 393M 4.0K 393M 1% /run/user/0
/dev/sdb1 2.0G 35M 2.0G 2% /glustervolume
GlusterFSボリュームの構成
まず、node2をnode1に追加して信頼されたストレージプールを作成する必要があります。そのためには、node1で次のコマンドを実行します。
gluster peer probe node2次のコマンドで追加されたストレージプールを確認できます。
gluster pool list次の出力が得られるはずです。
UUID Hostname State
52245177-ce2e-4217-8da5-2ee7a33dcf46 node2 Connected
b6da6e83-b1ea-46de-8904-1c5345b1c229 localhost Connected
次に、両方のノードにブリックディレクトリを作成します。
mkdir /glustervolume/vol1次に、2つのレプリカを持つvol1という名前のボリュームを作成します。
gluster volume create vol1 replica 2 node1:/glustervolume/vol1 node2:/glustervolume/vol1次に、次のコマンドでボリュームを開始します。
gluster volume start vol1次のコマンドで作成したボリュームの状態を確認できます。
gluster volume status次の出力が得られるはずです。
Status of volume: vol1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/glustervolume/vol1 49152 0 Y 7198
Brick node2:/glustervolume/vol1 49152 0 Y 13214
Self-heal Daemon on localhost N/A N/A Y 6121
Self-heal Daemon on node2 N/A N/A Y 12768
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks
次のコマンドを使用して、作成したボリュームに関する情報を確認できます。
gluster volume info vol1次の出力が得られるはずです。
Volume Name: vol1
Type: Replicate
Volume ID: a1023sd6d-81rt-12a2-bc4e-a4gd156c5331
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/glustervolume/vol1
Brick2: node2:/glustervolume/vol1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
次に、両方のノードの/optディレクトリに作成したボリュームをマウントするために、/etc/fstabファイルを編集します。
nano /etc/fstab次の行を追加します。
localhost:/vol1 /opt glusterfs defaults,_netdev 0 0
作業が完了したら、ファイルを保存して閉じます。次に、次のコマンドを実行して変更を適用します。
mount -aレプリケーションのテスト
GlusterFSサーバーが正常にインストールされ、構成されました。次に、両方のノード間でレプリケーションをテストする時間です。
まず、node1で2つのファイルを作成します。
touch /opt/test1 /opt/test2次に、node2に移動して次のコマンドを実行します。
ls -l /opt/node1で作成したのと同じファイルが表示されるはずです。
total 0
-rw-r--r-- 1 root root 0 Nov 7 13:42 file1
-rw-r--r-- 1 root root 0 Nov 7 13:42 file2
次に、次のコマンドでnode2でGlusterFSサービスを停止します。
service glusterd stop次に、node1に移動してピアの状態を確認します。
gluster peer statusnode2が切断されていることが表示されるはずです。
Number of Peers: 1
Hostname: node2
Uuid: a134f146-1220-3avd-d3f6-1c2554a87sa1
State: Peer in Cluster (Disconnected)
次のコマンドでボリュームの状態を確認できます。
gluster volume status次の出力が表示されるはずです。
Status of volume: vol1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/glustervolume/vol1 49152 0 Y 7987
Self-heal Daemon on localhost N/A N/A Y 8010
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks
次に、node1で他の2つのファイルを作成します。
touch /opt/test3 /opt/test4次に、node2に移動して次のコマンドでGlusterFSサービスを開始します。
service glusterd start次に、node2の/optディレクトリを確認します。
ls -l /opt/node1からのすべてのファイルがレプリケートされ、現在利用可能であることが表示されるはずです。
total 0
-rw-r--r-- 1 root root 0 Nov 7 13:42 test1
-rw-r--r-- 1 root root 0 Nov 7 13:42 test2
-rw-r--r-- 1 root root 0 Nov 7 13:44 test3
-rw-r--r-- 1 root root 0 Nov 7 13:44 test4
結論
おめでとうございます!Ubuntu 22.04サーバーに2ノードのレプリケートGlusterfsサーバーを正常にインストールして構成しました。詳細については、GlusterFSのドキュメントページをお読みください。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。