GlusterFS · 1 min read · Feb 11, 2026

Debian WheezyでGlusterFS 3.2.xを使用してNFSのようなスタンドアロンストレージサーバーを作成する

このチュートリアルでは、Debian Wheezy上にスタンドアロンストレージサーバーを設定する方法を示します。NFSの代わりに、ここではGlusterFSを使用します。クライアントシステムは、ストレージをローカルファイルシステムのようにアクセスできるようになります。 GlusterFSは、数ペタバイトにスケール可能なクラスターファイルシステムです。これは、Infiniband RDMAまたはTCP/IPインターコネクトを介してさまざまなストレージブリックを1つの大きな並列ネットワークファイルシステムに集約します。ストレージブリックは、SATA-II RAIDおよびInfiniband HBAを備えたx86_64サーバーなどの一般的なハードウェアで構成できます。

私は、これがあなたにとって機能するという保証は一切しません!

1 予備ノート

このチュートリアルでは、サーバーとクライアントの2つのシステムを使用します:

  • server1.example.com: IPアドレス 192.168.0.100 (サーバー)
  • client1.example.com: IPアドレス 192.168.0.101 (クライアント)

両方のシステムは、他のシステムのホスト名を解決できる必要があります。これがDNSを介して行えない場合は、/etc/hostsファイルを編集して、両方のシステムで次のように見えるようにしてください:

vi /etc/hosts

| 127.0.0.1 localhost.localdomain localhost 192.168.0.100 server1.example.com server1 192.168.0.101 client1.example.com client1 # IPv6対応ホストにとって望ましい行 ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters |

(以下の設定では、ホスト名の代わりにIPアドレスを使用することも可能です。IPアドレスを使用することを好む場合は、ホスト名が解決できるかどうかを気にする必要はありません。)

2 GlusterFSサーバーの設定

server1.example.com:

GlusterFSはDebian Wheezy用のパッケージとして利用可能であるため、次のようにインストールできます:

apt-get install glusterfs-server

コマンド

glusterfsd --version

は、あなたがインストールしたばかりのGlusterFSのバージョンを表示するはずです(この場合は3.2.7):

root@server1:~# glusterfsd –version
glusterfs 3.2.7 built on Nov 12 2012 19:30:08
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. http://www.gluster.com
GlusterFSには完全に無保証です。
あなたはGNU一般公衆ライセンスの条件の下でGlusterFSのコピーを再配布することができます。
root@server1:~#

ファイアウォールを使用している場合は、TCPポート111、24007、24008、24009-(すべてのボリュームにわたるブリックの数)がserver1.example.comで開いていることを確認してください。

次に、/dataディレクトリにlocalhost(= server1)でtestvolという名前の共有を作成します(存在しない場合は作成されます):

gluster volume create testvol server1.example.com:/data

root@server1:~# gluster volume create testvol server1.example.com:/data
ボリュームtestvolの作成が成功しました。データにアクセスするにはボリュームを開始してください。
root@server1:~#

ボリュームを開始します:

gluster volume start testvol

上記のコマンドがアクションが成功しなかったと通知する可能性があります:

root@server1:~# gluster volume start testvol
ボリュームtestvolの開始が不成功でした
root@server1:~#

ボリュームの状態を確認するには、次のコマンドを使用します

gluster volume info
root@server1:~# gluster volume info

ボリューム名: testvol
タイプ: 分散
状態: 開始
ブリックの数: 1
トランスポートタイプ: tcp
ブリック:
Brick1: server1.example.com:/data
root@server1:~#

ボリュームが開始されていると表示されれば、すべて正常です。そうでない場合は、再度開始してください。

デフォルトでは、すべてのクライアントがボリュームに接続できます。client1.example.com(= 192.168.0.101)のみへのアクセスを許可したい場合は、次のコマンドを実行します:

gluster volume set testvol auth.allow 192.168.0.101

IPアドレスにワイルドカード(192.168.*のような)を使用でき、カンマで区切って複数のIPアドレスを指定できることに注意してください(例:192.168.0.101,192.168.0.102)。

ボリューム情報は、更新された状態を表示するはずです:

gluster volume info
root@server1:~# gluster volume info

ボリューム名: testvol
タイプ: 分散
状態: 開始
ブリックの数: 1
トランスポートタイプ: tcp
ブリック:
Brick1: server1.example.com:/data
再構成されたオプション:
auth.allow: 192.168.0.101
root@server1:~#

3 GlusterFSクライアントの設定

client1.example.com:

クライアントでは、次のようにGlusterFSクライアントをインストールできます:

apt-get install glusterfs-client

次に、次のディレクトリを作成します:

mkdir /mnt/glusterfs

これで完了です!次のコマンドでGlusterFSファイルシステムを/mnt/glusterfsにマウントできます:

mount.glusterfs server1.example.com:/testvol /mnt/glusterfs

これで、次の出力に新しい共有が表示されるはずです…

mount

root@client1:~# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
odev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=126813,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=102704k,mode=755)
/dev/mapper/server1-root on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=205400k)
/dev/sda1 on /boot type ext2 (rw,relatime,errors=continue)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
server1.example.com:/testvol on /mnt/glusterfs type fuse.glusterfs (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=131072)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
root@client1:~#

… と…

df -h

root@client1:~# df -h
ファイルシステム                    サイズ  使用 利用可能 使用% マウント 場所
rootfs                         29G  1.2G   26G   5% /
udev                           10M     0   10M   0% /dev
tmpfs                         101M  240K  101M   1% /run
/dev/mapper/server1-root       29G  1.2G   26G   5% /
tmpfs                         5.0M     0  5.0M   0% /run/lock
tmpfs                         201M     0  201M   0% /run/shm
/dev/sda1                     228M   18M  199M   9% /boot
server1.example.com:/testvol   29G  1.2G   26G   5% /mnt/glusterfs
root@client1:~#

クライアントでGlusterFS共有を手動でマウントする代わりに、/etc/fstabを修正して、クライアントが起動する際に共有が自動的にマウントされるようにすることができます。

/etc/fstabを開いて、次の行を追加します:

vi /etc/fstab  

| [...] server1.example.com:/testvol /mnt/glusterfs glusterfs defaults,_netdev 0 0 |

変更した/etc/fstabが機能しているかをテストするために、クライアントを再起動します:

reboot

再起動後、次の出力に共有が表示されるはずです…

df -h

… と…

mount

4 リンク

Share: X/Twitter LinkedIn

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

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