glusterfs笔记

来源:互联网 发布:中银淘宝校园卡 编辑:程序博客网 时间:2024/05/23 20:35
1、安装:
ubuntu:
Server# sudo apt-get install glusterfs-server
Client# sudo apt-get install glusterfs-client
centos:
Server# yum -y install glusterfs glusterfs-server
Server# chkconfig glusterd on 
Server# service glusterd start
Client# yum -y install glusterfs glusterfs-fuse

2、将存储节点组合成一个集群,只需要在任何一个节点执行:
sudo gluster peer probe g1.test.com
sudo gluster peer probe g2.test.com
sudo gluster peer probe g3.test.com
sudo gluster peer probe g4.test.com # 加入新节点
sudo gluster peer status # 查看集群的节点信息

3、创建共享存储卷
以/data/test为共享目录,创建一个名为gfs的存储卷,数据复制2份:
sudo gluster volume create gfs replica 2 g{1,2,3,4}.test.com:/data/test  # 创建卷
sudo gluster volume start gfs # 启动卷
sudo gluster volume info # 查看卷信息
sudo gluster volume set gfs auth.allow 192.168.10.* # 授权访问

4、客户端挂载
mount -t glusterfs g1.test.com:/gfs /mnt/gfs # 挂载任一节点即可(推荐)
mount.nfs g1.test.com:/gfs /mnt/nfs -o nfsvers=3,proto=tcp # 使用NFS挂载,注意远端的rpcbind服务必须开启
mount -t nfs -o rw,nfsvers=3,proto=tcp,port=38465,nolock,noacl,nocto,noatime,nodiratime,rsize=131072,wsize=524288,async,soft,bg,acregmin=3,acregmax=10,acdirmin=1,acdirmax=5 g1.test.com:/gfs /mnt/nfs # 标准挂法
# 若需要开机自动挂载,请更新/etc/fstab,追加:
g1.test.com:/gfs /mnt/gfs glusterfs defaults,_netdev 0 1

5、测试:
a、检查文件正确性
dd if=/dev/urandom of=/tmp/testfile bs=1M count=100 # 在挂载客户端生成测试文件
cp –v /tmp/testfile /mnt/gfs/testfile # 文件拷贝到统一存储
md5sum /tmp/testfile /mnt/gfs/testfile # 在查看客户端检查文件哈希
md5sum /data/glusterfs/testfile # 存储集群的某2个节点上会有此文件,检查其哈希

b、宕机测试
使用glusterfs-fuse挂载,即使目标服务器故障,也完全不影响使用。用NFS则要注意挂载选项,否则服务端故障容易导致文件系统halt住而影响服务!

c、文件测试
# 将其中一个节点停止存储服务
service glusterd stop
service glusterfsd stop
# 在挂载客户端删除测试文件
rm -fv /mnt/nfs/testfile
# 此时在服务端查看,服务被停止的节点上testfile并未被删除。此时启动服务:
service glusterd start
# 数秒后,testfile就被自动删除了。新增文件效果相同!

d、目录测试
方法和文件测试类似,由于目录每个节点都会生成,所以测试更容易

6、运维过程常用的指令:
# 删除卷 
gluster volume stop gfs 
gluster volume delete gfs 
# 将机器移出集群 
gluster peer detach g2.test.com 
# 卷扩容(由于副本数设置为2,至少要添加2(4、6、8..)台机器) 
gluster peer probe g5.test.com # 加节点 
gluster peer probe g6.test.com # 加节点 
gluster volume add-brick gfs g5.test.com:/data/test g6.test.com:/data/test # 合并卷 
# 收缩卷(收缩卷前gluster需要先移动数据到其他位置) 
gluster volume remove-brick gfs g5.test.com:/data/test g6.test.com:/data/test start # 开始迁移 
gluster volume remove-brick gfs g5.test.com:/data/test g6.test.com:/data/test status # 查看迁移状态 
gluster volume remove-brick gfs g5.test.com:/data/test g6.test.com:/data/test commit # 迁移完成后提交 
# 迁移卷 
gluster peer probe g2.test.com # 将g2.test.com的数据迁移到g4.test.com,先将g2.test.com加入集群 
gluster volume replace-brick gfs g2.test.com:/data/test g4.test.com:/data/test start # 开始迁移 
gluster volume replace-brick gfs g2.test.com:/data/test g4.test.com:/data/test status # 查看迁移状态 
gluster volume replace-brick gfs g2.test.com:/data/test g4.test.com:/data/test commit # 数据迁移完毕后提交 
gluster volume replace-brick gfs g2.test.com:/data/test g4.test.com:/data/test commit -force # 如果机器g4.test.com出现故障已经不能运行,执行强制提交 
gluster volume heal gfs full # 同步整个卷
0 0
原创粉丝点击