32123 发表于 2016-8-9 10:18:35

使用GlusterFs在两台服务器间搭建共享目录

生产中两台web目录需要保持目录一致,不然老是会读取不到图片文件。想过用sersync,想过用NFS,最后还是决定用GlusterFs。
两台服务器IP:
centos6.7    192.168.0.101    web1
centos6.7    192.168.0.103    web3

第一步:配置环境

GlusterFs 3.6的版本,已经整合到Centos了直接yum安装就好


1
2
3
4
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上添加web3

1
gluster peer probe web3





1
2
3
4
5
6
7
8
9
10
#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
# gluster peer status
Number of Peers: 1
Hostname: web3
Uuid: bf2ce986-a5b2-454a-8a0d-8149c6e7b4c4
State: Peer in Cluster (Connected)





第三步:创建共享卷
#创建共享卷,只需要在一台服务器上执行就可以了。


1
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必须加,不然会报错。
#启动卷


1
gluster volume start volume1





#参考卷信息


1
2
# 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




第四步挂载共享存储

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 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/htmlglusterfs      defaults,_netdev    0 0
tmpfs          /dev/shm         tmpfs   defaults      0 0
devpts         /dev/pts         devptsgid=5,mode=620      0 0
sysfs            /sys         sysfs      defaults         0 0
proc         /proc         proc    defaults          0 0
# 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=6200 0
sysfs                  /sys   sysfs       defaults      0 0
proc      /proc      proc                defaults       0 0




#如果/var/www/html目录下有文件的话需要备份出来,不然下一步挂载将会丢失数据。


1
mount /var/www/html





最后一步:测试
两台机器随意写入,或删除文件,看看是否另外一台机器也跟着变动。

Ps:

1
2
gluster peer status
Connection failed. Please check if gluster daemon is operational.




一般情况下是glusterd服务没有启动,如果启动了还是显示这个错误,那么,你需要停掉服务,再删掉glusterd.socket文件,再启动。最好再确认下selinux为disabled

1
2
gluster peer probe web1
peer probe: failed: Probe returned with unknown errno 107




如果碰到这个情况,需要关闭防火墙,或者开放24007端口
iptables -I INPUT -p tcp --dport 24007 -j ACCEPT


页: [1]
查看完整版本: 使用GlusterFs在两台服务器间搭建共享目录