GlusterFS分布式文件系统

GlusterFS简介

        开源的分布式文件系统

        由存储服务器、客户端以及NFS/Samba存储网关组成

        无元数据服务器

Gluster FS特点

        扩展性和高性能

        高可用性

        全局统一命名空间

        弹性卷管理

        基于标准协议

弹性HASH算法

        通过HASH算法得到一个32位的整数

        划分为N个连续的子空间,每个空间对应一个Brick

        弹性HASH算法的优点

                保证数据平均分布在每一个Brick中

                解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈

GlusterFS的卷类型

        分布式卷

                没有对文件进行分块处理

                通过扩展文件属性保存HASH值

                支持的底层文件系统有EXT3、EXT4、ZF8、XFS等

                特点

                        文件分布在不的服务器,不具备冗余性

                        更容易和廉价地扩展卷的大小

                        单点故障会造成数据丢失

                        依赖底层的数据保护

        条带卷

                根据偏移量将文件分成N快(N个条带节点),轮询的存储在每个Brick server节点

                存储大文件,性能尤为突出

                不具备冗余性,类似Raido

                特点

                        数据被分割成更小块分布到块服务器群中的不同条带区

                        分布减少了负载且更小的文件加速了存取的速度

                        没有数据冗余

        复制卷

                同一文件保存一份或多份副本

                因为要保存副本,所以磁盘利用率较低

                若多个节点上的存储空间不一致,将按照木桶效应取低节点的容量作为该卷的总容量

                特点

                        卷中所有的服务器均保存一个完整的副本

                        卷的副本数量可由客户创建的时候决定

                        至少有两块服务器或更多服务器

                        具备冗余性

        分布式条带卷
        分布式复制卷
        条带复制卷
        分布式条带复制卷

部署Gluster FS集群

        1.基础环境

        2.前四台机器挂载磁盘 (创建完磁盘后,编写脚本,执行)

#!/bin/bash
declare -A dev_name
dev_name['sdb']=b3
dev_name['sdc']=c4
dev_name['sdd']=d5
dev_name['sde']=e6

# 自动分区
fenqu() {
fdisk /dev/$1 << EOF
n




w
EOF
}

# 格式化分区
mkfs_ext4() {
mkfs.ext4 /dev/${1}1
}

for i in ${!dev_name[@]}
do
        fenqu "$i"
        mkfs_ext4 "$i"
        mkdir /${dev_name[$i]}
        #mount /dev/${i}1 /${dev_name[$i]}
        echo "UUID=$(blkid | grep ${i}1 | awk -F '"' '{print $2}') /${dev_name[$i]} ext4 defaults        0 0"  >> /etc/fstab
done
mount -a
df -Th

 

        3.所有机器上传软件包

tar zxf glusterfs_rpm.tar.gz
cd glusterfs_rpm/glusterfs/
yum -y localinstall *
cd

        4.所有机器写入hosts解析

cat >> /etc/hosts << EOF
192.168.27.149 node1
192.168.27.129 node2
192.168.27.130 node3
192.168.27.132 node4
192.168.27.133 client
EOF

        5.在前四台机器开启服务

systemctl start glusterd.service
systemctl enable glusterd.service

        6.在第一台机器执行

gluster peer probe node1
gluster peer probe node2
gluster peer probe node3
gluster peer probe node4
gluster peer status

 

        使用卷在(node1节点)

                1.分布式卷 

#创建分布式卷
gluster volume create dis-volume node1:/e6 node2:/e6 force

                        查看卷

#查看详情
gluster volume info dis-volume
#查看具有的卷
gluster volume list

                        启动卷

gluster volume start dis-volume

        

                        切换到客户端 ,挂载使用

mkdir -p /test/dis
mount -t glusterfs node1:dis-volume /test/dis/

                        查询可以看到,可以使用,并且空间没有浪费 

                2.条带卷(被淘汰了,所以不演示使用) 

#创建条带卷的方式
gluster volume create stripe-volume stripe 2 node1:/d5 node2:/d5 force
gluster volume info stripe-volume
gluster volume start stripe-volume

                3.复制卷(切换node1节点)

#创建并启动复制卷
gluster volume create rep-volume replica 2 node3:/d5 node4:/d5 force
gluster volume info rep-volume
gluster volume start rep-volume

                                在客户端挂载使用复制卷

mkdir /test/rep
mount -t glusterfs node1:rep-volume /test/rep/
df -Th

                                符合复制卷的特点(占用的空间,只能使用一半,另一半用来备份) 

                                验证复制卷

#在客户端复制一个文件,在对应的node节点上的位置上就会有相对于的备份文件存在
cp /etc/fstab /test/rep/

                 4.分布式府志卷(在node1节点上操作)

gluster volume create dis-rep replica 2 node1:/c4 node2:/c4 node3:/c4 node4:/c4 force
gluster volume info dis-rep
gluster volume start dis-rep

                                在client节点上挂载使用

mkdir /test/dis-rep
mount -t glusterfs node1:dis-rep /test/dis-rep

                                验证效果(在node1上查看卷所分的位置)

                                在client节点上,创建一个文件,在node节点上查对应的位置

 

                5.永久挂载 (在客户端操作)

vi /etc/fstab
node1:dis-volume /test/dis glusterfs defaults,_netdev 0 0
#node1:dis-volume 挂载卷的名字
#/test/dis 挂载的位置

  • 15
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值