Linux-Glusterfs分布式存储

         

1 介绍  volume glustefs逻辑卷,外部使用者看到的总存储。  brick 逻辑卷内部的各个物理存储单元,是一个挂载的目录,各个brick以不同的模式组成一个volume。 3、安装GlusterFS # yum install centos-release-gluster # yum install -y glusterfs-server # systemctl start glusterd # systemctl enable glusterd 4、Iptables配置 TCP/24007 iptables -I INPUT -p all -s `<ip-address>` -j ACCEPT 或 # iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 24007:24008 -j ACCEPT # iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 49152:49156 -j ACCEPT 5、配置信任池 # gluster peer probe node01 # gluster peer probe node02 # gluster peer probe node03 # gluster peer status gluster pool list 查看池列表 移除信任: gluster peer detach node01 /var/lib/glusterfs/peers/ #存放信任池的主机信息。 6、建立一个GlusterFS卷 模式:[stripe | replica | disperse] 传输方式:[transport tcp | rdma | tcp,rdma]rdma:远程直接数据存取 6.1分布式卷 说明: 文件分布在卷中的各个bricks上。因此,file1可以只存储在brick1或brick2中,但不能同时存储在这两个文件中。 因此没有数据冗余。这样一个存储卷的目的是方便和廉价地扩展卷大小。 这也意味着砖块故障将导致数据完全丢失,必须依赖底层硬件来保护数据丢失。 创建: 在node01,node02,node03上: # mkdir -pv /bricks/brick1/gv0 # gluster volume create test-volume node01:/bricks/brick1/gv0 node02:/bricks/brick1/gv0 node03:/bricks/brick1/gv0 # gluster start test-volume #启动卷 # gluster volume info #查看卷信息 6.2复制式卷(Replicated: 复制式卷,类似 RAID 1) 说明: 解决了分布式卷中面临的数据丢失问题。 在创建卷时,replica 数必须等于 volume 中 brick 所包含的存储服务器数, 可用性高,这种卷的一个主要优点是,即使一个块失败,仍然可以从它的复制块访问数据。 这样的卷用于更好的可靠性和数据冗余。 创建: 在node01和node02上: # mkdir /bricks/brick1/gv0 在任何一台服务器上: # gluster volume create gv0 replica 2 node01:/bricks/brick1/gv0 node02:/bricks/brick1/gv0 或 # gluster volume create gv0 replica 2 node01:/data/glusterfs/gv0 node02:/data/glusterfs/gv0 force # gluster volume start gv0 #启动卷 # gluster volume info #查看卷状态 在现有的volume下添加新的服务器: 添加信任池: # gluster peer probe node01 # gluster peer probe node04 添加卷 # gluster volume add-brick gv0 replica 2 node01:/bricks/brick1/gv0 node04:/bricks/brick1/gv0 force 减少节点 gluster volume remove-brick www server3:/data/www server4:/data/www start gluster volume remove-brick www server3:/data/www server4:/data/www status gluster volume remove-brick www server3:/data/www server4:/data/www commit 6.3纠错卷 说明: Dispersed Volume基于ErasureCodes(纠错码)提供了对磁盘或服务器故障的空间有效保护。 它将原始文件的编码片段存储到每个块中,以一种只需要片段子集就可以恢复原始文件的方式存储。 在不丢失对数据访问的情况下,可以丢失的块的数量由管理员在卷创建时配置。 类似于RAID5/6。通过配置Redundancy(冗余)级别提高可靠性,在保证较高的可靠性同时,可以提升物理存储空间的利用率。 创建: 6.4分布式纠错卷 6.5分布式复制卷 说明: Distributed Replicated: 分布式的复制卷,最少需要4台服务器才能创建。 brick 所包含的存储服务器数必须是 replica 的倍数,兼顾分布式和复制式的功能。 指定brick的顺序也很重要,因为相邻的砖块会成为彼此的复制品。 当由于冗余和可伸缩存储而需要高可用性数据时,使用这种类型的卷。 所以如果有8个brick和2个replica,那么前两个brick就会变成彼此的复制品,然后是下两个brick,以此类推。 创建volume 时 replica 2 server = 4 个节点 创建一个有两个replica的分布式复制卷 创建: #gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 7、测试 提供三种挂载方式:Native client,NFS,Samba(CIFS) Native挂载方式一大优势是支持高可用, 虽然我们挂载的是node01,但是当node01不可用时,glusterfs volume还是可以工作的。可以停止模拟下node01故障。 # yum install glusterfs-fuse # mount -t glusterfs node01:/gv0 /mnt umount -t glusterfs node01:/gv0 /mnt FUSE:Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。 通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。
posted @ 2020-07-31 22:01  东风伴侣  阅读(313)  评论(0编辑  收藏  举报