共计 2464 个字符,预计需要花费 7 分钟才能阅读完成。
遇到的问题是,你想让两台服务器的某个目录下面的文件保持一致。看了一法方法,比如用 Rsync 同步目录,NFS 共享目录。这里再介绍一下用 GlusterFS 的方法。我在本地创建了几台 CentOS 7 系统的虚拟机。
虚拟机
- balancer:192.168.33.60
- web1:192.168.33.61
- web2:192.168.33.62
- database:192.168.33.63
第一步:编辑 hosts 文件
连接到 web1 与 web2,编辑 hosts 文件:
vi /etc/hosts
为 web1 与 web2 的 hosts 文件都添加:
192.168.33.61 web1
192.168.33.62 web2
这样 web1 知道 web2 是谁,web2 也知道 web1 是谁。
第二步:安装 GlusterFS
在 web1 与 web2 上都安装 GulsterFS
curl download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo -o /etc/yum.repos.d/glusterfs-epel.repo
yum -y install glusterfs-server
systemctl start glusterd
systemctl enable glusterd
第三步:互联两台服务器
在 web1 上执行:
gluster peer probe web2
返回:
peer probe: success.
在 web2 上执行:
gluster peer probe web1
返回:
peer probe: success.
第四步:创建共享卷
在 web1 与 web2 上创建存储 GlusterFS 管理的文件的目录。
mkdir /gluster-storage
在 web1 上,创建可复制的 GlusterFS 卷 volume1,执行:
gluster volume create volume1 replica 2 transport tcp web1:/gluster-storage web2:/gluster-storage force
返回:
volume create: volume1: success: please start the volume to access data
在 web1 上,启动创建的 GlusterFS 卷:
gluster volume start volume1
返回:
volume start: volume1: success
查看创建与启动的 GlusterFS 卷,执行:
gluster volume info
返回:
Volume Name: volume1
Type: Replicate
Volume ID: 53ac1214-5dfd-4c6f-82f5-31b16b052cc9
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: web1:/gluster-storage
Brick2: web2:/gluster-storage
现在我们有了运行的 GlusterFS 卷,下面可以挂载它,这样我们就可以使用它作为复制的文件系统了。
第五步:挂载共享存储
先挂载到 web1 上,编辑 fstab:
vi /etc/fstab
在这个文件的底部添加下面这行代码,这里使用 /storage-pool 作为挂载点,你可以把它替换成自己想要的地方。
web1:/volume1 /storage-pool glusterfs defaults,_netdev 0 0
保存并退出,在 web1 上,我们可以把 GlusterFS 卷挂载到 /storage_pool 文件系统上:
mkdir /storage-pool
mount /storage-pool
返回:
WARNING: getfattr not found, certain checks will be skipped..(注:不太清楚具体的意思,待查 ...)
这样会在 web1 上挂载一个共享的卷,/storage-pool,执行 df -h,你会看到挂载的文件系统。在 web2 上做的事跟这个差不多。
在 web2 上,编辑 fstab:
vi /etc/fstab
添加下面这行在文件底部,使用 /storage-pool 作为挂载点:
web2:/volume1 /storage-pool glusterfs defaults,_netdev 0 0
在 web2 上,把 GlusterFS 卷挂载到 /storage_pool 上:
mkdir /storage-pool
mount /storage-pool
第六步:测试
在 web1 与 web2 上测试,比如你可以在 web1 上的 /storage-pool 这个目录的下面创建一个文件,然后到 web2 上的 /storage-pool 上看一下,然后在创建一个新的文件,到 web1 的 /storage-pool 里面再看一下。
使用 GlusterFS 作为 KVM 后端存储 http://www.linuxidc.com/Linux/2013-08/89108.htm
分布式存储系统 GlusterFS 初体验 http://www.linuxidc.com/Linux/2013-08/89107.htm
GlusterFS 全局统一命名空间 http://www.linuxidc.com/Linux/2013-08/89106.htm
设计新 Xlator 扩展 GlusterFS http://www.linuxidc.com/Linux/2013-08/89105.htm
GlusterFS Rebalance 简析 http://www.linuxidc.com/Linux/2013-08/89104.htm
CentOS 6.0-x86_64 下体验 Glusterfs http://www.linuxidc.com/Linux/2015-01/111211.htm
GlusterFS 的详细介绍 :请点这里
GlusterFS 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-09/123057.htm