使用 GlusterFS 在两台服务器之间创建共享的文件系

遇到的问题是,你想让两台服务器的某个目录下面的文件保持一致。看了一法方法,比如用 Rsync 同步目录,NFS 共享目录。这里再介绍一下用 GlusterFS 的方法。我在本地创建了几台 CentOS 7 系统的虚拟机。

GlusterFS

虚拟机

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后端存储

分布式存储系统GlusterFS初体验

GlusterFS全局统一命名空间

设计新Xlator扩展GlusterFS

GlusterFS Rebalance简析

CentOS 6.0-x86_64下体验Glusterfs 

GlusterFS 的详细介绍请点这里
GlusterFS 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3e11f5fe3a30419b90e3111d31f3c6cf.html