ストレージ · 1 min read · Jan 08, 2026

Debian LennyでのGlusterFSによる高可用性ストレージ - 2つのストレージサーバー間の自動ファイル複製

このチュートリアルでは、GlusterFSを使用した2つのストレージサーバー(Debian Lenny)で高可用性ストレージを設定する方法を示します。各ストレージサーバーは他のストレージサーバーのミラーとなり、ファイルは両方のストレージサーバー間で自動的に複製されます。クライアントシステム(Debian Lennyも)は、ストレージをローカルファイルシステムのようにアクセスできるようになります。GlusterFSは、数ペタバイトにスケール可能なクラスターファイルシステムです。さまざまなストレージブリックをInfiniband RDMAまたはTCP/IPインターコネクトを介して1つの大規模な並列ネットワークファイルシステムに集約します。ストレージブリックは、SATA-II RAIDおよびInfiniband HBAを備えたx86-64サーバーなどの一般的なハードウェアで構成できます。

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

1 予備ノート

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

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

すべてのシステムは、他のシステムのホスト名を解決できる必要があります。これが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 server2.example.com server2 192.168.0.102 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 ff02::3 ip6-allhosts |

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

2 GlusterFSサーバーの設定

server1.example.com/server2.example.com:

GlusterFSはDebian Lenny用のDebianパッケージとしては利用できないため、私たち自身でビルドする必要があります。まず、前提条件をインストールします:

aptitude install sshfs build-essential flex bison byacc libdb4.6 libdb4.6-dev

次に、http://www.gluster.org/download.php から最新のGlusterFSリリースをダウンロードし、次のようにビルドします:

cd /tmp  
wget http://ftp.gluster.com/pub/gluster/glusterfs/2.0/LATEST/glusterfs-2.0.1.tar.gz  
tar xvfz glusterfs-2.0.1.tar.gz  
cd glusterfs-2.0.1  
./configure --prefix=/usr > /dev/null
server1:/tmp/glusterfs-2.0.1# ./configure --prefix=/usr > /dev/null  
  
GlusterFS configure summary  
===========================  
FUSE client        : no  
Infiniband verbs   : no  
epoll IO multiplex : yes  
Berkeley-DB        : yes  
libglusterfsclient : yes  
mod_glusterfs      : no ()  
argp-standalone    : no  
  
server1:/tmp/glusterfs-2.0.1#
make && make install  
ldconfig

コマンド

glusterfs --version

は、あなたがちょうどコンパイルしたGlusterFSのバージョン(この場合は2.0.1)を表示するはずです:

server1:/tmp/glusterfs-2.0.1# glusterfs --version  
glusterfs 2.0.1 built on May 29 2009 17:23:10  
Repository revision: 5c1d9108c1529a1155963cb1911f8870a674ab5b  
Copyright (c) 2006-2009 Z RESEARCH Inc.   
GlusterFS comes with ABSOLUTELY NO WARRANTY.  
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.  
server1:/tmp/glusterfs-2.0.1#

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

mkdir /data/  
mkdir /data/export  
mkdir /data/export-ns  
mkdir /etc/glusterfs

次に、エクスポートされるディレクトリ(/data/export)と接続を許可されるクライアント(192.168.0.102 = client1.example.com)を定義するGlusterFSサーバー構成ファイル/etc/glusterfs/glusterfsd.volを作成します:

vi /etc/glusterfs/glusterfsd.vol

| volume posix type storage/posix option directory /data/export end-volume volume locks type features/locks subvolumes posix end-volume volume brick type performance/io-threads option thread-count 8 subvolumes locks end-volume volume server type protocol/server option transport-type tcp option auth.addr.brick.allow 192.168.0.102 subvolumes brick end-volume |

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

その後、glusterfsd initスクリプトのシステム起動リンクを作成します…

update-rc.d glusterfsd defaults

… そしてglusterfsdを起動します:

/etc/init.d/glusterfsd start
Share: X/Twitter LinkedIn

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

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