存储分类和Glusterfs文件系统

块存储

块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的逻辑盘也是5个,每个也是1G,但是这5个1G的逻辑盘已经于原来的5个物理硬盘意义完全不同了。例如第一个逻辑硬盘A里面,可能第一个200M是来自物理硬盘1,第二个200M是来自物理硬盘2,所以逻辑硬盘A是由多个物理硬盘逻辑虚构出来的硬盘。)

DAS

直连式存储与服务器主机之间的连接通常采用SCSI连接,SCSI通道是IO瓶颈;服务器主机SCSI ID资源有限,能够建立的SCSI通道连接有限。
无论直连式存储还是服务器主机的扩展,从一台服务器扩展为多台服务器组成的群集(Cluster),或存储阵列容量的扩展,都会造成业务系统的停机,
SAN

SAN(Storage Area Network) 存储区域网络——是一个网络上的磁盘,通常分为 IP-SAN 和 FC-SAN

通过光纤通道交换机连接存储阵列和服务器主机,最后成为一个专用存储网络。SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。SAN允许企业独立地增加它们的存储容量。SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据放在哪里,服务器都可以直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。

文件存储
NAS

NAS存储 (网络接入存储Network-Attached Storage, 常见的是 NFS文件系统. TCP/IP 协议.  延迟较大,性能有限.

NAS存储也通常被称为附加存储,顾名思义,就是存储设备通过标准的网络拓扑结构(例如以太网)添加到一群计算机上。NAS是文件级的存储方法,

对象存储

对象存储是用来描述解决和处理离散单元的方法的通用术语。对象在一个层结构中不会再有层级结构,是以扩展元数据为特征的。

fuse: 用户空间文件系统(Filesystem in Userspace),是Linux 中用于挂载某些网络空间,如SSH,到本地文件系统的模块。

特点:metadata 和 data 是分开的,类似于 inode 和 block.

GlusterFS分布式文件系统

GlusterFS系统是一个可扩展的网络文件系统,相比其他分布式文件系统,GlusterFS具有高扩展性、高可用性、高性能、可横向扩展等特点,并且其没有元数据服务器的设计,让整个服务没有单点故障的隐患。

术语:

  • Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识,如'SERVER:EXPORT'

  • Client:挂载了GFS卷的设备

  • Extended Attributes:xattr是一个文件系统的特性,其支持用户或程序关联文件/目录和元数据。

  • FUSE:Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。

  • Geo-Replication

  • GFID:GFS卷中的每个文件或目录都有一个唯一的128位的数据相关联,其用于模拟inode

  • Namespace:每个Gluster卷都导出单个ns作为POSIX的挂载点

  • Node:一个拥有若干brick的设备

  • RDMA:远程直接内存访问,支持不通过双方的OS进行直接内存访问。

  • RRDNS:round robin DNS是一种通过DNS轮转返回不同的设备以进行负载均衡的方法

  • Self-heal:用于后台运行检测复本卷中文件和目录的不一致性并解决这些不一致。

  • Split-brain:脑裂

  • Translator:

  • Volfile:glusterfs进程的配置文件,通常位于/var/lib/glusterd/vols/volname

  • Volume:一组bricks的逻辑集合

安装:

yum install centos-release-gluster #安装 gluterfs yum 源.
yum install glusterfs-server  # 安装 glusterfs

卷的类型 (仅介绍几个常用的)

   distributed volume

      分布卷可以将某个文件随机的存储在卷内的一个brick内,通常用于扩展存储能力,不支持数据的冗余。除非底层的brick使用RAID等外部的冗余措施。

      gluster volume create mamm-volume node1:/media node2:/media node3:/media ...

   replicated volume

      复本卷在创建时可指定复本的数量,复本在存储时会在卷的不同brick上,因此有几个复本就必须提供至少多个brick。

      gluster volume create mamm-volume repl 2 node1:/media node2:/media

   striped volume

       分片卷将单个文件分成小块(块大小支持配置,默认为128K),然后将小块存储在不同的brick上,以提升文件的访问性能。

       gluster volume create mamm-volume stripe 2 node1:/media node2:/media

   distribute replication volume

     此类型卷是基本复本卷的扩展,可以指定若干brick组成一个复本卷,另外若干brick组成另个复本卷。单个文件在复本卷内数据保持复制,不同文件在不同复本卷之间进行分布。

     gluster volume create dr-volume repl 2 node1:/exp1 node2:/exp2 node3:/exp3 node4:/exp4

案例

分布式复制卷 

环境:

      OS:Centos 7 服务器两台.

      IP: 192.168.8.134, 192.168.8.124

 两台服务器上执行如下操作:

yum install centos-release-gluster #安装 gluterfs yum 源.
yum install glusterfs-server  # 安装 glusterfs
systemctl start glusterd  #启动glusterd
systemctl enable glusterd # 设置开机启动 glusterd

配置信任主机池:

gluster peer probe 192.168.8.134  # 124 服务器上执行
gluster peer probe 192.168.8.124  # 134 服务器上执行

常用命令:

gluster peer status # 查询集群状态

创建文件夹:

#192.168.1.124
mkdir /wpic/test1 /wpic/test2 -p  # 创建文件夹
# 192.168.1.34
mkdir /wpic/test3 /wpic/test4 -p  # 创建文件夹

创建分布式复制卷并挂载

gluster volume create wpic replica 2 192.168.8.124:/wpic/test1 192.168.8.134:/wpic/test3 192.168.8.124:/wpic/test2 192.168.8.134:/wpic/test4 force  # 创建卷名 wpic
gluster volume start wpic # 启动这个卷
gluster volume info # 查询卷的信息
mount -t glusterfs 192.168.8.134:/wpic /mnt  # 挂载卷到 mnt 目录

 

 

 

posted @ 2018-11-27 11:43  步绍训  阅读(1254)  评论(0)    收藏  举报