使用GlusterFs在兩臺服務器間搭建共享目錄

生產中兩臺web目錄須要保持目錄一致,否則總是會讀取不到圖片文件。想過用sersync,想過用NFS,最後仍是決定用GlusterFs。html

兩臺服務器IP:linux

centos6.7    192.168.0.101    web1web

centos6.7    192.168.0.103    web3vim


第一步:配置環境
centos

GlusterFs 3.6的版本,已經整合到Centos了直接yum安裝就好
bash

yum install centos-release-gluster36yum --enablerepo=centos-gluster36-test install glusterfs-server
yum install glusterfs-server  #這裏會提示已經安裝過了,省略這一步也能夠。
/etc/init.d/glusterd startvim /etc/hosts
192.168.0.101    web1192.168.0.103    web3

上面安裝環境,添加hosts,須要兩臺服務器都加好。服務器


第二步:互聯兩臺服務器
web1上添加web3app

gluster peer probe web3
[root@WEB03 ~]#gluster peer status  
#查看狀態Number of Peers: 1Hostname: web1
Uuid: f257de61-2932-48c2-9837-1a5fb678d6e4
State: Peer in Cluster (Connected)     web3上添加web1
gluster peer probe web1  
[root@WEB01 ~]# gluster peer status
Number of Peers: 1
Hostname: web3
Uuid: bf2ce986-a5b2-454a-8a0d-8149c6e7b4c4
State: Peer in Cluster (Connected)


第三步:建立共享卷socket

#建立共享卷,只須要在一臺服務器上執行就能夠了。
tcp

gluster volume create volume1 replica 2 transport tcp web1:/gluster-storage web3:/gluster-storage force

#這條語句意思是建立名爲volume1的卷,repilica 2 複製2份,到web1的/gluster-storage,web3de /gluster-storage分區傳輸方式爲tcp force必須加,否則會報錯。

#啓動卷

gluster volume start volume1


#參考卷信息

[root@WEB01 ~]# gluster volume info
Volume Name: volume1Type: ReplicateVolume ID: a8a3db8a-63c0-45ab-b9b1-ae75b9e36b3eStatus: StartedNumber of Bricks: 1 x 2 = 2Transport-type: tcpBricks:Brick1: web1:/gluster-storageBrick2: web3:/gluster-storage

第四步掛載共享存儲

[root@WEB01 ~]# cat /etc/fstab #
# /etc/fstab# Created by anaconda on Tue Jul 19 21:49:54 2016#
# Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
/dev/mapper/vg_c41wrm21web01-lv_root /        ext4    defaults     1 1
UUID=46025776-75ec-43c6-b1c8-9ae904d24c5c /boot    ext4    defaults     1 2
/dev/mapper/vg_c41wrm21web01-lv_swap      swap    swap    defaults     0 0
web3:/volume1      /var/www/html  glusterfs      defaults,_netdev    0 0
tmpfs          /dev/shm         tmpfs   defaults        0 0
devpts         /dev/pts           devpts  gid=5,mode=620        0 0
sysfs            /sys         sysfs      defaults         0 0
proc           /proc         proc    defaults          0 0
[root@WEB03 ~]# cat /etc/fstab 
## /etc/fstab
# Created by anaconda on Tue Jul 19 15:45:59 2016
## Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
/dev/mapper/vg_c41wrm21web03-lv_root /   ext4    defaults        1 1
UUID=17e60fe4-79ff-461e-8204-5330d0e77f50 /boot     ext4    defaults   1 2
/dev/mapper/vg_c41wrm21web03-lv_swap swap       swap    defaults   0 0
web1:/volume1          /var/www/html   glusterfs   defaults,_netdev 0 0
tmpfs             /dev/shm       tmpfs   defaults      0 0
devpts              /dev/pts       devpts   gid=5,mode=620  0 0
sysfs                  /sys   sysfs       defaults        0 0
proc        /proc      proc                defaults       0 0

#若是/var/www/html目錄下有文件的話須要備份出來,否則下一步掛載將會丟失數據。

mount /var/www/html


最後一步:測試

兩臺機器隨意寫入,或刪除文件,看看是否另一臺機器也跟着變更。


Ps:

[root@WEB01 ~] gluster peer status
Connection failed. Please check if gluster daemon is operational.

通常狀況下是glusterd服務沒有啓動,若是啓動了仍是顯示這個錯誤,那麼,你須要停掉服務,再刪掉glusterd.socket文件,再啓動。最好再確認下selinux爲disabled

[root@WEB01 ~] gluster peer probe web1
peer probe: failed: Probe returned with unknown errno 107

若是碰到這個狀況,須要關閉防火牆,或者開放24007端口

iptables -I INPUT -p tcp --dport 24007 -j ACCEPT

相關文章
相關標籤/搜索