`
lu2002lulu
  • 浏览: 95050 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

GFS的配置及应用

阅读更多
I.前言



经过这一段时间的配置以及测试,gfs(globe file system)对于我们的邮件系统已经到了一个可以应用的阶段,这里包含老祝和韩麟同学的共同努力,还有黄亚洲同学的支持,下面我把配置方法过程写下:



一、安装操作系统以及GFS套件包

我们这次配置用的标准平台是centOS5.3,因为安装GFS软件的时候需要很多其他cluster软件的支持,centOS只要在安装的时候选择安装”cluster”套件,就会把我们所需要的所有软件同时安装上,而RedHat要花钱注册才能选择套件的安装,而软件内容和centOS的是相同的。(韩麟同学在as4u7上通过rpm包安装了gfs也是可行的,但是相对要麻烦一些而且不支持gfs2)



接下来就说安装操作系统,这里我就以centOS5.3为例,前面没有什么好说的,到后边选择安装包的时候我们会发现centOS5(以及RedHat5)和他们以前的版本不同了,多了一个选择安装套件的选项,我们除了不选择Server-GUI的那个剩下的 Cluster、Cluster Storage、Server、Virtualization等,接下来再选择用户自定义安装,安装剩下的那些包,这里强烈建议不要去除系统默认选则的图像化界面安装包,虽然我们的服务不启动图形化界面,但是依然建议这样做有2个原因:

1.       有些软件支持在默认的图形化包中。

2.       有些硬件驱动要求必须在图形化界面中安装。

再有就是现在服务器硬盘普遍都比较大,这些包相对就不算大了。

       另外就是不要忘记安装gcc之类的开发环境。



安装完操作系统,关闭没用的服务,关闭防火墙和selinux就算把环境搭好了,非常简单。





II.配置GFS





一、         拓扑图

GFS在CentOS5.3的配置 - kaif - kaif4tec 的博客



二、         配置文件



首先要创建配置文件,文件位置是:/etc/cluster/cluster.conf这个文件默认是没有的需要我们手工生成,只要把下面内容粘贴进去即可(也可以使用图形界面配置后自动生成)。

<?xml version="1.0"?>

<cluster alias="gfs_cluster" config_version="8" name="gfs_cluster">

        <fence_daemon post_fail_delay="0" post_join_delay="3"/>

        <clusternodes>

                <clusternode name="gfs1" nodeid="1" votes="1">

                        <fence>

                                <method name="1">

                                        <device name="1" nodename="gfs1"/>

                                </method>

                        </fence>

                </clusternode>

                <clusternode name="gfs2" nodeid="2" votes="1">

                        <fence>

                                <method name="1">

                                        <device name="1" nodename="gfs2"/>

                                </method>

                        </fence>

                </clusternode>

        </clusternodes>

        <cman expected_votes="1" two_node="1"/>

        <fencedevices>

                <fencedevice agent="fence_manual" name="1"/>

        </fencedevices>

        <rm>

                <failoverdomains/>

                <resources/>

        </rm>

</cluster>



之后保存退出。



对于该配置文件我要简要说明一下:

<cluster alias="gfs_cluster" config_version="8" name="gfs_cluster">

这一行定义了cluster的名称,其中config_version是表示该配置文件被配置的次数

(在RedHat Cluster中,各个节点是同配置版本数值也就是配置次数最高的配置文件进行学习同步报)。



<clusternode name="gfs1" nodeid="1" votes="1">

这一行定义了cluster节点的名称,节点id以及投票权,节点名一般就是节点的主机名。

主机名和ip的对应该关系不要忘记写到/etc/hosts中



<clusternode name="gfs2" nodeid="2" votes="1">

这一行是节点2的定义,本次gfs的研究配置我们主要做的就是双节点的实验测试,有兴趣的朋友们可以试试多节点的配置,这里就先不详细介绍了。



配置文件中写有fence的内容这里说明一下:

fence也是RedHat Cluster的产物,没有它GFS也没法工作,fence的作用就是当一个节点宕掉(和cluster断掉联系)后,其他的正常节点会通过fence设备来把宕掉的设备fence掉,把宕掉的设备踢出cluster保证整个cluster的正常运行,而fence设备一般是服务器自带硬件设备,如hp的ilo口,IBM和dell的ipmi等等,由于服务器硬件的不同,导致不同的fence设备的配置方法不同,所以我没有把fence设备的配置方法写出来,但是我写了一个通用的,手工fence的配置,手工fence的功能是:当一个节点宕掉后我们需要在正常的节点上输入命令:“#  fence_ack_manual -n 宕掉的节点名 ” 来把于cluster的主机隔离掉,才能让正常的节点正常工作。

       然而在RedHat Cluster的官方文档中,并不建议设置这种手工fence,它只被建议用在测试环境下,尤其是在生产环境中,原因就是人工判断的不够准确:如果宕掉的机器无法连接到cluster但是还在占用cluster资源(例如还在访问共享文件系统),这时候我们通过命令fence_ack_manual -n 宕掉的节点名 告诉正常的节点已经成功隔离了宕掉的设备,这个时候正常的节点也会继续访问资源,导致冲突发生,文件系统产生崩溃(即便是GFS系统,没有了cluster的调度调整,也会发生这种崩溃)。



配置文件的内容大概介绍到这里,我们需要把每个节点都写上这个配置文件。



三、         格式化GFS文件系统

通过命令:

gfs_mkfs -p lock_dlm -t ClusterName:FSName -j Number BlockDevice

格式化gfs文件格式

-p 这个参数后边跟的是gfs锁机制,一般情况下就用lock_dlm

-t 后边是ClusterName:FSName

       其中ClusterName是cluster名,就是配置文件中指定的cluster名,FSName是给新格式化好的gfs分区的名字

-j 代表是journal的个数,一般情况是2个除非一些特殊情况否则不用再单作调整(关于journal经过我查阅文档,发现它是一个类似缓存的机制,读写的内容可以先放到journal上,然后再同步到硬盘中)。

BlockDevice 就是要被格式化的设备名称。



下面是一个格式化GFS命令的实例:

gfs_mkfs -p lock_dlm -t gfs_cluster:gfsvir -j 2 /dev/sdb1

*上述步骤在一个节点上执行即可。



四、         启动Cluster

通过命令:

/etc/init.d/cman start

即可启动RedHat Cluster,如果Cluster不启动,GFS文件系统无法挂载。



五、挂载GFS文件系统

把格式化好的GFS分区,挂载上,即可

mount /dev/sda1 /data

另一个节点也挂载上该分区。GFS的基本功能就可以用了,我们可以把我们邮件的共享文件夹放到GFS分区上,如:Mail、Tmp、MailTmp、Domain、video、Share等。

III.结束语

       没有写太多东西,把GFS的主要的基本配置方法写出来,可以直接使用配置GFS了,但是GFS还可以配合Redhat中lvm和lvs使用,可以使GFS更加方便强大这里就不详述了,这些东西RedHat都有官方的文档,有兴趣的朋友可以更深入的研究。

分享到:
评论

相关推荐

    KVM+GFS构建KVM高可用群集案例

    文章目录一、案例概述二、实验环境三、实验目的四、实验配置4.1、部署GFS分布式复制卷平台4.2、部署KVM虚拟化平台五、实验验证 所需安装包(GFS软件和XFTP软件包) 链接:...

    linux集群应用实战

    配置存储集群gfs 配置表决磁盘 配置fence设备 第31-32讲 管理和维护rhcs集群系统 课程目标: 熟练掌握rhcs集群的启动/关闭方式,并能解决常见rhcs问题 启动rhcs集群 关闭rhcs集群 管理应用服务 监控rhcs集群状态 ...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.7 基于Web应用的性能分析及优化案例 10.7.1 基于动态内容为主的网站优化案例 10.7.2 基于动态、静态内容结合的网站优化案例 10.8 本章小结 第5篇 集群高级应用篇 第11章 构建高可用的LVS负载均衡...

    大数据技术原理与应用.docx

    13单选(2分)假设已经配置好PATH环境变量,启动hadoop的命令是() [单选题] * A.start-hadoop.sh B.start-hdfs.sh C.start-fs.sh D.start-dfs.sh(正确答案) 14. 14单选(2分)下列说法错误的是() [单选题] * A.HDFS...

    DRBD9和LINSTOR用户指南中文版.doc

    它不仅涵盖了Pacemaker集群管理器中的DRBD集成,还涵盖了高级LVM配置,DRBD与GFS的集成以及为Xen虚拟化环境增加了高可用性。 • 优化DRBD性能包含从DRBD配置中获得最佳性能的指标。 • 了解更多内容将深入探讨DRBD的...

    tarsnapper:tarsnap包装器,使用gfs-scheme使备份失效

    此功能可以与tarsnapper备份作业结合使用,也可以独立使用,以应用于任何现有的tarsnap备份档案集,而不管它们是如何创建的。安装使用pip : $ pip install tarsnapper在没有配置文件的情况下进行单个备份...

    GeoServer集群部署及性能测试(在虚拟机上实现)

    应用vmware在本地构建linux虚拟机集群,包括一个nginx节点,三个GeoServer节点,三个GlusterFS文件系统节点。 软件准备 1.geoserver软件(使用tomcat作为web容器) 2.nginx 3.glusterFS 虚拟系统准备 在vmware中克隆...

    grib_ingest:用于初始化和强制数值天气预报的 GRIB2 文件的摄取系统

    grib_ingest应用程序可以配置为从各种来源检索 GRIB2 文件,并带有两个预配置的 GRIB2 来源: 适用于 CONUS 地区的 NAM 218 12 公里产品 GFS 1 度全球模型 注:CONUS = 美国本土,GFS = 全球预报模型,WRF = ...

    云计算第二版

    2.1 Google文件系统GFS 17 2.1.1 系统架构 18 2.1.2 容错机制 20 2.1.3 系统管理技术 20 2.2 分布式数据处理MapReduce 21 2.2.1 产生背景 21 2.2.2 编程模型 22 2.2.3 实现机制 22 2.2.4 案例分析 24 2.3 分布式锁...

    中标麒麟服务器操作系统介绍.pdf

    中标麒麟服务器操作系统介绍 目录 中标麒麟服务器操作系统介绍 1 面向的市场客户及应用场景分析 2 成功案例介绍 4 客户价值分析 3 Linux操作系统 Linux是一种自由和开放源码的类 Unix操作系统。 基于Linux内核,使用...

    37篇经过消化的云计算论文

    我们构建配置了云防病毒系统,CloudAV,他包括轻量级跨平台的主机代理,一个由十个防病毒软件引擎构成的网络服务,和两个检测引擎。经过测试有很好的性能。 22、 Implementation Issues of A Cloud Computing ...

    37篇经过消化云计算论文打包下载

    我们构建配置了云防病毒系统,CloudAV,他包括轻量级跨平台的主机代理,一个由十个防病毒软件引擎构成的网络服务,和两个检测引擎。经过测试有很好的性能。 22、 Implementation Issues of A Cloud Computing ...

    Taobao oceanbase代码

    单个tablet的尺寸可以根据应用数据特点进行配置,相对配置过小的tablet会合并,过大的tablet则会分裂。  由于tablet按主键分块连续存放,因此OceanBase按主键的范围查询对应着连续的磁盘读,十分高效。  对于...

    课程实验基于Java实现的分布式存储系统源码+项目说明.tar

    * 根据**约定大于配置理念**实现文件存储服务器选择器,便于负载均衡策略的拓展与调整 * 自定义文件元数据存储格式,自定义文件名生成规则保证文件在同一个时段内的**唯一性**,并基于该特性实现**断点续传** * ...

Global site tag (gtag.js) - Google Analytics