Chapter 4 分布式(网络)存储系统

4.1 GlusterFS介绍

这里不对GlusterFS的工作原理进行详述,如果有兴趣可以到官方网站去了解更多原理和部署。

对于本次测试环境来说,底层分布式存储系统主要为有存储要求的OpenStack服务提供服务,包括镜像服务、计算服务的共享存储(用于实现动态迁移)、块存储以及对象存储(先不涉及)。

使用者已经对NFS、MFS、GlusterFS进行了部署实现,但是讨论到性能、环境因素,最终选用了GlusterFS作为存储系统,考虑的方式有:

性能比较:NFS是传统的网络文件系统,存在的缺点也是显而易见的,例如单点故障、元数据与数据传输未分离所造成的性能瓶颈,在较新版本中pNFS(即NFSv4.1)已经实现分离,允许客户端直接与数据服务器进行交互。这种机制解决了传统NFS的性能瓶颈问题,从而使得系统获得高性能和高扩展性的特性;MFS提供了强大的针对小文件读写功能,并将元数据服务器进行单独部署而不影响文件数据的传输,同样MFS也面临的单点故障的问题;GlusterFS不存在单点故障。靠运行在各个节点上的动态算法来代替MDS,不需同步元数据,无硬盘I/O瓶颈,但只适用于大文件,对于小文件传输无优势

操作比较:NFS部署很简单,但是需注意发布共享路径时的权限问题,另外,最重要的是单点故障的隐患,所以不考虑使用NFS;MFS架构非常健全,同样单点故障的问题可以通过部署Master/Slave模式进行解决,但由于整体架构所需节点较多这里也不进行考虑;GlusterFS在于无S/C概念,多个节点通过配置也实现复制功能从而解决了点单问题,扩展性也极佳

其实使用哪种分布式存储系统来作为底层共享存储都因考虑实际环境需要,在考虑到资源问题和无二次开发需求的前提下,使用GlusterFS最为简单。

红帽官网给出的架构拓扑图:

注意,计算节点也是使用到共享存储,上图并为给出。

4.2 GlusterFS安装部署

根据之前的服务器拓扑,两个计算机点也同时提供发布共享存储的功能,这里在每个节点上挂载一块600G硬盘,将为镜像服务、计算服务以及块存储服务提供共享存储。

4.2.1 格式化挂载存储

下面的步骤需要在两台计算节点进行操作,以compute1(10.0.0.31)为例:

[[email protected] ~]# fdisk /dev/sdb

# 创建主分区sdb1,并将文件系统标识符设置为8e,即LVM,以便以后的扩展需要,这里具体的操作不进行描述

[[email protected] ~]# pvcreate /dev/sdb1

[[email protected] ~]# vgcreate vg_sharing_disk /dev/sdb1

[[email protected] ~]# lvcreate -l 100%FREE -n lv_sharing_disk vg_sharing_disk

[[email protected] ~]# mkfs.xfs /dev/vg_sharing_disk/lv_sharing_disk

[[email protected] ~]# mkdir /rhs

[[email protected] ~]# vi /etc/fstab

/dev/vg_sharing_disk/lv_sharing_disk    /rhs  xfs     defaults 1 1

[[email protected] ~]# mount /rhs

4.2.2配置启动GlusterFS共享存储

1. 安装GlusterFS服务并设置为开机自启动:

下面的步骤需要在两台计算节点进行操作:

[[email protected] ~]# yum -y install glusterfs-server

[[email protected] ~]# systemctl start glusterd

[[email protected] ~]# systemctl enable glusterd

2. 设置信任关系并发布共享存储服务:

在一台计算节点上操作即可:

[[email protected] ~]# gluster peer probe compute2

peer probe: success.

[[email protected] ~]# gluster peer status

Number of Peers: 1

Hostname: compute2

Uuid: a882ef3c-cbdf-45ed-897c-1fbb942d0b5e

State: Peer in Cluster (Connected)

注意,这里一定要确保两个节点可进主机名称解析,在之前的测试中单独部署存储服务器时由于没将主机名加入到解析范围中而导致其他节点挂载GlusterFS文件系统时出现报错。

为OpenStack中需要使用到共享存储服务创建相应的目录以及指定用户和组:

[[email protected] ~]# mkdir /rhs/glance-vol /rhs/nova-vol /rhs/cinder-vol

[[email protected] ~]# gluster volume create glance-volume replica 2 compute1:/rhs/glance-vol/ compute2:/rhs/glance-vol/

[[email protected] ~]# gluster volume create nova-volume replica 2 compute1:/rhs/nova-vol/ compute2:/rhs/nova-vol/

[[email protected] ~]# gluster volume create cinder-volume replica 2 compute1:/rhs/cinder-vol/ compute2:/rhs/cinder-vol/

[[email protected] ~]# gluster volume set glance-volume storage.owner-uid 161

[[email protected] ~]# gluster volume set glance-volume storage.owner-gid 161

[[email protected] ~]# gluster volume set nova-volume storage.owner-uid 162

[[email protected] ~]# gluster volume set nova-volume storage.owner-gid 162

[[email protected] ~]# gluster volume set cinder-volume storage.owner-uid 165

[[email protected] ~]# gluster volume set cinder-volume storage.owner-gid 165

[[email protected] ~]# gluster volume start glance-volume

[[email protected] ~]# gluster volume start nova-volume

[[email protected] ~]# gluster volume start cinder-volume

注意,卷的用户名和组请参考OpenStack服务的默认设置:

http://docs.openstack.org/kilo/install-guide/install/yum/content/reserved_user_ids.html

至此,共享存储服务已经配置完成,后面的章节涉及到共享存储的部分将按照实际需要会进行强调。

时间: 2024-10-05 12:45:19

Chapter 4 分布式(网络)存储系统的相关文章

阿里云高级总监谈超大规模超高性能分布式快存储系统

摘要: 10月27日下午,2018中国计算机大会上举办了主题"新型硬件环境下大数据处理技术"的技术论坛,一起探讨新型硬件带来的变化.论坛上,阿里云高级总监马涛针对超大规模超高性能分布式块存储系统ESSD进行了报告分析. 新型硬件(如NVRAM.RDMA.GPU/TPU等)及其构建的异构复杂环境,与既有硬件环境的巨大差异,导致传统的算法.数据结构甚至是涉及原则和经验法则等难以为继,对计算智能与大数据处理带来新的挑战和机遇. 10月27日下午,2018中国计算机大会上举办了主题"

分布式 Key-Value 存储系统:Cassandra 入门

Apache Cassandra 是一套开源分布式 Key-Value 存储系统.它最初由 Facebook 开发,用于储存特别大的数据. Cassandra 不是一个数据库,它是一个混合型的非关系的数据库,类似于 Google 的 BigTable.本文主要从以下五个方面来介绍 Cassandra:Cassandra 的数据模型.安装和配制 Cassandra.常用编程语言使用 Cassandra 来存储数据.Cassandra 集群搭建. 在 IBM Bluemix 云平台上开发并部署您的下

HDFS—Hadoop底层分布式文件存储系统

声明:本文档所有内容均在本人的学习和理解上整理,仅供参考,欢迎讨论.不具有权威性,甚至不具有精确性,也会在以后的学习中对不合理之处进行修改. 在上一篇“浅谈Hadoop inFusionInsight—华为大数据解决方案的理解”中,我重点提到了大数据的两个相较于传统数据所不同的特点——数量大和种类多.在Hadoop的底层有个非常重要的部分,我们一般称之为“核心”——分布式文件存储系统,即HDFS.我之前说过,单个服务器的内存和磁盘空间是有上限的,不可能无限支持线性增加.面对海量的大数据,单个服务

基于SSM的JAVA简易网络存储系统

今天将为大家分析一个简易网络存储系统(近年来,随着信息技术的进一步发展,以及网络的大规模应用,带来了数据的爆炸性增长,也给网络存储带来了巨大的发展机会.今天的存储系统已经形成了从简单的直连存储到复杂的网络存储,从单个存储设备到多个存储设备的多层次.复杂的存储体系.存储系统的变化给存储管理带来了质的变革,如何有效的管理整个存储网络系统,为用户提供灵活多样的存储服务,同时保证数据的安全和可用性,这些都是存储管理急需解决的问题. 针对两种典型的网络存储系统:附网存储和存储区域网,在分析其系统结构和特点

Tahoe-LAFS 开源分布式文件存储系统

很多技术信息来自于英文页面,我英文不好,可能有错漏的地方. Tahoe-LAFS是一个分布式的文件存储系统.它的特点是无法对内容进行审查,即使是存储服务提供方:极高的安全性,用长不定字符串链接替文件访问权限验证,基本不可能被在线破解:匿名,无注册及身份验证,只靠第一次运行时分配的随机码区分不同用户. 简单说下它的文件存储流程.我通过客户端上传一个文件.文件经过加密被切分成数个片段,上传到数个存储服务器.每个服务器只保存文件的一部分,不保存完整的文件.并且忽略掉文件名,用一串加密过的字符代替.上传

数据库 chapter 14 分布式数据库系统

第十四章 分布式数据库系统 分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用.同时,每个结点也能通过网络子系统执行全局应用. 特点: 数据独立性(集中式数据库系统中,数据独立性包括两个方面:数据的逻辑独立性与数据的物理独立性,其含义为用户程序与数据的全局逻辑结构及数据的存储结构无关). 集中与自治相结合的控制结构 适当增加数据冗余度(原因:提高系统的可靠性.可用性:提高系统性能: 全局的一致性.可串行性和

分布式文件存储系统--fastDFS

分布式文件系统,它是一款开源的轻量级分布式系统 单机时代 初创时期由于时间紧迫,在各种资源有限的情况下,通常就直接在项目目录下建立静态文件夹,用于用户存放项目中的文件资源.如果按不同类型再细分,可以在项目目录下再建立不同的子目录来区分.例如: resources\static\file. resources\static\img等. 优点:这样做比较便利,项目直接引用就行,实现起来也简单,无需任何复杂技术,保存数据库记录和访问起来也很方便. 缺点:如果只是后台系统的使用一般也不会有什么问题,但是

GFS分布式文件存储系统(理论)

GlusterFS概述 GlusterFS简介 ?开源的分布式文件系统?由存储服务器,客户端以及NFS/Samba存储网关组成?无元数据服务器 RDMA:负责数据传输 GlusterFS的特点 ?扩展性和高性能?高可用性?全局统一的命名空间?弹性卷管理?基于标准协议 GlusterFS术语 ?Brick : 存储节点?Volume : 卷?FUSE : 内核模块,用户端的交互模块?VFS : 虚拟端口?Glusterd : 服务 模块化堆栈架构 ?模块化.堆栈式的架构?通过对模块的组合,实现负责

1.2分布式-网络通讯协议

网络协议: TCP/IP 和UDP/IP TCP/IP TCP/IP(Transmission Control Protocol/Internet Protocol)是一种可靠的网络数据传输控制协议.定义了主机如何连入因特网以及数据如何在他们之间传输的标准. TCP/IP协议参考模型把所有TCP/IP系列协议归类到四个抽象层中: 每一个抽象层建立在低一层提供的服务上,并且为高一层提供服务 ICMP:控制报文协议 IGMP:internet组管理协议 ARP:地址解析协议 RARP:反向地址转化协