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

GlusterFSは、最初にGluster Inc.によって開発され、その後Redhatによって開発された無料のオープンソースでスケーラブルなネットワークファイルシステムです。これは、クラウドストレージ、CDN、メディアストリーミングなどのデータ集約型ワークロード向けに特別に設計されています。ペタバイトのデータを処理できるため、数千のクライアントにサービスを提供できます。NFS、SMB、CIFS、HTTP、FTPなどのさまざまなプロトコルをサポートしています。GlusterFSを使用すると、異なるディスクストレージリソースを単一のグローバル名前空間に統合できます。
このチュートリアルでは、Ubuntu 18.04でレプリケートされたGlusterFSボリュームを設定する方法を学びます。
要件
- それぞれに2GBの外部HDDを搭載したUbuntu 18.04を実行している2台のサーバー。
- node1には静的IPアドレス172.20.10.5が構成され、node2には172.20.10.6が構成されています。
- 両方のサーバーにrootパスワードが構成されています。
始めに
始める前に、両方のサーバーを最新のバージョンに更新する必要があります。以下のコマンドを両方のサーバーで実行して更新できます。
apt-get update -y
apt-get upgrade -y両方のサーバーが更新されたら、変更を適用するために再起動します。
次に、両方のサーバーでホスト名解決を設定する必要があります。これにより、各サーバーがホスト名で互いに通信できるようになります。両方のサーバーで/etc/hostsファイルを編集して行います。
nano /etc/hosts以下の行を追加します。
172.20.10.5 node1
172.20.10.6 node2
完了したら、ファイルを保存して閉じます。
GlusterFSのインストール
最初に、両方のサーバーにGlusterFSパッケージをインストールする必要があります。デフォルトでは、GlusterFSはUbuntu 18.04のデフォルトリポジトリにはありません。したがって、両方のサーバーにGlusterFSリポジトリを追加する必要があります。
最初に、以下のコマンドで必要なパッケージをインストールします。
apt-get install software-properties-common -y次に、以下のコマンドでリポジトリを追加します。
add-apt-repository ppa:gluster/glusterfs-5次に、以下のコマンドでGlusterFSサーバーをインストールします。
apt-get install glusterfs-server -yインストールが完了したら、以下のコマンドで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; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-11-07 12:51:15 UTC; 48s ago
Main PID: 7199 (glusterd)
Tasks: 8 (limit: 505)
CGroup: /system.slice/glusterd.service
??7199 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO
Nov 07 12:51:06 ubuntu systemd[1]: Starting GlusterFS, a clustered file-system server...
Nov 07 12:51:15 ubuntu systemd[1]: Started GlusterFS, a clustered file-system server.
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 /glusterdata次に、ディスク/dev/sdb1をディレクトリ/glusterdataにマウントします。
mount.xfs /dev/sdb1 /glusterdata次に、/etc/fstabファイルを編集して再起動後もマウントを持続させます。
nano /etc/fstab以下の行を追加します。
/dev/sdb1 /glusterdata xfs defaults 0 0
ファイルを保存して閉じたら、以下のコマンドを実行して変更を適用します。
mount -a以下のコマンドでマウントされたディレクトリを確認できます。
df -h以下の出力が表示されるはずです。
Filesystem Size Used Avail Use% Mounted on
udev 211M 0 211M 0% /dev
tmpfs 49M 1016K 48M 3% /run
/dev/sda2 30G 4.3G 25G 16% /
tmpfs 241M 12K 241M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 241M 0 241M 0% /sys/fs/cgroup
/dev/loop0 87M 87M 0 100% /snap/core/4486
tmpfs 49M 0 49M 0% /run/user/0
/dev/loop1 90M 90M 0 100% /snap/core/7917
/dev/sdb1 2.0G 35M 2.0G 2% /glusterdata
GlusterFSボリュームの構成
最初に、node1にnode2を追加して信頼されたストレージプールを作成する必要があります。そのためには、node1で以下のコマンドを実行します。
gluster peer probe node2以下のコマンドでストレージプールをリストできます。
gluster pool list以下の出力が得られるはずです。
UUID Hostname State
d049b519-9210-4bfa-a1c6-0d1454a88ea0 node2 Connected
dbb9252e-6082-4d31-aaef-1b99e0e0c369 localhost Connected
次に、両方のノードにブリックディレクトリを作成します。
mkdir /glusterdata/vol1次に、2つのレプリカを持つvol1という名前のボリュームを作成します。
gluster volume create vol1 replica 2 node1:/glusterdata/vol1 node2:/glusterdata/vol1次に、以下のコマンドでボリュームを開始します。
gluster volume start vol1以下のコマンドで作成したボリュームの状態を確認できます。
gluster volume status以下の出力が得られるはずです。
Status of volume: vol1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/glusterdata/vol1 49152 0 Y 7987
Brick node2:/glusterdata/vol1 49152 0 Y 18565
Self-heal Daemon on localhost N/A N/A Y 8010
Self-heal Daemon on node2 N/A N/A Y 18588
Task Status of Volume vol1
------------------------------------------------------------------------------
There are no active volume tasks
以下のコマンドで作成したボリュームに関する情報も確認できます。
gluster volume info vol1以下の出力が得られるはずです。
Volume Name: vol1
Type: Replicate
Volume ID: e093ae7a-70ac-42b8-ab3f-a8bd186c5740
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: node1:/glusterdata/vol1
Brick2: node2:/glusterdata/vol1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
次に、/etc/fstabファイルを編集して、両方のノードの/mntディレクトリに作成したボリュームをマウントします。これにより、サーバーが起動した後もボリュームが利用可能になります。
nano /etc/fstab以下の行を追加します。
localhost:/vol1 /mnt glusterfs defaults,_netdev 0 0
完了したら、ファイルを保存して閉じます。その後、以下のコマンドを実行して変更を適用します。
mount -aレプリケーションのテスト
GlusterFSサーバーは正常にインストールされ、構成されました。2つのノード間のレプリケーションをテストする時が来ました。
最初に、node1に2つのファイルを作成します。
touch /mnt/file1 /mnt/file2次に、node2に移動して以下のコマンドを実行します。
ls -l /mnt/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: d049b519-9210-4bfa-a1c6-0d1454a88ea0
State: Peer in Cluster (Disconnected)
以下のコマンドでボリュームの状態も確認できます。
gluster volume status以下の出力が表示されるはずです。
Status of volume: vol1
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node1:/glusterdata/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 /mnt/file3 /mnt/file4次に、node2に移動して以下のコマンドでGlusterFSサービスを開始します。
service glusterd start次に、node2の/mntディレクトリを確認します。
ls -l /mnt/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
-rw-r--r-- 1 root root 0 Nov 7 13:44 file3
-rw-r--r-- 1 root root 0 Nov 7 13:44 file4
結論
おめでとうございます!Ubuntu 18.04サーバーに2ノードのレプリケートGlusterfsボリュームを正常にインストールして構成しました。また、分散Glusterfsボリューム、分散レプリケートGlusterfsボリューム、ストライプGlusterfsボリューム、分散ストライプGlusterfsボリュームを設定することもできます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。