| 知乎專欄 | 多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者” |
http://www.gluster.org/
$ apt-cache search glusterfs
glusterfs-client - clustered file-system (client package)
glusterfs-dbg - GlusterFS debugging symbols
glusterfs-examples - example files for the glusterfs server and client
glusterfs-server - clustered file-system (server package)
libglusterfs-dev - GlusterFS development libraries and headers (development files)
libglusterfs0 - GlusterFS libraries and translator modules
$ sudo apt-get install glusterfs-server $ sudo cp /etc/glusterfs/glusterfsd.vol /etc/glusterfs/glusterfsd.vol.orig
$ cat /etc/glusterfs/glusterfsd.vol ### file: server-volume.vol.sample ##################################### ### GlusterFS Server Volume File ## ##################################### #### CONFIG FILE RULES: ### "#" is comment character. ### - Config file is case sensitive ### - Options within a volume block can be in any order. ### - Spaces or tabs are used as delimitter within a line. ### - Multiple values to options will be : delimitted. ### - Each option should end within a line. ### - Missing or commented fields will assume default values. ### - Blank/commented lines are allowed. ### - Sub-volumes should already be defined above before referring. ### Export volume "brick" with the contents of "/home/export" directory. volume brick type storage/posix # POSIX FS translator option directory /home/export # Export this directory end-volume ### Add network serving capability to above brick. volume server type protocol/server option transport-type tcp # option transport-type unix # option transport-type ib-sdp # option transport.socket.bind-address 192.168.1.10 # Default is to listen on all interfaces # option transport.socket.listen-port 6996 # Default is 6996 # option transport-type ib-verbs # option transport.ib-verbs.bind-address 192.168.1.10 # Default is to listen on all interfaces # option transport.ib-verbs.listen-port 6996 # Default is 6996 # option transport.ib-verbs.work-request-send-size 131072 # option transport.ib-verbs.work-request-send-count 64 # option transport.ib-verbs.work-request-recv-size 131072 # option transport.ib-verbs.work-request-recv-count 64 # option client-volume-filename /etc/glusterfs/glusterfs-client.vol subvolumes brick # NOTE: Access to any volume through protocol/server is denied by # default. You need to explicitly grant access through # "auth" # option. option auth.addr.brick.allow * # Allow access to "brick" volume end-volume
$ sudo mkdir /home/export $ sudo /etc/init.d/glusterfs-server start $ sudo /etc/init.d/glusterfs-server status * GlusterFS server is running.
$ sudo apt-get install glusterfs-client
$ sudo cp /etc/glusterfs/glusterfs.vol /etc/glusterfs/glusterfs.vol.orig
# cat /etc/glusterfs/glusterfs.vol
### file: client-volume.vol.sample
#####################################
### GlusterFS Client Volume File ##
#####################################
#### CONFIG FILE RULES:
### "#" is comment character.
### - Config file is case sensitive
### - Options within a volume block can be in any order.
### - Spaces or tabs are used as delimitter within a line.
### - Each option should end within a line.
### - Missing or commented fields will assume default values.
### - Blank/commented lines are allowed.
### - Sub-volumes should already be defined above before referring.
### Add client feature and attach to remote subvolume
volume client
type protocol/client
option transport-type tcp
# option transport-type unix
# option transport-type ib-sdp
option remote-host 192.168.80.1 # IP address of the remote brick
# option transport.socket.remote-port 6996 # default server port is 6996
# option transport-type ib-verbs
# option transport.ib-verbs.remote-port 6996 # default server port is 6996
# option transport.ib-verbs.work-request-send-size 1048576
# option transport.ib-verbs.work-request-send-count 16
# option transport.ib-verbs.work-request-recv-size 1048576
# option transport.ib-verbs.work-request-recv-count 16
# option transport-timeout 30 # seconds to wait for a reply
# from server for each request
option remote-subvolume brick # name of the remote volume
end-volume
### Add readahead feature
#volume readahead
# type performance/read-ahead
# option page-size 1MB # unit in bytes
# option page-count 2 # cache per file = (page-count x page-size)
# subvolumes client
#end-volume
### Add IO-Cache feature
#volume iocache
# type performance/io-cache
# option page-size 256KB
# option page-count 2
# subvolumes readahead
#end-volume
### Add writeback feature
#volume writeback
# type performance/write-behind
# option aggregate-size 1MB
# option window-size 2MB
# option flush-behind off
# subvolumes iocache
#end-volume
mkdir /mnt/glusterfs
glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs
or
mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs
fstab
/etc/glusterfs/glusterfs.vol /mnt/glusterfs glusterfs defaults 0 0
client
touch /mnt/glusterfs/test1 touch /mnt/glusterfs/test2
server
# ll /mnt/glusterfs total 0 -rw-r--r-- 1 root root 0 Jun 16 11:57 test1 -rw-r--r-- 1 root root 0 Jun 16 11:57 test2
http://www.gluster.com/community/documentation/index.php/GlusterFS_User_Guide
http://www.gluster.com/community/documentation/index.php/Storage_Server_Installation_and_Configuration
ref:http://www.howtoforge.com/high-availability-storage-cluster-with-glusterfs-on-ubuntu-p2
# /etc/init.d/glusterd start
gluster peer probe gluster1
gluster peer probe gluster2
# gluster peer status
Number of Peers: 3
Hostname: gluster1
Uuid: 195c5908-750f-4051-accc-697ab72fa3f2
State: Probe Sent to Peer (Connected)
Hostname: gluster2
Uuid: 5f9887a9-da15-443f-aab1-5d9952247507
State: Probe Sent to Peer (Connected)
# gluster peer detach gluster3
Detach successful
To create a new volume
gluster volume create test-volume gluster1:/exp3 gluster2:/exp4
一,準備兩台伺服器 serverA(Client+Server) 202.231.13.6(內網172.16.0.5)cpu:4核Intel(R) Xeon(R) CPU E31220 @ 3.10GHz 內存:4G 硬碟:500G serverB(Server) 211.14.14.14(內網172.16.0.3)cpu:4核Intel(R) Xeon(R) CPU E31220 @ 3.10GHz 內存:4G 硬碟:500G 二,安裝步驟 1,yum search gluster 2,yum install glusterfs-server 3,yum install fuse fuse-libs 4,cp /etc/glusterfs/glusterfsd.vol /etc/glusterfs/glusterfsd.vol.orig 5,mkdir /www/export 三,啟動 modprobe fuse /etc/init.d/glusterd start 四,創建盤 伺服器有兩台,要先綁定在一起(假設使用ServerA做主伺服器) ServerA# gluster peer probe 172.16.0.3 創建Volume,名為gluster-volume 分散式:ServerA# gluster volume create gluster-volume 172.16.0.5:/www/export 172.16.0.3:/www/export 鏡像式:ServerA# gluster volume create gluster-volume replica 2 172.16.0.5:/www/export 172.16.0.3:/www/export 條帶式:ServerA# gluster volume create gluster-volume stripe 2 172.16.0.5:/www/export 172.16.0.3:/www/export 啟動volume ServerA# gluster volume start gluster-volume 查看當前所有volume狀態 ServerA# gluster volume info 若要使用Cache,則使用 ServerA# gluster volume set gluster-volume performance.cache-size 1GB Gluster自動生成配置檔案,在/etc/glusterd/vols/gluster-volume/檔案夾中 在客戶端掛載gluster鏡像,客戶端直接使用Server端的配置檔案,不必創建自己的配置檔案了 Client# modprobe fuse Client# /etc/init/glusterd start Client# mkdir /mnt/local-volume Client# mount.glusterfs 172.16.0.5:/gluster-volume /mnt/local-volume Client# umount.glusterfs /mnt/local-volume 命令擴展: gluster volume stop gluster-volume gluster volume delete gluster-volume