環境は、ubuntu 11.04とかCentOS5.4。とりあえず作ってみたかったので
バラバラです。
事前に
・python2.4以上
・python-crypt
・flex
・bison
いれた。
コマンドの結果、とり忘れたのであとでつけますね。
#まずは、FUSEから。
tar zxvf fuse-2.8.7.tar.gz
./configure
make && make install
#FUSE読み込み
modprobe fuse
dmesg | grep -i fuse
#fuse init (API version 7.13)
#次、gluster。
tar zxvf glusterfs-3.2.6.tar.gz
./configure
make && make install
#インストールすると、/etc/glusterd配下にディレクトリ・ファイルが展開される。
# ls -lHR
.:
total 4
drwxr-xr-x 2 root root 24 Apr 12 03:25 geo-replication
-rw-r--r-- 1 root root 42 Apr 12 03:25 glusterd.info
drwxr-xr-x 2 root root 6 Apr 12 03:25 nfs
drwxr-xr-x 2 root root 6 Apr 12 03:25 peers
drwxr-xr-x 2 root root 6 Apr 12 03:25 vols
./geo-replication:
total 4
-rwxr-xr-x 1 root root 1137 Apr 12 03:25 gsyncd.conf
./nfs:
total 0
./peers:
total 0
./vols:
total 0
#glusterFS 起動 ( 各サーバで)
/etc/init.d/glusterd start
#ディレクトリほる
mkdir /gluster_data
#peerの作成 (各ノード間で信頼関係をつくるらしい)
#まずはpeerの状態確認
/usr/local/sbin/gluster peer status
No peers present
#peerはる
/usr/local/sbin/gluster peer probe xxx.xxx.xxx.xxx
Probe successful
#peerの状態確認
/usr/local/sbin/gluster peer status
Number of Peers: 1
Hostname: xxx.xxx.xxx.xxx
Uuid: ad0bb29e-f91b-4053-8ab0-9a90adbd095e
State: Peer in Cluster (Connected)
#volumeの作成(今回は、とりあえず全ノードの領域を使う方法にしました。ほかに、stripe、replicaがあるみたいす。あとでやり方あげます)
/usr/local/sbin/gluster volume create gluster-vol xxx.xxx.xxx.xxx:/gluster_data xxx.xxx.xxx.xxx:/gluster_data
Creation of volume gluster-vol has been successful. Please start the volume to access data.
#volume確認
/usr/local/sbin/gluster volume info
Volume Name: gluster-vol
Type: Distribute
Status: Created
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: xxx.xxx.xxx.xxx:/gluster_data
Brick2: xxx.xxx.xxx.xxx:/gluster_data
#volume 起動
/usr/local/sbin/gluster volume start gluster-vol
Starting volume gluster-vol has been successful
#確認
/usr/local/sbin/gluster volume info
Volume Name: gluster-vol
Type: Distribute
Status: Started
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: xxx.xxx.xxx.xxx:/gluster_data
Brick2: xxx.xxx.xxx.xxx:/gluster_data
#各Clientからmount
mount -t glusterfs -o log-level=WARNING,log-file=/var/log/gluster.log xxx.xxx.xxx.xxx:gluster-vol /mnt/glusterfs
#これでとりあえず使えます。
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 1.9T 3.4G 1.9T 1% /
none 5.9G 204K 5.9G 1% /dev
none 5.9G 0 5.9G 0% /dev/shm
none 5.9G 48K 5.9G 1% /var/run
none 5.9G 0 5.9G 0% /var/lock
none 5.9G 0 5.9G 0% /lib/init/rw
/dev/sdb1 51T 11G 51T 1% /gluster_data
/dev/sda1 472M 27M 422M 6% /boot
xxx.xxx.xxx.xxx:gluster-vol
52T 17G 52T 1% /mnt/glusterfs
#こんなファイルできてる
/etc/glusterd# ls -lhR
.:
total 4.0K
drwxr-xr-x 2 root root 24 Apr 12 03:25 geo-replication
-rw-r--r-- 1 root root 42 Apr 12 03:25 glusterd.info
drwxr-xr-x 3 root root 37 Apr 12 03:42 nfs
drwxr-xr-x 2 root root 49 Apr 12 03:34 peers
drwxr-xr-x 3 root root 24 Apr 12 03:40 vols
./geo-replication:
total 4.0K
-rwxr-xr-x 1 root root 1.2K Apr 12 03:25 gsyncd.conf
./nfs:
total 4.0K
-rw-r--r-- 1 root root 1.3K Apr 12 03:42 nfs-server.vol
drwxr-xr-x 2 root root 20 Apr 12 03:42 run
./nfs/run:
total 64K
-rw-r--r-- 1 root root 6 Apr 12 03:42 nfs.pid
./peers:
total 4.0K
-rw-r--r-- 1 root root 74 Apr 12 03:34 ad0bb29e-f91b-4053-8ab0-9a90adbd095e
./vols:
total 4.0K
drwxr-xr-x 4 root root 4.0K Apr 12 03:42 gluster-vol
./vols/gluster-vol:
total 24K
drwxr-xr-x 2 root root 66 Apr 12 03:42 bricks
-rw-r--r-- 1 root root 16 Apr 12 03:42 cksum
-rw-r--r-- 1 root root 1.2K Apr 12 03:40 gluster-vol-fuse.vol
-rw-r--r-- 1 root root 995 Apr 12 03:40 gluster-vol.xxx.xxx.xxx.xxx.gluster_data.vol
-rw-r--r-- 1 root root 995 Apr 12 03:40 gluster-vol.xxx.xxx.xxx.xxx.gluster_data.vol
-rw-r--r-- 1 root root 174 Apr 12 03:42 info
-rw-r--r-- 1 root root 12 Apr 12 03:42 rbstate
drwxr-xr-x 2 root root 39 Apr 12 03:42 run
./vols/gluster-vol/bricks:
total 8.0K
-rw-r--r-- 1 root root 75 Apr 12 03:42 xxx.xxx.xxx.xxx:-gluster_data
-rw-r--r-- 1 root root 71 Apr 12 03:42 xxx.xxx.xxx.xxx:-gluster_data
./vols/gluster-vol/run:
total 64K
-rw-r--r-- 1 root root 6 Apr 12 03:42 xxx.xxx.xxx.xxx-gluster_data.pid
#/etc/glusterd/glusterd.infoの中身
cat glusterd.info
UUID=e0548668-aec6-49c0-96e7-46761d97015d
#/etc/glusterd/nfs//nfs-server.volの中身
/etc/glusterd/nfs# cat nfs-server.vol
#各clientの情報
volume gluster-vol-client-0
type protocol/client
option remote-host xxx.xxx.xxx.xxx
option remote-subvolume /gluster_data
option transport-type tcp
end-volume
volume gluster-vol-client-1
type protocol/client
option remote-host xxx.xxx.xxx.xxx
option remote-subvolume /gluster_data
option transport-type tcp
end-volume
#volumeの情報?
volume gluster-vol-dht
type cluster/distribute
subvolumes gluster-vol-client-0 gluster-vol-client-1
end-volume
#writeのパラメータ。バックグラウンドで遅延書き込みするってことみたい。
volume gluster-vol-write-behind
type performance/write-behind
subvolumes gluster-vol-dht
end-volume
#readのパラメータ。read-aheadってことは先読みか。
volume gluster-vol-read-ahead
type performance/read-ahead
subvolumes gluster-vol-write-behind
end-volume
#cacheのパラメータ。clientとserver間の接続のパラメータみたい。
volume gluster-vol-io-cache
type performance/io-cache
subvolumes gluster-vol-read-ahead
end-volume
#こっから下まだ調べてない
volume gluster-vol-quick-read
type performance/quick-read
subvolumes gluster-vol-io-cache
end-volume
volume gluster-vol
type debug/io-stats
option latency-measurement off
option count-fop-hits off
subvolumes gluster-vol-quick-read
end-volume
volume nfs-server
type nfs/server
option nfs.dynamic-volumes on
option rpc-auth.addr.gluster-vol.allow *
option nfs3.gluster-vol.volume-id dc957ba2-188a-48bf-8c80-e6899ed999c7
subvolumes gluster-vol
end-volume
#↑のパラメータは、http://www.gluster.org/community/documentation/index.php/Translators/performanceに結構書いてあるので後でまとめます。
結構チューニングするとこ多そうなので、調べなきゃ。
0 件のコメント:
コメントを投稿