GlusterFS 安装
2019-03-23 本文已影响0人
四冶读史
[toc]
概述
以 2 个节点来测试安装 GlusterFS 集群。
环境
准备好 2 台 CentOS7,内存 2GB,CPU2 核,各 1 块 20GB 的磁盘。
配置好 ansible hosts。
每台机器关闭 SELinux Iptables。
每台机器配置好 /etc/hosts 文件解析,如下:
10.11.4.18 gfs-node-1
10.11.4.20 gfs-node-2
如果有自己的 DNS,则在 DNS 上配置。
安装
获取Repos源
$ ansible gfs -m shell -a "yum install centos-release-gluster -y"
格式化并挂载bricks
$ ansible gfs -m shell -a "fdisk -l"
$ ansible gfs -m shell -a "mkfs.xfs -f -i size=512 /dev/vdb"
$ ansible gfs -m shell -a "mkdir -p /bricks/brick-1"
$ ansible gfs -m shell -a 'echo "/dev/vdb /bricks/brick-1 xfs defaults 1 2" >> /etc/fstab'
$ ansible gfs -m shell -a "mount -a && mount"
安装GlusterFS
$ ansible gfs -m shell -a "yum install glusterfs-server -y"
$ ansible gfs -m shell -a "systemctl enable glusterd"
$ ansible gfs -m shell -a "systemctl start glusterd"
配置
加入信任存储池配置
加入除自身外集群其它节点。
gfs-node-1。
$ gluster peer probe gfs-node-2
gfs-node-2。
$ gluster peer probe gfs-node-1
创建GlusterFS volume
volume 类型及其优缺点:
- Distributed,分布式卷,文件通过 hash 算法随机分布到由 bricks 组成的卷上。
- Replicated 复制卷,类似 raid1,replica 数必须等于 volume 中 brick 所包含存储服务器数,可用性高。
- Striped,带条带的卷,类似 raid0,stripe 数必须等于 volume 中 brick 所包含的存储服务器数,文件被分割数据模块,以 RoundRobin 的方式存储在 bricks,并发颗粒度是数据块,大文件性能好。
- Distributed Striped 分布式的条带卷,volume 中的 brick 所包含的存储服务器数必须是 stripe 的倍数(>=2倍)兼顾分布式和条带的功能、(生产环境一般不使用,官方也不推荐)。
- Distributed Relicated 分布式的复制卷,volume 中 brick1 所包含的存储服务器数必须是 replica 的倍数(>=2倍)兼顾分布式和复制的功能。(生产环境使用较多)。
本次使用复制卷。
分别在 gfs-node-1 和 gfs-node-2 上执行。
$ mkdir /bricks/brick-1/gv0
创建复制卷并启动。
$ gluster volume create gv0 replica 2 gfs-node-1:/bricks/brick-1/gv0 gfs-node-2:/bricks/brick-1/gv0
Replica 2 volumes are prone to split-brain. Use Arbiter or Replica 3 to avoid this. See: http://docs.gluster.org/en/latest/Administrator%20Guide/Split%20brain%20and%20ways%20to%20deal%20with%20it/.
Do you still want to continue?
(y/n) y
volume create: gv0: success: please start the volume to access data
$ gluster volume start gv0
查看volume信息。
$ gluster volume info
Volume Name: gv0
Type: Replicate
Volume ID: 77331c60-c200-4cec-b16c-33365dc2d2d5
Status: Created
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: gfs-node-1:/bricks/brick-1/gv0
Brick2: gfs-node-2:/bricks/brick-1/gv0
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
performance.client-io-threads: off
测试
在任意一台执行。
$ mount -t glusterfs gfs-node-1:/gv0 /mnt
$ df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 27G 1.2G 26G 5% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 9.1M 901M 1% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/vda1 497M 165M 333M 34% /boot
tmpfs 182M 0 182M 0% /run/user/0
/dev/vdb 20G 33M 20G 1% /bricks/brick-1
gfs-node-1:/gv0 20G 238M 20G 2% /mnt
$ for i in `seq -w 1 100`; do cp -rp /var/log/messages /mnt/copy-test-$i; done
$ ls -lA /mnt|wc -l
分别到 2 台节点去查看。
$ ls -lA /bricks/brick-1/gv0/
参考地址:
https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart
mount说明:https://www.cnblogs.com/qiyebao/p/4484047.html