License: Attribution-NonCommercial-ShareAlike 4.0 International
本文出自 Suzf Blog。 如未注明,均为 SUZF.NET 原创。
Step 1 – Have at least two nodes
在这两个节点上系统为 Fedora 22 (or later)这里以 Ubuntu 14.04.4 LTS 为例
主机名称为:
-- 172.16.9.10 eva.suzf.net eva
-- 172.16.9.20 cali.suzf.net cali
内部网络互连 至少俩块硬盘,一个安装 OS,一个用来做 GlusterFS 的存储(sdb)。你会想从操作系统安装单独的GlusterFS存储,这将模拟真实的部署。 注意: GlusterFS 在 /var/lib/glusterd 下存储它的动态生成的配置文件。如果在任何时候GlusterFS无法写入这些文件(例如,当备份文件已满),它会给您的系统带来异常的行为; 或者更糟,完全把你的系统脱机。明智的做法是对目录创建单独的分区,例如 /var/log 以确保不会发生这种情况。
Step 2 - Format and mount the bricks [on both nodes]:
注意:下面的例子是假设 brick 在 /dev/sdb1 上。
sudo -i apt-get install xfsprogs mkfs.xfs -i size=512 /dev/sdb1 mkdir -p /data/brick1 echo '/dev/sdb1 /data/brick1 xfs defaults 1 2' >> /etc/fstab mount -a && mount
你将看到 sdb1 挂载到 /data/brick1 上 Step 3 - Installing GlusterFS [on both servers] 安装软件
[Ubuntu] sudo apt-get install glusterfs-server -y [CentOS] yum install glusterfs-server -y
启动 GlusterFS 管理守护进程
sudo service glusterfs-server start sudo service glusterfs-server status glusterfs-server start/running, process 3012
Step 4 - Configure the trusted pool 在node1/eva上:
gluster peer probe cali.suzf.net
注意:当使用主机名的时候,第一服务器需要从一个其他服务器探测以设置其主机名。 在node2/cali上:
gluster peer probe eva.suzf.net
Note: Once this pool has been established, only trusted members may probe new servers into the pool. A new server cannot probe the pool, it must be probed from the pool. Step 5 - Set up a GlusterFS volume 在所有节点:
mkdir /data/brick1/gv0
在任意一个节点:
gluster volume create gv0 replica 2 eva.suzf.net:/data/brick1/gv0 cali.suzf.net:/data/brick1/gv0 gluster volume start gv0
确定 volume 显示 "Started":
sudo gluster volume info Volume Name: gv0 Type: Replicate Volume ID: 589f9da3-a46e-47b6-95f3-e8c22134c3b8 Status: Started Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: eva.suzf.net:/data/brick1/gv0 Brick2: cali.suzf.net:/data/brick1/gv0
Note: If the volume is not started, clues as to what went wrong will be in log files under /var/log/glusterfs on one or both of the servers - usually in etc-glusterfs-glusterd.vol.log Step 6 - Testing the GlusterFS volume 接下来,我们将使用其中的一台机器挂载 volume.通常情况下,你会有其他的外部机器做为客户端。由于使用这种方法将需要额外的软件包安装在客户端计算机上,我们将使用其中一台服务器作为一个简单的地方先行先试,就好像它是 client。
mount -t glusterfs eva.suzf.net:/gv0 /mnt for i in `seq -w 1 100`; do cp -rp /var/log/syslog /mnt/copy-test-$i; done
首先, 检查挂载点:
ls -lA /mnt | wc -l
你将看到100个文件返回。 接下来, 在每个 GlusterFS 节点查看挂载点:
ls -lA /data/brick1/gv0 ^_^[17:11:34][zfsu@eva ~]$ls -lA /data/brick1/gv0 | tail -6 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-096 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-097 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-098 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-099 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-100 drw------- 92 root root 4096 Sep 6 17:03 .glusterfs ^_^[17:24:27][zfsu@cali ~]$ls -lA /data/brick1/gv0 | tail -6 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-096 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-097 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-098 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-099 -rw-r----- 2 syslog adm 71298 Sep 6 17:03 copy-test-100 drw------- 92 root root 4096 Sep 6 17:03 .glusterfs
使用我们这里列出的方法,你应该在每个服务器上看到100个文件。 如果没有复制,只在一个 volume分发,你应该在没给个服务器上看到约50文件。(这里就不详述了) 你应该熟悉这些 术语.