生產中兩臺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