文章
问答
冒泡
IPV6环境搭建glusterfs文件系统

环境准备

目前由于在做电信云项目,由于平台层承载是通过k8s 调度,其中文件系统用到gfs,所以目前先验证下gsf的ipv6的支持。

准备三台服务器,(本人使用的Centos 7.3)分配好ipv6的地址。

考虑到后期上生产环境内网的情况所以本人采用rpm包安装的方式。安装库的链接可以下载我提供的链接。

链接:https://pan.baidu.com/s/1Dour2mr29q8aAlvlLO99mg 密码:t3zq

安装步骤

由于目前是验证阶段,先未通过shell脚本去执行【在三台服务器上分别执行】。

1、安装rpm文件

yum localinstall *.rpm 

2、开启服务

systemctl enable glusterd
systemctl start glusterd

3、配置gfs支持 ipv6

volume management
    type mgmt/glusterd
    option working-directory /var/lib/glusterd
    option transport-type socket,rdma
    option transport.socket.keepalive-time 10
    option transport.socket.keepalive-interval 2
    option transport.socket.read-fail-log off
    option ping-timeout 0
    option event-threads 1
#   option lock-timer 180
   option transport.address-family inet6 用于支持 ipv6
#   option base-port 49152
end-volume

4、然后重启glusterd服务。

5、在三台节点上分别设置可信任的存储池,加入存储集群,在其中一台机器上执行如下步骤,本地机器无需再添加,只要加另外两台机器。

gluster peer probe host1ipv6address
gluster peer probe host2ipv6address

5、查看存储池状态

$ gluster peer status
gluster peer status
Number of Peers: 2

Hostname: fd88:5110:a250:12:0:86:511:13
Uuid: d2e04533-0f6a-4059-b961-52e7e5240c58
State: Peer in Cluster (Connected)


Hostname: FD88:5110:A250:12:0:97:0601:7
Uuid: 4141932b-3cbb-416f-8660-7ebd6f77b45b
State: Peer in Cluster (Connected)

6、创建共享磁盘【此次为测试,挂载位置具体需求可自行决定】

  • 在三台节点上分别创建磁盘目录:
mkdir -p /opt/volumes
  • 在任意节点执行如下命令,创建磁盘:
[root@epic1 opt]# gluster volume create epic replica 3 FD88:5110:A250:12:0:86:0511:12:/opt/volumes FD88:5110:A250:12:0:86:0511:13:/opt/volumes FD88:5110:A250:12:0:97:0601:7:/opt/volumes force 
volume create: epic: success: please start the volume to access data

注:其中 replica 3代表三台节点同时保存副本,如果不写则代表三台节点组成一个大硬盘的方式

  • 启动volume
[root@epic1 opt]# gluster volume start epic
volume start: epic: success

备注:

gluster volume stop epic(停止)
gluster volume delete epic(删除)
  • 查看volume状态
[root@epic1 opt]# gluster volume info
 
Volume Name: epic
Type: Replicate
Volume ID: 97f2a23d-3c88-4e6e-97f2-97795af03452
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: FD88:5110:A250:12:0:86:0511:12:/opt/volumes
Brick2: FD88:5110:A250:12:0:86:0511:13:/opt/volumes
Brick3: FD88:5110:A250:12:0:97:0601:7:/opt/volumes
Options Reconfigured:
transport.address-family: inet6
nfs.disable: on
performance.client-io-threads: off

7、完成server端配置,client端可以挂载并使用了

  • 在3台节点分别创建存储目录:
[root@epic1 opt]# mkdir -p /opt/data
  • 在3台节点分别挂载该存储目录到glusterfs集群刚刚创建好的volume上:
[root@epic1 opt]# mount -t glusterfs -o rw FD88:5110:A250:12:0:86:0511:12:epic /opt/data

注意:另外两节点改为对应IP

同时,将上面挂载命令写入到/etc/sysconf/init中,保证服务器重启后能够自动挂载:

[root@epic1 opt]# echo "mount -t glusterfs -o rw FD88:5110:A250:12:0:86:0511:12:epic /opt/data" >> /etc/sysconfig/init
  • 通过df命令查看挂载结果:
[root@epic1 opt]# df 
Filesystem             1K-blocks  Used Available Use% Mounted on
/dev/mapper/bel-root        801485304 5583044 755165904  1% /
devtmpfs              197672832    0 197672832  0% /dev
tmpfs                197683872    0 197683872  0% /dev/shm
tmpfs                197683872  9404 197674468  1% /run
tmpfs                197683872    0 197683872  0% /sys/fs/cgroup
/dev/sda2               487634 137149  320789 30% /boot
/dev/sda1               511720  9712  502008  2% /boot/efi
tmpfs                39536776    0 39536776  0% /run/user/0
FD88:5110:A250:12:0:86:0511:12:epic 801485184 5582976 755165824  1% /opt/data

现在在任意client端对/opt/data目录进行文件的操作可以同时在所有client端起作用了。

8、验证

在任何一台服务器上/opt/data目录下写入文件,如:

[root@epic1 /opt/data]# echo "test gluster" > test
[root@epic1 /opt/data]# cat test
test gluster

然后在其他节点的/opt/data目录下查看是否有该文件,及内容是否正确:

[root@epic2 /opt/data]# ll
total 2
-rw-r----- 1 root root 13 May 5 09:08 test
[root@epic18 /opt/data]# cat test
test gluster

碰到的问题:

1、如果出现挂载目录/opt/data 只读的情况,要检查iptables设置,或者手动放行如下端口:

iptables -I INPUT -p tcp --dport 49152 -j ACCEPT
iptables -I INPUT -p tcp --dport 24007 -j ACCEPT


2、机器重启之后会报/opt/data目录挂载不了情况,

执行fusermount-glusterfs -u /opt/data之后 ,就可以挂上了;

df命令查看后无opt/data时重新挂载

Linux
Glusterfs

关于作者

Kirago
个人站点 https://kiragoo.github.io/
获得点赞
文章被阅读