安装前准备
至少拥有三个节点
-
在名为“ server1”,“ server2”和“ server3”的3个节点上的Fedora 30(或更高版本)
节点hostname修改办法 -
网络连接正常每个虚拟机上至少有两个虚拟磁盘,一个用于操作系统安装,一个用于服务GlusterFS存储(sdb)。这将模拟一个实际的部署,您需要在其中将GlusterFS存储与OS安装分开。
-
在每台服务器上设置NTP,以使文件系统顶部的许多应用程序正常运行。 这是一个重要的要求
注意:
GlusterFS将其动态生成的配置文件存储在/var/lib/glusterd。如果在任何时间点GlusterFS都无法写入这些文件(例如,当备份文件系统已满时),则至少会导致系统出现不稳定的行为;或更糟糕的是,使系统完全脱机。建议为目录创建单独的分区/var/log以减少这种情况的发生。
格式化磁盘
在所有节点“ server {1,2,3}”上执行此步骤
注意:我们将对后端模块使用XFS文件系统。但是Gluster旨在在支持扩展属性的任何文件系统上运行。
以下示例假定该模块将驻留在/ dev / sdb1上
# 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
安装GlusterFS
- 安装软件
yum install glusterfs-server
- 启动GlusterFS管理守护程序:
#service glusterd start
# service glusterd status
glusterd.service - LSB: glusterfs server
Loaded: loaded (/etc/rc.d/init.d/glusterd)
Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/glusterd.service
├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
└ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...
配置防火墙
节点上的gluster进程需要能够相互通信。为了简化此设置,请在每个节点上配置防火墙以接受来自另一个节点的所有流量。
#iptables -I INPUT -p all -s <ip-address> -j ACCEPT
其中ip-address是另一个节点的地址。
配置可信池
来自“ server1”
# gluster peer probe server2
# gluster peer probe server3
注意:使用主机名时,需要从另一台服务器探测第一 台服务器以设置其主机名。
来自“ server2”
# gluster peer probe server1
注意:建立此池后,只有受信任的成员才能将新服务器探查到该池中。新服务器无法探测池,必须从池中对其进行探测。
检查server1上的对等状态
# gluster peer status
应该看到类似这样的内容(UUID会有所不同)
Number of Peers: 2
Hostname: server2
Uuid: f0e7b138-4874-4bc0-ab91-54f20c7068b4
State: Peer in Cluster (Connected)
Hostname: server3
Uuid: f0e7b138-4532-4bc0-ab91-54f20c701241
State: Peer in Cluster (Connected)
注意:
如遇到此错误:peer probe: failed: Probe returned with Transport endpoint is not connected
证明三台虚拟机之间解析异常,需要在/etc/下的文件中添加如下内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.131.6 server1
192.168.131.7 server2
192.168.131.8 server3
将此配置添加上重启即可。另外修改主机名称也可以在此操作。
设置GlusterFS卷
在所有服务器上执行:
# mkdir -p /data/brick1/gv0
从任何单个服务器:
# gluster volume create gv0 replica 3 server1:/data/brick1/gv0 server2:/data/brick1/gv0 server3:/data/brick1/gv0 volume create: gv0: success: please start the volume to access data
# gluster volume start gv0
volume start: gv0: success
确认该卷显示“已开始”:
# gluster volume info
您应该看到类似以下内容(卷ID将有所不同):
Volume Name: gv0
Type: Replicate
Volume ID: f25cc3d8-631f-41bd-96e1-3e22a4c6f71f
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: server1:/data/brick1/gv0
Brick2: server2:/data/brick1/gv0
Brick3: server3:/data/brick1/gv0
Options Reconfigured:
transport.address-family: inet
注意
如果该卷未显示“已启动”,/var/log/glusterfs/glusterd.log则应检查下面的文件 以便调试和诊断情况。可以在一台或所有配置的服务器上查看这些日志。
测试GlusterFS卷
对于此步骤,我们将使用其中一台服务器来装载该卷。通常,您可以从称为“客户端”的外部计算机上执行此操作。由于使用此方法需要在客户端计算机上安装其他软件包,因此我们将使用其中一台服务器作为首先进行测试的简单位置,就好像它是该“客户端”一样。
# mount -t glusterfs server1:/gv0 /mnt
# for i in
seq -w 1 100; do cp -rp /var/log/messages /mnt/copy-test-$i; done
首先,检查客户端安装点:
# ls -lA /mnt/copy* | wc -l
应该看到返回了100个文件。接下来,检查每个服务器上的GlusterFS块安装点:
# ls -lA /data/brick1/gv0/copy*
使用此方法,您应该在每个服务器上看到100个文件。如果没有复制,则在仅分发的卷(此处未详细介绍)中,您应该在每个卷上看到大约33个文件。
离线安装
rpm 包准备工作
- attr-2.4.46-13.el7.x86_64.rpm
- glusterfs-cli-7.9-1.el7.x86_64.rpm
- glusterfs-libs-7.9-1.el7.x86_64.rpm
- psmisc-22.20-17.el7.x86_64.rpm
- glusterfs-7.9-1.el7.x86_64.rpm
- glusterfs-client-xlators-7.9-1.el7.x86_64.rpm
- glusterfs-server-7.9-1.el7.x86_64.rpm
- rpcbind-0.2.0-49.el7.x86_64.rpm
- glusterfs-api-7.9-1.el7.x86_64.rpm
- glusterfs-fuse-7.9-1.el7.x86_64.rpm
- libtirpc-0.2.4-0.16.el7.x86_64.rpm
- userspace-rcu-0.10.0-3.el7.x86_64.rpm
将安装包导入到离线机器,用rpm -i *.rpm 进行包的安装
注意
安装包各个版本直接需匹配才行,此包目录是我机器上实践可行安装。
附赠:yum常用命令
一、安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1
二、更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1
三、查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包
四、删除程序
yum remove | erase package1 删除程序包package1
yum groupremove group1 删除程序组group1
yum deplist package1 查看程序package1依赖情况
五、清除缓存
yum clean packages 清除缓存目录下的软件包
yum clean headers 清除缓存目录下的 headers
yum clean oldheaders 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers
六、源操作
yum repolist/repolist all 列出所有源
yum -enablerepo=fedora-source install package1 从fedora-source源中安装包package1
七、Yum Shell
yum shll 进去yum的shell环境