gluster安装完全指南

时间:2024-03-15 13:19:27

写作不易,转载请注明出处:
http://blog.csdn.net/wbin233/article/details/81156068 ,谢谢。

环境

  • 机器系统版本:debian9.5 【more /etc/debian_version
  • gluster版本:glusterfs 4.1.1【glusterfs --version
  • VMware® Workstation 14 Pro: 14.1.1 build-7528167
  • 服务端:fk1 192.168.48.160
  • 服务端:fk2 192.168.48.161
  • 客户端:fk3 192.168.48.162
  • 网关:192.168.48.2
  • 掩码:255.255.255.0

查看ip

ip addr show

修改ip:

  1. vi /etc/network/interface

    auto eth0 #开机自动连接网络
    iface lo inet loopback
    allow-hotplug eth0
    iface eth0 inet static #static表示使用固定ip,dhcp表述使用动态ip
    address 192.168.48.160 #设置ip地址
    netmask 255.255.255.0 #设置子网掩码
    gateway 192.168.48.2 #设置网关
    broadcase 192.168.48.255#设置广播地址(也可以不写)

  2. service networking restart

  3. ifup eth0 (具体看实际名)

修改host名

vi /etc/hostname

添加host与ip的映射

对所有机器:
vi /etc/hosts

127.0.0.1 localhost
127.0.1.1 fk1
192.168.48.160 fk1
192.168.48.161 fk2
192.168.48.162 fk3

配置允许ssh连接

默认不允许root用户登录,因此作以下修改:
vi /etc/ssh/sshd_config

PermitRootLogin prohibit-password
修改为
PermitRootLogin yes

额外添加新磁盘

对两台服务端:
-》虚拟机设置 -》硬件 -》硬盘 -》添加 即可。

安装mkfs.xfs

对两台服务端:
对硬盘进行格式化:
mkfs.xfs /dev/sdb

系统显示:
mkfs.xfs error:
command not found.

可能是系统不完全安装
运行 which mkfs 查看mkfs的命令目录

which mkfs
/sbin/mkfs

查看目录
ls -la /sbin/mkfs*
/sbin/mkfs /sbin/mkfs.bfs /sbin/mkfs.cramfs /sbin/mkfs.ext2 /sbin/mkfs.ext3 /sbin/mkfs.ext4 /sbin/mkfs.minix

发现没有 mkfs.xfs
需要安装 xfsprogs rpm包

apt-get -y install xfsprogs
就ok了

挂载磁盘

对两台服务端:
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

设置GlusterFS服务器

对两台服务端:
1. 添加gluster.org Debian资源库的公钥
wget -O -https://download.gluster.org/pub/gluster/glusterfs/4.1/rsa.pub | apt-key add -
2. 添加GlusterFS库
echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/4.1/LATEST/Debian/jessie/amd64/apt jessie main > /etc/apt/sources.list.d/gluster.list
或者
echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/4.1/LATEST/Debian/stretch/amd64/apt stretch main > /etc/apt/sources.list.d/gluster.list
又或者
echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/4.1/LATEST/Debian/buster/amd64/apt buster main > /etc/apt/sources.list.d/gluster.list
3. 更新存储库列表
apt-get update
可能显示
正在读取软件包列表… 完成
E: 无法找到获取软件包的渠道 /usr/lib/apt/methods/https 所需的驱动程序。
N: 请检查是否安装了 apt-transport-https 软件包
则根据提示安装:
apt-get install apt-transport-https
4. 安装gluster服务端
apt-get -y install glusterfs-server
5. 启动glusterd服务
service glusterd start/etc/init.d/glusterd start
service glusterd status
查看版本:glusterfsd --version
6. 配置防火墙
iptables -I INPUT -p all -s <ip-address> -j ACCEPT
ip-address填其他几部机器ip

配置trusted pool

选择某一台服务端主机,比如fk1,执行
gluster peer probe fk2

通过执行以下命令,可以看到池里除了自己以外的主机:
gluster peer status

创建卷

两台服务端,创建卷的挂载点
mkdir -p /data/brick1/gv0

创建卷
gluster volume create gv0 replica 2 fk1:/data/brick1/gv0 fk2:/data/brick1/gv0

打开卷:
gluster volume start gv0

查看卷状态
gluster volume info
gluster volume status
gluster volume list

如果创建卷过程中失败了,查看日志
more /var/log/glusterfs/glusterd.log

默认情况下,所有客户端都可以访问到卷,也可以另外配置访问权限:
gluster volume set gv0 auth.allow <ip-address>
其中 ip-address 可以使用通配符*,以及多个ip可以用逗号隔开。

简单的客户端测试

取其中任一服务端如fk1当客户端使用,将客户端挂载在/mnt目录,然后在该目录下生成多个文件。
mount -t glusterfs fk1:/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
在任意服务端主机检查卷挂载点:
ls -lA /data/brick1/gv0/copy* 也返回100(由于只有两台主机且有副本)
测试成功。

在另一台主机上创建gluster客户端

  1. 添加gluster.org Debian资源库的公钥
    wget -O -https://download.gluster.org/pub/gluster/glusterfs/4.1/rsa.pub | apt-key add -
  2. 添加GlusterFS库
    echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/4.1/LATEST/Debian/jessie/amd64/apt jessie main > /etc/apt/sources.list.d/gluster.list
    或者
    echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/4.1/LATEST/Debian/stretch/amd64/apt stretch main > /etc/apt/sources.list.d/gluster.list
    又或者
    echo deb [arch=amd64] https://download.gluster.org/pub/gluster/glusterfs/4.1/LATEST/Debian/buster/amd64/apt buster main > /etc/apt/sources.list.d/gluster.list
  3. 更新存储库列表
    apt-get update
    可能显示
    正在读取软件包列表… 完成
    E: 无法找到获取软件包的渠道 /usr/lib/apt/methods/https 所需的驱动程序。
    N: 请检查是否安装了 apt-transport-https 软件包
    则根据提示安装:
    apt-get install apt-transport-https

  4. 安装gluster客户端
    apt-get -y install glusterfs-client

  5. 创建挂载目录
    mkdir -pv /mnt/glusterfs

  6. 挂载到/mnt/glusterfs
    mount.glusterfs fk3:/gv0 /mnt/glusterfs
    通过 mountdf -h 查看挂载情况
    然后就可以进行操作了。

测试glusterfs

  1. 在客户端fk3挂载点上建几个文件
    touch /mnt/glusterfs/test1
    touch /mnt/glusterfs/test2
  2. 在任意服务端如fk2的挂载点上查看
    ls /data/brick1/gv0
    test1 test2
  3. 让其中一台服务端如fk1掉线,然后在客户端fk3进行一些操作
    服务端fk1:
    shutdown now
    客户端fk3:
    touch /mnt/glusterfs/test3
    rm -f /mnt/glusterfs/test2
  4. 在服务端fk2能看到文件实时更改了
    ls /data/brick1/gv0
    test1 test3
  5. 重启服务端fk1,能看到fk1上文件自动同步更改。
    ls /data/brick1/gv0
    test1 test3
  6. 以上,测试成功~

gluster安装完全指南