(原创)glusterfs_3.2.5_搭建配置文档.docx_第1页
(原创)glusterfs_3.2.5_搭建配置文档.docx_第2页
(原创)glusterfs_3.2.5_搭建配置文档.docx_第3页
(原创)glusterfs_3.2.5_搭建配置文档.docx_第4页
(原创)glusterfs_3.2.5_搭建配置文档.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Glusterfs-3.2.5搭建手册(一)环境1. 系统环境操作系统CentOS 5.4 x86_64Vmware虚拟机256M软件glusterfs-core-3.2.5-1.x86_64.rpmglusterfs-fuse-3.2.5-1.x86_64.rpmglusterfs-geo-replication-3.2.5-1.x86_64.rpmglusterfs-rdma-3.2.5-1.x86_64.rpmpython-ctypes-1.0.2-2.el5.x86_64.rpm2.测试环境VMware_CentOS 5.430Hostname:Server_2数据存储VMware_CentOS 5.431Hostname:Server_3数据存储VMware_CentOS 5.432Hostname:Server_4客户端挂载官方网站:/下载地址:/download/(二)安装本来打算使用源码安装,但是编译过程中出现了很多错误,虽然最后能够编译成功并正常使用,但为了保险起见,还是采用rpm包的方式。Glusterfs 3.2.5,需要rsync及python-ctypes。Ctypes已经集成在了python2.6中,对于python2.4版本来说,必须安装相应的rpm其他需要的依赖包为:Bison、Automake、Autoconf、Flex、libtool、gcc、Portmapper(for NFS),Fuse1.在三台服务器上分别执行:# rpm -ivh glusterfs-core-3.2.5-1.x86_64.rpm# rpm -ivh glusterfs-fuse-3.2.5-1.x86_64.rpm# rpm -ivh glusterfs-fuse-3.2.5-1.x86_64.rpm# rpm -ivh glusterfs-rdma-3.2.5-1.x86_64.rpm软件结构:默认会将相关的软件安装到/opt目录下,如:相关配置文件的位置为:并且默认已启动相关的glusterfsd服务(server4作为client,不需要启动)2.修改/etc/hosts文件,添加主机名及IP的对应关系3. Adding Servers to Trusted Storage Pool 确认server2及server3都启动了glusterd后,启动或者关闭glusterd添加服务器到Tursted Storage Pool# gluster peer probe server2# gluster peer probe server3# gluster peer probe status以上命令在server2,或者server3上,执行都可以。Server2和server3,之间的关系是对等的,不存在谁主谁次的问题在一台服务器上执行命令后变更的信息,会自动更新到其他服务器上4.to create a new volume在server2上建立目录#mkdir /exp2在server3上建立目录#mkdir/exp3创建新的卷组 (server2或者server3上)# gluster volume create test-volume server2:/exp2 server3:/exp3# gluster volume infoOptins Reconfigured:(以下信息为后续通过命令配置的)auth.allow: 192.168.116.*features.quota: onfeatures.limit-usage: /exp2:2GB,/exp3:1GBfeatures.quota-timeout: 55.To start a volume (server2 或者server3上)#gluster volume start test-volume#gluster volume info test-volume6.客户端挂载(server4)加载fuse模块# modprobe fuse# dmesg | grep -i fuse创建挂载点目录:#mkdir /mnt/glusterfs挂载glusterfs存储# mount -t glusterfs server2:/test-volume /mnt/glusterfs/在这里指定server2或者server3,都可以;其作用主要是为了获取卷的配置信息。如官方文档所讲:(三)其他操作1. To quota glusterfs# gluster volume quota test-volume enable -激活quota功能# gluster volume quota test-volume disable -关闭quota功能# gluster volume quota test-volume limit-usage /data 10GB -/exp2/data 目录限制# gluster volume quota test-volume list -quota信息列表# gluster volume quota test-volume list /data -限制目录的quota信息# gluster volume set test-volume features.quota-timeout 5 -设置信息的超时时间# gluster volume quota test-volume remove /data 删除某个目录的quota设置 备注:1)quota功能,主要是对挂载点下的某个目录进行空间限额。如:/mnt/glusterfs/data目录.而不是对组成卷组的空间进行限制,如:/exp2 /exp32)gluster volume set test-volume features.quota-timeout,这个参数,主要用于客户端,设置客户端何时重新读配置文件。因为相应的quota信息是在服务端设置的,而相应的限额生效,是在挂载点及客户端。所以,必须通知客户端,相应的配置文件何时从服务端重读。2. To expand a volume and rebalance# gluster peer probe server4 -向turst pool 添加新的server# gluster volume add-brick test-volume server4:/exp4 -卷组添加新空间# gluster volume info -查看并确认# gluster volume rebalance test-volume start -对扩容后的卷组进行rebalance# gluster volume rebalance test-volume status# gluster volume rebalance test-volume stop# gluster volume rebalance test-volume fix-layout start# gluster volume rebalance test-volume migrate-data start3.To tune volume options# gluster volume set test-volume performance.cache-size 256MB可以对glusterfs的一些相关参数进行设置以及优化(四)其他信息补充:1.gluster拓扑图2.glusterfs的弹性hash算法对于分布式系统而言,元数据处理是决定系统扩展性、性能以及稳定性的关键。GlusterFS另辟蹊径,彻底摒弃了元数据服务,使用弹性哈希算法代替传统分布式文件系统中的集中或分布式元数据服务。这根本性解决了元数据这一难题,从而获得了接近线性的高扩展性,同时也提高了系统性能和可靠性。GlusterFS使用算法进行数据定位,集群中的任何服务器和客户端只需根据路径和文件名就可以对数据进行定位和读写访问。换句话说,GlusterFS不需要将元数据与数据进行分离,因为文件定位可独立并行化进行。GlusterFS中数据访问流程如下:1、计算hash值,输入参数为文件路径和文件名;2、根据hash值在集群中选择子卷(存储服务器),进行文件定位;3、对所选择的子卷进行数据访问。GlusterFS目前使用Davies-Meyer算法计算文件名hash值,获得一个32位整数。Davies-Meyer算法具有非常好的hash分布性,计算效率很高。假设逻辑卷中的存储服务器有N个,则32位整数空间被平均划分为N个连续子空间,每个空间分别映射到一个存储服务器。这样,计算得到的32位hash值就会被投射到一个存储服务器,即我们要选择的子卷。难道真是如此简单?现在让我们来考虑一下存储节点加入和删除、文件改名等情况,GlusterFS如何解决这些问题而具备弹性的呢?逻辑卷中加入一个新存储节点,如果不作其他任何处理,hash值映射空间将会发生变化,现有的文件目录可能会被重新定位到其他的存储服务器上,从而导致定位失败。解决问题的方法是对文件目录进行重新分布,把文件移动到正确的存储服务器上去,但这大大加重了系统负载,尤其是对于已经存储大量的数据的海量存储系统来说显然是不可行的。另一种方法是使用一致性哈希算法,修改新增节点及相邻节点的hash映射空间,仅需要移动相邻节点上的部分数据至新增节点,影响相对小了很多。然而,这又带来另外一个问题,即系统整体负载不均衡。GlusterFS没有采用上述两种方法,而是设计了更为弹性的算法。GlusterFS的哈希分布是以目录为基本单位的,文件的父目录利用扩展属性记录了子卷映射信息,其下面子文件目录在父目录所属存储服务器中进行分布。由于文件目录事先保存了分布信息,因此新增节点不会影响现有文件存储分布,它将从此后的新创建目录开始参与存储分布调度。这种设计,新增节点不需要移动任何文件,但是负载均衡没有平滑处理,老节点负载较重。GlusterFS在设计中考虑了这一问题,在新建文件时会优先考虑容量负载最轻的节点,在目标存储节点上创建文件链接直向真正存储文件的节点。另外,GlusterFS弹性卷管理工具可以在后台以人工方式来执行负载平滑,将进行文件移动和重新分布,此后所有存储服务器都会均会被调度。GlusterFS目前对存储节点删除支持有限,还无法做到完全无人干预的程度。如果直接删除节点,那么所在存储服务器上的文件将无法浏览和访问,创建文件目录也会失败。当前人工解决方法有两个,一是将节点上的数据重新复制到GlusterFS中,二是使用新的节点来替换删除节点并保持原有数据。如果一个文件被改名,显然hash算法将产生不同的值,非常可能会发生文件被定位到不同的存储服务器上,从而导致文件访问失败。采用数据移动的方法,对于大文件是很难在实时完成的。为了不影响性能和服务中断,GlusterFS采用了文件链接来解决文件重命名问题,在目标存储服务器上创建一个链接指向实际的存储服务器,访问时由系统解析并进行重定向。另外,后台同时进行文件迁移,成功后文件链接将被自动删除。对于文件移动也作类似处理,好处是前台操作可实时处理,物理数据迁移置于后台选择适当时机执行。弹性哈希算法为文件分配逻辑卷,那么GlusterFS如何为逻辑卷分配物理卷呢?GlusterFS3.1.X实现了真正的弹性卷管理,如图4所示。存储卷是对底层硬件的抽象,可以根据需要进行扩容和缩减,以及在不同物理系统之间进行迁移。存储服务器可以在线增加和移除,并能在集群之间自动进行数据负载平衡,数据总是在线可用,没有应用中断。文件系统配置更新也可以在线执行,所作配置变动能够快速动态地在集群中传播,从而自动适应负载波动和性能调优。弹性哈希算法本身并没有提供数据容错功能,GlusterFS使用镜像或复制来保证数据可用性,推荐使用镜像或3路复制。复制模式下,存储服务器使用同步写复制到其他的存储服务器,单个服务器故障完全对客户端透明。此外,GlusterFS没有对复制数量进行限制,读被分散到所有的镜像存储节点,可以提高读性能。弹性哈希算法分配文件到唯一的逻辑卷,而复制可以保证数据至少保存在两个不同存储节点,两者结合使得GlusterFS具备更高的弹性。3.附加多种分布式文件系统的对比:MooseFS(MFS)CephGlusterFSLustreMetadata server单个MDS。存在单点故障和瓶颈。多个MDS,不存在单点故障和瓶颈。MDS可以扩展,不存在瓶颈无,不存在单点故障。靠运行在各个节点上的动态算法来代替MDS,不需同步元数据,无硬盘I/O瓶颈。双MDS(互相备份)。MDS不可以扩展,存在瓶颈。FUSE支持支持支持支持访问接口POSIXPOSIXPOSIXPOSIX/MPI文件分布/数据分布文件被分片,数据块保存在不同的存储服务器上。文件被分片,每个数据块是一个对象。对象保存在不同的存储服务器上。Cluster Translators(GlusterFS集群存储的核心)包括AFR、DHT(和Stripe三种类型。可以把大文件分片并以类似RAID0的方式分散存储在多个存储节点上。AFR相当于RAID1,每个文件都被复制到多个存储节点上。Stripe相当于RAID0,文件被分片,数据被条带化到各个存储节点上。Translators可以组合,即AFR和stripe可以组成RAID10,实现高性能和高可用。冗余保护/副本多副本多副本镜像无数据可靠性由数据的多副本提供可靠性。由数据的多副本提供可靠性。由镜像提供可靠性。由存储节点上的RAID1或RAID5/6提供可靠性。假如存储节点失效,则数据不可用。备份提供备份工具。支持远程备份

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论