GFS分布式文件系统

GFS分布式文件系统:

gfd glusterFS 开源的分布式的文件系统

存储服务器 客户端 以及网络(NFS/samba)网关

传统的老的分布式系统源服务器,原服务器保存了存储节点的目录树信息,一旦源服务器故障,所有的存储节点全部失。

现在GFS取消了源服务器机制,数据横向扩展能力更强,可靠性更强,存储效率更高,

GFS的特点:

  1. 扩展性和高性能,都很出色
  2. 高可用,可以自动对文件进行复制,还可以实现多次复制,确保数据总是可以访问,哪怕硬件坏了也可以正常访问
  3. 全局同一的命名空间,所有节点都在一个分支管理之下,客户端访问分支节点即可
  4. 弹性卷,类似LVM,不同硬盘上的不同分区组成一个逻辑上的硬盘

不同服务器上的不同硬盘分区,组成一个卷,可以动态的扩容

  1. 基于标准协议,GFS存储服务支持,NFS HTTP 以及自身的GFS协议。应用程序可以直接使用数据,不需要做任何修改

GFS的组件和术语:

  1. 存储机制,BRICK(存储块,)存储服务器提供的用于物理存储的专用分区,GFS当中的基本存储单元,也是对外提供的存储目录

格式:服务器和目录的绝对路径组成的

Server:dir

20.0.0.51:/opt/gfs

Node1:/opt/gfs

  1. volume逻辑卷 一个逻辑卷就是一组brick的集合,类似于lvm,我们管理GFS,就是管理这些卷
  2. FUSE:GFS的内核模块,允许用户创建自己的文件系统
  3. VFS:内核空间对用户提供的访问磁盘的接口,虚拟端口
  4. 服务端在每个存储节点上都要运行 glustred(后台管理进程)

GFS的工作流程:

GFS分布式文件系统_第1张图片

GFS的卷有哪些类型:

分布式卷:也就是GFS的默认卷类型

条带卷:(已经没了)

复制卷:(镜像化)

分布式复制卷

分布式卷的特点:文件数据通过HASH算法分布到设置的所有brick server上,GFS的默认卷。属于raid0,没有容错机制,没有冗余功能,在分布式模式下,没有对文件进行分块,直接存储在某个server的节点上,存取的效率,也没有提高,直接使用本地文件系统进行存储

GFS分布式文件系统_第2张图片

复制卷:类似于raid1 文件会同步在多个brick server上,读性能上升,写性能稍差,具备冗余功能,坏一个节点不影响数据,磁盘利用率50%

GFS分布式文件系统_第3张图片

分布式复制卷:两两复制,文件会在组内同步,不同的组之间数据未必同步

GFS分布式文件系统_第4张图片

实验部分

环境:

四台服务器

Node1 20.0.0.51

磁盘 /de v/sdb1   /data/sdb1

     /de v/sdc1   /data/sdc1

     /dev/sdd1   /data/sdd1   

Node2 20.0.0.52

磁盘 /de v/sdb1   /data/sdb1

     /de v/sdc1   /data/sdc1

     /dev/sdd1   /data/sdd1   

Node3 20.0.0.53

磁盘 /de v/sdb1   /data/sdb1

     /de v/sdc1   /data/sdc1

     /dev/sdd1   /data/sdd1   

Node4 20.0.0.54

磁盘 /de v/sdb1   /data/sdb1

     /de v/sdc1   /data/sdc1

     /dev/sdd1   /data/sdd1   

客户端:20.0.0.55

写一个创建磁盘分区的脚本四台服务器都要

Vim fdisk.sh

#!/bin/bash

NEWDEV=`ls /dev/sd* | grep -o 'sd[b-z]' | uniq`

for VAR in $NEWDEV

do

   echo -e "n\np\n\n\n\nw\n" | fdisk /dev/$VAR &> /dev/null

   mkfs.xfs /dev/${VAR}"1" &> /dev/null

   mkdir -p /data/${VAR}"1" &> /dev/null

   echo "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0" >> /etc/fstab

done

mount -a &> /dev/null

回到虚拟机添加硬盘

GFS分布式文件系统_第5张图片

四台都要运行脚本,挂载,格式化

四台主机名分别改为node1 node2 node3 node4

hostnamectl set-hostname node1

GFS分布式文件系统_第6张图片

四台都要映射

vim /etc/hosts

20.0.0.51 node1

20.0.0.52 node2

20.0.0.53 node3

20.0.0.54 node4

GFS分布式文件系统_第7张图片

四台全部安装

yum -y install centos-release-gluster

先安装官网源

清一下缓存,建立元数据

yum clean all && yum makecache

安装服务(注意,安装这个服务的时候,若安装不起来,在etc/yum.repo.d/中创建一个目录,把所有的东西放进去,除了glusterfs )

yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma

查看服务

gluster volume info fenbufuzhi

重启

systemctl start glusterd.service

systemctl enable glusterd.service

systemctl status glusterd.service

全部同时查看版本glusterd -v

GFS分布式文件系统_第8张图片

添加节点服务器,形成一个存储信任池(一台主机即可)

gluster peer probe node1

GFS分布式文件系统_第9张图片

全部查看状态

gluster peer status

GFS分布式文件系统_第10张图片

创建分布式

gluster volume create fenbushi node1:/data/sdb1 node2:/data/sb1 force

gluster volume create 创建新卷,默认就是分布式卷

fenbushi 卷名,唯一不可重复

node1:/data/sdb1 node2:/data/sb1 挂载点

force 强制的意思

分布式卷 brick

fenbushi  node1:/data/sdb1 node2:/data/sbb1

复制卷:node2:/data/sdc1  node3:/data/sbc1

replica2

设置复制策略,2是两两复制

要小于等于存储节点,不能比存储节点多,否则失败

创建完后打开

gluster volume start fenbushi

查看分布式的详细信息

gluster volume info fenbushi

GFS分布式文件系统_第11张图片

开一台客户端

安装客户端组件

yum -y install glusterfs glusterfs-fuse

修改客户端的host

vim /etc/hosts

20.0.0.51 node1

20.0.0.52 node2

20.0.0.53 node3

20.0.0.54 node4

GFS分布式文件系统_第12张图片

创建分布式目录

mkdir -p /test/fenbushi

挂载

GFS分布式文件系统_第13张图片

永久挂载

Vim /etc/fstab

GFS分布式文件系统_第14张图片

GFS分布式文件系统_第15张图片

写入测试

GFS分布式文件系统_第16张图片

去node节点查看

GFS分布式文件系统_第17张图片

如何创建复制卷

gluster volume create fuzhijuan replica 2 node2:/data/sdc1 node3:/data/sdc1 force

打开复制卷

gluster volume start fuzhijuan

查看信息详细信息

gluster volume info fuzhijuan

GFS分布式文件系统_第18张图片

客户端

GFS分布式文件系统_第19张图片

节点服务器查看

创建分布式复制卷

Node1 /data/sdd1

Node2 /data/sdd1

Node3 /data/sdd1

Node4 /data/sdd1

节点服务器

gluster volume create fubufuzhi replica 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force

开启

gluster volume start fenbufuzhi

查看分布式复制详细信息

gluster volume info fenbufuzhi

GFS分布式文件系统_第20张图片

客户端

mkdir fenbufuzhi

mount.glusterfs node1:fenbufuzhi/ /test/fenbufuzhi/

GFS分布式文件系统_第21张图片

节点服务器查看

结论,四个节点服务器,随机两两复制

总结分布式复制卷:

分布式复制卷是最常用的分布文件存储方式,根据策略,存储文件还是分布式的存储方式,分开存储,但是会进行复制,所以也拥有冗余的功能,但是磁盘的利用率只有50%

查看所有节点的状态

gluster volume status

GFS分布式文件系统_第22张图片

如何删除一个卷

先停节点服务器,再删除

gluster volume stop fubufuzhi

GFS分布式文件系统_第23张图片

gluster volume delete fubufuzhi

GFS分布式文件系统_第24张图片

客户端访问GFS卷,是通过挂载的方式实现。

GFS分布式存储系统:

  1. 分布式卷
  2. 分布式复制卷(重点)
  3. 工作性质,raid区分,磁盘冗余整列,本机的磁盘的冗余

   GFS是把多个不同服务器上的不同硬盘组合起来,形成一个卷(基于网络的虚拟磁盘)

如何允许网段访问:

你可能感兴趣的:(mysql)