glusterfs操作指南

nfs协议:
1、在客户端安装nfs相关软件包:yum install nfs*;
2、客户端启动服务:service rpcbind start;service nfslock start
3、mkdir -p /mnt/v2
4、挂载:mount -o mountproto=tcp -t nfs 10.28.1.96:/v2 /mnt/v2




iptables规则
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24047 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 38465:38467 -j ACCEPT
glusterfs服务:/etc/init.d/glusterd {start|stop|status|restart}
存储池:
将服务器加入存储池:
gluster peer probe SERVER(端口为24007)
查看存储池的状态:
gluster peer status
将服务器从存储池中删除
gluster peer detach SERVER
gluster volume create distribute 10.28.1.12:/glusterfs
服务器卷:
创建卷:
gluster volume create replica-volume server3:/exp3 server4:/exp4
卷类型:
1)Distributed(可能导致一些数据丢失,因为没有副本)
gluster volume create replica-volume server1:/exp1 server2:/exp2
gluster volume create replica-volume transport rdma server1:/exp1
gluster volume set replica-volume auth.allow 10.*
gluster volume info
2)Replicated
gluster volume create replica-volume replica 2 transport tcp server1:/exp1 server2:/exp2
3)Striped(高并发环境访问大文件)
gluster volume create replica-volume stripe 2 transport tcp server1:/exp1
server2:/exp2
4)Distributed Replicated(能够提高读性能)
gluster volume create replica-volume replica 2 transport tcp server1:/exp1
server2:/exp2 server3:/exp3 server4:/exp4
5)Distributed Striped
gluster volume create replica-volume stripe 4 transport tcp server1:/exp1
server2:/exp2 server3:/exp3 server4:/exp4


卷创建后再启动卷,卷挂载之前应该启动卷服务
gluster volume start replica-volume
gluster volume stop replica-volume
gluster volume delete replica-volume
卷挂载到客户端:
1)手动挂载:mount -t glusterfs 10.28.1.96:/replica-volume /mnt/replica
2)自动挂载(系统启动时挂载):
server1:/replica-volume /mnt/glusterfs glusterfs defaults,_netdev 0 0


测试挂载的卷:
mount
server1:/replica-volume on /mnt/glusterfs type fuse.glusterfs
(rw,allow_other,default_permissions,max_read=131072)




调节卷选项:
gluster volume set replica-volume performance.cache-size 256MB
扩展卷:
gluster peer probe server4
gluster volume add-brick replica-volume server4:/exp4
收缩卷:
gluster volume remove-brick replica-volume server2:/exp2
迁移卷(fuse):
gluster volume replace-brick replica-volume server3:/exp3 server5:exp5
暂停迁移:
gluster volume replace-brick replica-volume server3:/exp3 server5:exp5 pause
中止迁移:
gluster volume replace-brick replica-volume server3:/exp3 server5:exp5 abort
检查迁移状态:
gluster volume replace-brick replica-volume server3:/exp3 server5:/exp5 status
提交迁移:
gluster volume replace-brick replica-volume server3:/exp3 server5:/exp5 commit
查看迁移的结果:gluster volume info replica-volume
重新平衡卷:
gluster volume rebalance replica-volume status
停止重新平衡:
gluster volume rebalance replica-volume stop
将一些数据移动到新添加的存储块上
gluster volume rebalance replica-volume fix-layout start


gluster volume rebalance replica-volume migrate-data start


在客户端运行:
find -noleaf -print0 | xargs --null stat >/dev/null


地域复制(Geo-replication)(备份,灾备)
GlusterFS地理复制提供了一个连续的,异步和增量复制(rsync)服务
从一个站点到另一局域网(LAN)的广域网(WAN)中,以及跨越
互联网。
复制
gluster volume geo-replication Volume1 example.com:/data/remote_dir
查看复制后的状态
gluster volume geo-replication Volume1 example.com:/data/remote_dir status
start
停止复制
gluster volume geo-replication Volume1 example.com:/data/remote_dir
stop
手动运行复制命令
rsync -PavhS --xattrs --ignore-existing /data/remote_dir/
client:/mnt/gluster




监控
gluster volume profile replica-volume start
gluster volume profile replica-volume info
gluster volume profile replica-volume stop


gluster volume top replica-volume open brick server:/export/ list-cnt 10
gluster volume top replica-volume read brick server:/export list-cnt 10
gluster volume top replica-volume write brick server:/export list-cnt 10




gluster volume top replica-volume opendir brick server:/export list-cnt 10
gluster volume top replica-volume readdir brick server:/export list-cnt 10




gluster volume top replica-volume read-perf bs 256 count 1 brick
server:/export/ list-cnt 10
gluster volume top replica-volume write-perf bs 256 count 1 brick
server:/export/ list-cnt 10


目录限额管理(可以控制目录或者卷里存储的容量大小)
gluster volume quota replica-volume enable
gluster volume quota replica-volume disable


gluster volume quota replica-volume limit-usage /data 10GB


gluster volume quota replica-volume list
gluster volume quota replica-volume list /data
gluster volume quota replica-volume remove /data








gluster volume set replica-volume features.quota-timeout 5
mount -o acl /dev/sda1 /export1
mount -t glusterfs -o acl 198.192.198.234:glustervolume /mnt/gluster
设置日志目录:
gluster volume log filename replica-volume /var/log/replica-volume/
验证日志目录的位置:
gluster volume log locate replica-volume


gluster volume log rotate replica-volume


gluster volume geo-replication Volume1 example.com:/data/remote_dir config
log-file




如果replica为2,那么为卷增添设备时候,至少添加2个,否则报错:
[root@node97 ~]# gluster volume add-brick replica-volume 10.28.1.96:/mnt/replica1
Incorrect number of bricks supplied 1 for type REPLICATE with count 2
[root@node97 ~]# gluster volume add-brick replica-volume 10.28.1.96:/mnt/replica1 10.28.1.96:/mnt/replica2
Add Brick successful


如果replica为2,那么为卷增添设备时候,至少添加2*n个,否则报错:
[root@node97 glusterfs]# gluster volume add-brick replica-volume 10.28.1.97:/mnt/replica1 10.28.1.96:/mnt/replica3 10.28.1.96:/mnt/replcia4
Incorrect number of bricks supplied 3 for type STRIPE with count 2
[root@node97 glusterfs]# mount /glusterfs/replica2 /mnt/replica2 -o loop
[root@node97 glusterfs]# gluster volume add-brick replica-volume 10.28.1.97:/mnt/replica1 10.28.1.96:/mnt/replica3 10.28.1.96:/mnt/replcia4 10.28.1.97:/mnt/replica2
Add Brick successful




如果一个设备已经加入了一个逻辑卷后,则它不能再加入其他逻辑卷


客户端职责:
数据卷管理;
I/O调度;
文件定位(cluster/distribute);
数据缓存;
预读read-ahead;
延迟写write-behind;
监控


hash算法分类
1)重新加入设备,系统的hash值映射空间可能发生变化,
为了在对应机器目录取到相应数据,需要对集群中文件目录进行重新分布,
把文件移动到正确的存储服务器上去
2)使用一致性哈希算法,修改新增节点及相邻节点的hash映射空间,
仅需要移动相邻节点上的部分数据至新增节点,影响相对小了很多。
然而,这又带来另外一个问题,即系统整体负载不均衡。
3)以目录为基本单位的,文件的父目录利用扩展属性记录了子卷映射信息,
其下面子文件目录在父目录所属存储服务器中进行分布。
由于文件目录事先保存了分布信息,因此新增节点不会影响现有文件存储分布,
它将从此后的新创建目录开始参与存储分布调度。






GlusterFS在设计中考虑了这一问题,
在新建文件时会优先考虑容量负载最轻的节点,
在目标存储节点上创建文件链接直向真正存储文件的节点。






gluster涉及到的一些端口 1020 ,1021,1022,1023


当gluster启动后 会有端口24007等待其他服务器将其加入存储池
当某台服务器要将某台服务器加入存储池,会启动一个端口与该台服务器进行连接






tcp        0      0 0.0.0.0:38465               0.0.0.0:*                   LISTEN      960/glusterfs       
tcp        0      0 0.0.0.0:38466               0.0.0.0:*                   LISTEN      960/glusterfs       
tcp        0      0 0.0.0.0:38467               0.0.0.0:*                   LISTEN      960/glusterfs

你可能感兴趣的:(GlusterFS文件系统研究)