>> 在RHEL5+SAN平台上实现Cluster功能

    本文主要说明在RHEL5+SAN架构上如何实现Cluster功效。本文仅仅从操作步骤方面加以阐明,并配以简略的操作解释,不能替换具体的操作文档。关于Cluster配置中的具体操作方式,详见Redhat官方操作文档。
    本文为非正式文档,仅作为内部材料供工程师交换使用,不作为用户手册提交给终极用户。
    一、        参考文献:
    ?        Cluster_Administration_5.pdf
    ?        Cluster_Logical_Volume_Manager_5.pdf
    ?        Cluster_Suite_Overview_5.pdf
    ?        Global_File_System_5.pdf
    ?        rh-gfs-en-6_1.pdf
    二、        系统平台
    ?        硬件平台:
    ?        服  务  器:Dell 2950
    ?        存储  阵列:CX3-10(SAN)
    ?        光纤交换机:Brocade SW200E
    ?        HBA卡:Qlogic
    ?        软件平台:
    ?        操作系统:RHEL5 AP(其中包含Redhat Cluster Suite)
    三、        实现步骤:
    1.        衔接硬件平台
    a)        准确安装HBA卡到服务器中
    b)        准确衔接服务器、光纤交流机与SAN
    2.        准确配置SAN以及光纤交流机,记载下装备的IP地址、用户名及密码供配置Cluster应用。
    关于SAN的配置和光纤交流机的配置这里就不做具体先容,请参考随机的用户手册或配置文档。
    3.        安装操作系统
    选择默认安装即可,这里需要注意的是Cluster已经在运行,需要再增添一台服务器到Cluster中,此时安装操作系统的时候,请坚持此服务器处于独立状态,即不要衔接到Cluster,潮人富豪,否则有可能呈现安装问题(LVM)。
    在安装服务器中,须要配置如下信息:
    ?        配置网络信息
    1)        IP地址:一般情形下。每台服务器至少需要配置2块网卡:第一块网卡重要用于与外界系统进行通信;第二块网卡重要用于Cluster内部主机间的通信。
    2)        服务器名称,其格式如下:主机名+域名,如Portal1.itv.njcatv.net。Redhat Cluster配置工具Conga请求服务器名称必需遵守以上格式,否则服务器将不能通过Conga被参加Cluster。
    ?        防火墙,在配置时可以封闭防火墙,但是为了确保系统的安全,我们建议按如下方式配置防火墙,当然,完美国际sf913外挂,以上配置也可以在正确安装系统落后行配置。
    1)        增添端口列表:
    端口                协定        阐明
    ?        177     udp         XDMCP                供给远程桌面拜访服务
    ?        8084   tcp          luci                     Conga user interface server
    ?        11111  tcp          ricci                    Conga remote agent
    ?        5404    udp         cman                   Cluster Management
    ?        5405    udp         cman                   Cluster Management
    ?        14567   tcp         gndb                   gndb
    ?        16851   tcp         modclusterd          part of Conga remote agent
    ?        21064   tcp         dlm                     Distributed Lock Manager
    ?        41966   tcp         rgmanager            high-availability service management
    ?        41967   tcp         rgmanager            high-availability service management
    ?        41968   tcp         rgmanager            high-availability service management
    ?        41969   tcp         rgmanager            high-availability service management
    ?        50006   tcp         ccsd                    Cluster Configuration System daemon
    ?        50007   udp         ccsd                    Cluster Configuration System daemon
    ?        50008   tcp          ccsd                    Cluster Configuration System daemon
    ?        50009   tcp          ccsd                    Cluster Configuration System daemon
    2)        配置SELinux
    在缺省配置时此配置为“强迫”,在使用Conga配置Cluster时需要修改为“容许”。否则可能在使用Conga配置Cluster是呈现过错,色?戒?戒色?色戒?
    3)        管理用户,以方面用户远程管理服务器时应用。(不是必需)
    完成以上配置后,系统将自动重新启动已完成系统的安装工作。
    4.        启用luci服务(Conga)和clvmd(逻辑卷管理)服务
    打开“系统?管理?服务器设置?服务”,选中clvmd和luci,以便在下次启动时系统能够自行加载以上两个服务。
    5.        配置luci服务
    a)        配置luci治理员密码
    注意在进行luci管理员密码初始化时,请确保luci服务没有运行
    # luci_admin init
    Initializing the Luci server

    Creating the 'admin' user
    Enter password: <Type password and press ENTER.> clusteradmin(输进初始密码)
    Confirm password: <Re-type password and press ENTER.> clusteradmin(再次确认初始密码)
    Please wait...
    The admin password has been successfully set.
    Generating SSL certificates...
    Luci server has been successfully initialized
    Restart the Luci server for changes to take effect
    eg. service luci restart
    b)        启动luci服务
    有两种方法启动luci服务:1.通过“系统?管理?服务器设置?服务”图形界面启动luci服务,伤心;2.在终端窗口下使用命令行方法启动luci服务,命令格式如下:service luci start,如下所示:
    # service luci restart
    Shutting down luci:                                                                                        [ OK ]
    Starting luci: generating https SSL certificates... done
    [ OK ]
    Please, point your web browser to https://nano-01:8084 to access luci
    同理,其他服务也可以通过以上方法启动、结束或检讨其状况,命令格局如下:
    # service command start|stop|status|restart
    对于体系服务,可以通过如下命令来检讨其工作状况
    # chkconfig --list
    6.        配置XDMCP服务
    1)        对于XDM服务配置
    a)        修正服务运行级别为“5”
    打开/etc/inittab文件,配置服务初始化运行级别为“5”,如下:
    id:5:initdefault:
    2)        配置XDMCP服务自启动
    For GDM:
    打开/etc/gdm/custom.conf文件,查找[xdmcp]选项,并设置“Enable”值为“1”,如下:
    [xdmcp]
    Enable=1
    For KDM:
    打开/usr/share/config/kdm/Xaccess文件,并删除下述内容前面的“#”
    修正前:
    #* #any host can get a login window ==>
    修改后:
    * #any host can get a login window
    打开/usr/share/config/kdm/kdmrc文件,查找[xdmcp]选项,并设置“Enable”值为“true”,如下:
    [xdmcp]
    Enable=true
    3)        配置防火墙,增添端口(177/UDP)端口到防火墙
    4)        至此,已经完成XDMCP服务的配置,之后重器服务器,启动XDMCP服务。
    5)        下载并安装客户端(Xmanager 2.xx)并启动Xmanager服务,输入所需要管理的服务器的IP地址、用户名及密码,即可对服务器进行远程管理。
    7.        编纂/etc/hosts文件(每台服务器都需要进行此配置)
    打开/etc/hosts文件,将cluster中所有的服务器信息插入文件(包含本机信息),这是信息包含:1)IP地址(用于Cluster内部通讯);2)主机名。
    注意:建议以上服务器信息存储在/etc/host文件的最前面,放在文件的结尾处,在配置Cluster的时候可能会存在过错,如conga将本机的IP地址解析为:127.0.0.1。
    8.        在SAN上注册服务器到。将SAN随机利用软件中的代理(Agent)服务安装到所有的服务器上,之后启动此服务,此服务会主动将服务器注册到SAN上。之后你可以登录SAN,分配主机到指定的LUN(假如存在多个LUN的话)
    9.        至此,配置Cluster的前期筹备工作已经完成,将所有的服务重视启,预备进行Cluster配置。
    10.        待所有的服务器都已经启动后,打开阅读器,在地址栏中键入luci服务的链接地址,如下:
    https://192.168.0.1:8084,输进治理员名称及密码,进进配置页面,如图:
    图1 Luci配置页面
    11.        增长一个Cluster。点击cluster,进入cluster配置页面,点击左侧配置栏中的“Create a new Cluster”,依照页面所提醒,输入所有需要参加Cluster的服务器的名称及root的密码,并选中“Enable Shared Storage Support”,之后点击“Summit”提交恳求。在等候一会儿之后,你可以看到一个Cluster并创建。
    注意:Cluster的名称不能超过15个字节,否则启动服务的时候会报错!从而导致系统不能正常运行。
    还有,你仅仅须要运行一次,Cluster软件就会被主动下载并安装到每一个Cluster节点,同时在/etc/cluster目录下创立一个cluster.conf的文件。
    另外,在创立Cluster系统中系统将主动重启,这种现象是正常的,待所有节点重启完成后,你将可以看到如下页面:
    图2 luci配置页面
    12.        创建QDisk及GFS2
    QDisk:重要用处是防止体系因部分节点故障,从而致使全部Cluster不能正常工作。
    GFS2:一种支撑多节点共享同一个磁盘分区的文件系统。这是本次工作要实现的一个主要功效。下面是本次创建QDisk及GFS2的具体进程,供大家参考,同时也盼望大家对其中的不足进行指导。
    1)        使用Fdisk工具对系统进行分区,在本文中,我创建了一个扩大分区:/dev/sdb5,并在此分区上创建了两个逻辑卷,下面是具体的操作过程。
    2)        创建物理卷组
    # pvcreate /dev/sdb5
    3)        查看物理卷组信息
    # pvs
    4)        创建逻辑卷组
    # vgcreate Cluster /dev/sdb5
    5)        查看逻辑卷组信息
    # vgs
    6)        创建逻辑卷
    ?        创立QDisk逻辑卷
    # lvcreate -L10M -n QDisk Cluster
    注:Qdisk分区不能小于10M。
    ?        创建Portal逻辑卷
    # lvcreate -L127.98G -n Portal Cluster
    7)        查看逻辑卷信息
    # lvs
    8)        格局化成逻辑卷/dev/Cluster/QDisk
    # mkqdisk -c /dev/Cluster/QDisk -l QDisk_Portal
    ?        QDisk_Portal:为此逻辑卷的卷标,请记住此卷标,在配置Quorum参数时须要用到此卷标
    9)        格式化成逻辑卷/dev/Cluster/Portal为GFS格式
    # mkfs.gfs2 -p lock_dlm -t Cluster_Portal:gfs2 -j 16 /dev/Cluster/Portal
    ?        Cluster_Portal:为此逻辑卷的卷标,此卷标必需与Cluster服务的名称雷同
    ?        Gfs2:为此卷的文件体系格局
    10)        Mount
    # mount.gfs2 -t gfs2 /dev/Cluster/Portal /mnt/Cluster_Portal/
    11)        修改mount点的属性
    # chmod 777 /mnt/Cluster_Portal
    12)        修改/etc/fstab文件,将此逻辑卷在每次启动的时候自动mount,如下:
    # vi /etc/fstab
    /dev/VolGroup00/LogVol00 /                    ext3    defaults        1 1
    LABEL=/boot             /boot                 ext3    defaults        1 2
    devpts                  /dev/pts              devpts  gid=5,mode=620  0 0
    tmpfs                   /dev/shm              tmpfs   defaults        0 0
    proc                    /proc                 proc    defaults        0 0
    sysfs                   /sys                  sysfs   defaults        0 0
    /dev/VolGroup00/LogVol01 swap                 swap    defaults        0 0
    /dev/Cluster/Portal     /mnt/Cluster_Portal   gfs2    defaults        0 0
    注:由于是逻辑卷,因此需要启动LVM2服务,以便能够正常激活此卷。
    修改完成/etc/fstab文件后,试着曾经重新启动过服务器,在服务器启动进程中发明呈现两个过错:1)Setting up Logical Volume Management;2)Mounting local filesystems。不过系统起来后却发明逻辑卷已经自动mount,使用也正常,不知是为什么?还请大家指导!
    13.        修正Cluster全局配置、配置Fence资源及Service
    依照Redhat官方手册解释,可以应用Conga持续完成Cluster的配置,但我配置了几次均告失败,当我对配置进行更新时,仅仅在1台服务器下面发明了更新的配置文件:cluster.conf.update,不只是什么原因。还请懂得的人来弥补阐明。
    不过固然上述配置失败,你可以通过Redhat供给的另外一个配置工具:Cluster Management(你可以通过“系统?管理?服务器设置?Cluster management”来进入配置界面)来完成以上的配置进程。配置界面如下:
    图3 Cluster Management配置界面
    依次完成以上的配置后,注意要保留配置文件,并且将用此配置文件对Cluster中所有的节点进行更新。至此Cluste已经配置完成,你可以通过luci配置页面看到以上资源(服务)及其状况。终极的Cluster配置文件如下:
    # cat /etc/cluster/cluster.conf
    <?xml version="1.0" ?>
    <cluster alias="Cluster_Portal" config_version="12" name="Cluster_Portal">
            <fence_daemon post_fail_delay="0" post_join_delay="3"/>
            <clusternodes>
                    <clusternode name="Portal3.abc.net" nodeid="1" votes="1">
                            <fence>
                                    <method name="1"/>
                            </fence>
                            <multicast addr="239.52.3.13" interface="eth1"/>
                    </clusternode>
                    <clusternode name="Portal2.abc.net" nodeid="2" votes="1">
                            <fence>
                                    <method name="1"/>
                            </fence>
                            <multicast addr="239.52.3.13" interface="eth1"/>
                    </clusternode>
                    <clusternode name="Portal1.abc.net" nodeid="3" votes="1">
                            <fence>
                                    <method name="1"/>
                            </fence>
                            <multicast addr="239.52.3.13" interface="eth1"/>
                    </clusternode>
            </clusternodes>
            <cman>
                    <multicast addr="239.52.3.13"/>
            </cman>
            <fencedevices>
                    <fencedevice agent="fence_brocade" ipaddr="192.168.0.17" login="admin" name="SW200E" passwd="password"/>
            </fencedevices>
            <rm>
                    <failoverdomains/>
                    <resources>
                            <clusterfs device="/dev/Cluster/Portal" force_unmount="0" fsid="54145" fstype="gfs" mountpoint="/mnt/Cluster_Portal" name="Cluster_Portal" options=""/>
                    </resources>
                    <service autostart="1" name="MountGFS">
                            <clusterfs ref="Cluster_Portal"/>
                    </service>
            </rm>
    </cluster>
    至此本次Cluster配置完成。重新启动后,通过luci治理页面可以看到所有节点及相干服务都已经正常启动并运行。
    这里需要解释一点的是有些功效我并没有配置,在今后的配置中可能会存在一些问题,请大家弥补
  • 浏览次数: