我想在我的计算机上的一些虚拟盒中尝试glusterfs地理复制,以便以后在多个站点上使用。
我在ubuntu 32位服务器上安装了glusterfs 3.6,如下所示:
add-apt-repository -y ppa:gluster/glusterfs-3.6
apt-get update -qq
apt-get install glusterfs-server -y
在每个虚拟盒上的/etc/hosts
中都有这样的条目,这样我就可以使用主机名:
192.168.1.1 ivymaster.com
192.168.1.2 ivyslave2.com
192.168.1.3 ivyslave1.com
首先,我在master上创建并启动了一个卷(force
在rootfs上创建):
gluster volume create master ivymaster.com:/var/glustermaster/ force
gluster volume start master
工作良好。我用ssh-copy-id
设置了无密码root登录,并手动登录一次,以检查设置是否正确,主机是否存储在known_hosts
中。
我无法将同步设置到地理复制术语-理解URI中描述的目录中。由于URI问题,创建地理复制失败。
gluster volume geo-replication master ivyslave2.com:/var/slave2 start
Staging failed on localhost. Please check the log file for more details.
日志文件包含Invalid slave name
、Unable to store slave volume name
、Unable to fetch slave or confpath details
等条目。
当我在ivyslave2.com
上创建一个卷并使用该卷创建地理复制时,这是有效的:
gluster volume geo-replication master ivyslave2.com::slave2 create push-pem force
Creating geo-replication session between master & ivyslave2.com::slave2 has been successful
不幸的是,gluster volume geo-replication master ivyslave2.com::slave2 status
表示复制的状态有问题。
MASTER NODE MASTER VOL MASTER BRICK SLAVE STATUS CHECKPOINT STATUS CRAWL STATUS
--------------------------------------------------------------------------------------------------------------------------------
ivyVirtMaster master /var/glusterfs_master_nv ivyslave2.com::slave2 faulty N/A N/A
执行此命令后,master上的日志文件包含Using passed config template(/var/lib/glusterd/geo-replication/master_ivyslave2.com_slave2/gsyncd.conf).
、Unable to read gsyncd status file
和Unable to read the statusfile for /var/glusterfs_master_nv brick for master(master), ivyslave2.com::slave2(slave) session
。
从机上的日志文件包含Received status volume req for volume slave2
、tune2fs exited with non-zero exit status
、failed to get inode size
。
这是从机上的卷有故障吗?如何在没有卷的情况下设置地理复制?地理复制配置是否有问题?
从gluster 3.5开始,您不能将文件夹用作地理复制目标。从3.5开始,您必须从一个胶柱体积复制到另一个胶筒体积。
至于您在胶柱卷到胶柱卷的地理复制中遇到的问题,您可能会也可能没有发出其他一些命令。
在"创建"之前,您需要
- 确保主服务器和从服务器之间存在无密码ssh
- 您必须通过在其中一个主设备上运行此命令来生成gluster用于主设备和从设备之间通信的密钥:
gluster system:: execute gsec_create
接下来,您将像以前一样运行create,但没有force选项。如果你的创建在没有强制的情况下失败了,那么就有问题了,使用强制只会掩盖这个问题,并产生一个坏的设置。
成功完成"创建推送pem"(无需强制)后,您需要启动复制过程:
gluster volume geo-replication master ivyslave2.com::slave2 start