Debian下配置GlusterFS安装和配置

服务端安装

初始化基础环境

  • 假设2个节点作2个副本,修改hosts文件。追加 /etc/hosts
192.168.18.15	storage-5
192.168.18.16	storage-6
  • 格式化2台服务端的磁盘,多个存储节点都要执行
apt-get -y install glusterfs-server # yum -y install glusterfs-server
mkfs.xfs -i size=512 /dev/sdb
mkdir -pv /mnt/gfs
mount /dev/sdb /mnt/gfs # 记得更新 /etc/fstab
mkdir -pv /mnt/gfs/public-share # 假设要新建一个 public-share 共享点

组建GlusterFS集群

glusterfsd --version
gluster peer probe storage-6 # 任1节点执行增长新节点

建立存储卷

gluster volume create public-share replica 2 storage-5:/mnt/gfs/public-share storage-6:/mnt/gfs/public-share
glusterfsd --version
gluster volume info
gluster volume status
gluster volume start public-share
gluster volume quota public-share  enable
gluster volume quota public-share  limit-usage / 1024GB
gluster volume set public-share performance.write-behind-window-size 512MB
gluster volume set public-share performance.cache-size 512MB
gluster volume set public-share performance.io-thread-count 32
gluster volume set public-share auth.allow 192.168.18.*,192.168.16.*
gluster volume set public-share nfs.disable on

客户端配置

安装客户端并挂载

wget -O - http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.5/Debian/jessie/pub.key | apt-key add -
echo 'deb http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.5/Debian/jessie/apt jessie main' > /etc/apt/sources.list.d/gluster.list 
apt-get update
apt-get -y install glusterfs-client
mkdir -pv /mnt/gfs
mount -t glusterfs -o rw storage-5:/public-share /mnt/gfs # 记得添加开机启动或fstab

注意事项

  • 不推荐使用nfs挂载,由于它有单点故障致使应用卡死。
  • 客户端尽可能同服务器版本保持一致,不然可能没法进行Runtime Setting
# gluster volume set public-share auth.allow 192.168.*

volume set: failed: Staging failed on storage-5. Error: One or more connected clients cannot support the feature being set. These clients need to be upgraded or disconnected before running this command againnode

  • 若是要使用nfs挂载,笔者的参数示例:
mount -t nfs -o rw,nosuid,nodev,noexec,nouser,bg,soft,intr,rsize=1048576,wsize=1048576,timeo=10,acregmin=3,acregmax=10,acdirmin=1,acdirmax=5 storage-5:/public-share /mnt/log
  • GlusterFS错误日志不少,加个计划任务天天清:
echo '#!/bin/bash' > /etc/cron.daily/clean-glusterfs
echo 'rm -f /var/log/glusterfs/*.log.*; for logfile in $(find /var/log/glusterfs -type f -name "*.log"); do :>$logfile ;done' >> /etc/cron.daily/clean-glusterfs
chmod +x /etc/cron.daily/clean-glusterfs