GlusterFS(https://www.gluster.org/)是一个分布式存储系统,支持多种分布式存储卷类型。GlusterFS支持裸机集群部署和Kubernetes容器部署,客户端能够使用专用客户端驱动mount到主机文件系统,也支持NFS/samba等协议,能够经过网络访问,或者经过kubernetes的service进行访问。html
首先,检查一下节点的状态,以下:git
supermap@podc01:~/openthings/kubernetes-tools/gluster/tools$ sudo gluster pool list UUID Hostname State 6dd32f80-4191-4b96-8021-53c241cefa66 10.1.1.204 Connected 85112a7f-2c6b-4c57-8f6f-636c84232418 10.1.1.234 Connected dae26553-62f7-4b32-81c3-c35e527872a9 10.1.1.205 Connected 7738c78a-ca52-413e-b609-7de9d3208314 10.1.1.202 Connected ee69bb6d-ca75-4c05-b423-525523f117f6 10.1.1.193 Connected fd4a83ea-0886-4d42-ab86-1aa9be6e154c 10.1.1.112 Connected bf976527-e48e-4c97-bfb6-7a4e47aaad31 10.1.1.203 Connected f629a751-ec21-4a24-976e-8ae9840628fe localhost Connected
而后,建立volume:github
# Create simple volume: gvz00 gluster volume create gvz00 \ 10.1.1.193:/zpool/gvz00 \ 10.1.1.234:/zpool/gvz00 \ 10.1.1.205:/zpool/gvz00 \ 10.1.1.112:/zpool/gvz00 \ force
开启卷gvz00的nfs服务,以下:网络
gluster volume set gvz00 nfs.disable off
注意:分布式
查看存储卷的状态:工具
sudo gluster volume status
返回信息以下:性能
Status of volume: gvz00 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick 10.1.1.193:/zpool/gvz00 N/A N/A N N/A Brick 10.1.1.234:/zpool/gvz00 49153 0 Y 31752 Brick 10.1.1.205:/zpool/gvz00 49153 0 Y 1121 Brick 10.1.1.112:/zpool/gvz00 49153 0 Y 19786 NFS Server on localhost 2049 0 Y 24770 NFS Server on 10.1.1.203 2049 0 Y 89228 NFS Server on 10.1.1.205 N/A N/A N N/A NFS Server on 10.1.1.202 2049 0 Y 7498 NFS Server on 10.1.1.234 2049 0 Y 27221 NFS Server on 10.1.1.204 N/A N/A N N/A NFS Server on 10.1.1.193 2049 0 Y 24080 NFS Server on 10.1.1.112 2049 0 Y 25981 Task Status of Volume gvz00 ------------------------------------------------------------------------------ There are no active volume tasks
若是须要关闭NFS服务,执行以下命令:测试
gluster volume reset disp_vol nfs.disable
须要将Gluster Volume服务挂载为Linux系统存储卷,挂载方式包括:ui
mkdir /home/supermap/gvz00 sudo mount -t glusterfs 10.1.1.201:/gvz00 /home/supermap/gvz00
自動掛載,编辑/etc/fstab文件,加入:
spa
10.1.1.201:/gvz00 /home/supermap/gvz00 glusterfs _netdev,rw,acl 0 0
請特別注意要加上 _netdev 選項。
使用
acl
選項能够在掛載目錄中啟用 POSIX ACL 的支援。
sudo mount -a
df -h
使用 NFS 挂载以前,先肯定rpcbind
已启动:
sudo systemctl start rpcbind sudo systemctl enable rpcbind
mkdir /home/supermap/nfs-gvz00 sudo mount -t nfs 10.1.1.201:/gvz00 /home/supermap/nfs-gvz00
自动挂载,编辑/etc/fstab,添加:
10.1.1.201:/gvz00 /home/supermap/nfs-gvz00 nfs _netdev,rw 0 0
sudo mount -a
df -h
Client 使用 NFS 写入数据时,会先将数据传送到挂载的节点,再由该节点写入各个分布式节点的Brick。
Client 使用 NFS 读数据时,会先由挂载节点取得数据再传送到Client。
更多参考: