• 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代码与内核进行桥接。
  • 相关阅读:
    文件语音识别Google语音识别学习札记 Windows PC机上测试语音识别Strut2教程java教程
    进程方法Android面试题(二)Strut2教程java教程
    工程选择LibGdx开发环境搭建Strut2教程java教程
    检查点重做检查点队列简单总结Strut2教程java教程
    ORACLE连接数据库(备忘)
    字符扫描剑指Offer读书笔记之第二章2字符替换Strut2教程java教程
    文件函数Django1.5实战第一步之搭建环境,创建工程,运行开发服务器Strut2教程java教程
    算法长度K最短路问题(单源点最短路径+A*算法)Strut2教程java教程
    单位真实世界LibGdxBox2d单位换算Strut2教程java教程
    配置执行【Oracle】无法对所有 EM 相关帐户解锁Strut2教程java教程
  • 原文地址:https://www.cnblogs.com/qiandong/p/13412454.html
Copyright © 2020-2023  润新知