红帽集群套件RHCS iSCSI GFS实现iscsi集群

红帽集群套件RHCS 虚拟fence实验
RHCS(Red Hat Cluster Suite)是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合.

LUCI:是一个基于web的集群配置方式,通过luci可以轻松的搭建一个功能强大的集群系统。
CLVM:Cluster逻辑卷管理,是LVM的扩展,这种扩展允许cluster中的机器使用LVM来管理共享存储。
CMAN:分布式集群管理器。

实验规划:节点两台,管理主机一台
节点一:192.168.0.54 (desktop54.example.com)
节点二:192.168.0.85 (desktop85.example.com)
管理主机:192.168.0.22 (desktop22.example.com)

一、【准备工作】
1、将三台电脑的解析分别写入到各自的 hosts 文件,这里是这样:
192.168.0.54 desktop54.example.com
192.168.0.85 desktop85.example.com
192.168.0.22 desktop22.example.com
2、两台节点主机关闭 selinux、iptables、和NetworkManager
[root@desktop54 node1]# iptables -F
[root@desktop54 node1]# service iptables save

[root@desktop54 node1]# grep ^SELINUX= /etc/selinux/config

SELINUX=enforcing
[root@desktop54 node1]# sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

[root@desktop54 node1]# yum remove NetworkManager NetworkManager-glib NetworkManager-gnome NetworkManager-devel NetworkManager-glib-devel
[root@desktop54 node1]# reboot
(node1和node2都关闭selinux、iptables和NetworkManager)
一、【管理主机】
安装luci:
[root@desktop22 manager]# yum install luci -y

[root@desktop22 manager]# chkconfig luci on
[root@desktop22 manager]# service luci start
Point your web browser to https://desktop22.example.com:8084 to access luci
这是可以通过访问 https://desktop22.example.com:8084 进入到RHCS网页集群管理。要求安装证书,然后以系统用户登录。这里以 root 登录。

二、【节点配置】
安装 ricci、rgmanager、cman
[root@desktop54 node1]# yum install ricci rgmanager cman -y
[root@desktop54 node1]# chkconfig ricci on
[root@desktop54 node1]# chkconfig rgmanager on
[root@desktop54 node1]# chkconfig cman on
[root@desktop54 node1]# service ricci start
Starting ricci:                                            [  OK  ]
[root@desktop54 node1]# service rgmanager start
Starting Cluster Service Manager:           [  OK  ]
[root@desktop85 node2]# service cman start

   Starting cluster:
   Checking Network Manager...               [  OK  ]
   Global setup...                                         [  OK  ]
   Loading kernel modules...                       [  OK  ]
   Mounting configfs...                                 [  OK  ]
   Starting cman... xmlconfig cannot find /etc/cluster/cluster.conf
                                                                    [FAILED]
这是因为还没有加入集群没有产生配置文件/etc/cluster/cluster.conf

三、【管理界面配置】
登录网址:https://desktop22.example.com:8084 name:root password:kevin
1、添加集群:
Manager Clusters ->
Create {集群名字,节点的密码是否一样,输入主机名和密码,端口不用改。这里选择在线下载所需的软件包,允许加入节点前重启,支持共享存储。}
->Create Cluster

2、配置集群:(点击创建的集群进去)
**创建节点:
创建完集群之后:会将添加的节点加进去,但都是显示红色,是因为相互通信的cman服务没有开启,手动开启cman服务:
[root@desktop54 node1]# service cman start    (节点1)
Starting cluster:
   Checking Network Manager...                             [  OK  ]
   Global setup...                                         [  OK  ]
   Loading kernel modules...                               [  OK  ]
   Mounting configfs...                                    [  OK  ]
   Starting cman...                                        [  OK  ]
   Waiting for quorum...                                   [  OK  ]
   Starting fenced...                                      [  OK  ]
   Starting dlm_controld...                                [  OK  ]
   Starting gfs_controld...                                [  OK  ]
   Unfencing self...                                       [  OK  ]
   Joining fence domain...                                 [  OK  ]

[root@desktop86 node2]# service cman start    (节点2)
Starting cluster:
   Checking Network Manager...                             [  OK  ]
   Global setup...                                         [  OK  ]
   Loading kernel modules...                               [  OK  ]
   Mounting configfs...                                    [  OK  ]
   Starting cman...                                        [  OK  ]
   Waiting for quorum...                                   [  OK  ]
   Starting fenced...                                      [  OK  ]
   Starting dlm_controld...                                [  OK  ]
   Starting gfs_controld...                                [  OK  ]
   Unfencing self...                                       [  OK  ]
   Joining fence domain...                                 [  OK  ]
此时再刷新管理页面,节点都显示正常了。

**添加fence设备:
Fence Devices -> Add{Fence virt(Multicast Mode) (然后fence type 会变为fence xvm ) ; 名字:kevin_virt_fence} -> Submit 确定

**添加Failover Domains 故障转移域:
Prioritized:优先级,故障转移时选择优先级高的。
Restricted:服务只运行在指定的节点上。
No Failback:当故障节点又正常的时候,不必把服务切换回去。
Failover Domains ->
Add {名字:kevin_failover ;勾选Prioritized,No Failback具体情况自己设定;将实验的两台节点勾选,设定其优先级。}

-> Create

**添加资源:(具体的自己添加,实验以apache服务)
Resources -> Add -> 选择IP Address

{IP address:192.168.0.234『虚拟ip地址,用于访问的,确保没被使用』;
Netmask bits (optional):24『掩码位数』;
Monitor link:勾选上;
Number of seconds to sleep after removing an IP address:默认 }
->Submit

Resources -> Add -> 选择Script

{Name:httpd;
Full path to script file:/etc/init.d/httpd }
->Submit

**添加服务:(具体的自己添加)
Services -> Add

{Service name:apache ;
Automatically start this service:勾上『自动启动服务』;
Run exclusive:
Failover domain:选择刚刚加入的故障转移域kevin_failover;
Recovery policy:轮循方式}
-> Add a resource
选择刚刚添加的虚拟ip -> Add a resource
选择刚刚添加的脚本httpd ->Submit

四、测试
节点均装上httpd服务并开启服务:
[root@desktop54 node1]# yum install httpd -y     (节点1)
[root@desktop54 node1]# service httpd start
[root@desktop54 node1]# echo `hostname` > /var/www/html/index.html

[root@desktop86 node2]# yum install httpd -y     (节点2)
[root@desktop86 node2]# service httpd start
[root@desktop86 node2]# echo `hostname` > /var/www/html/index.html

没有截图,用文本方式访问:
[root@desktop22 server]# elinks -dump 192.168.0.54    (管理)
   desktop54.example.com
[root@desktop22 server]# elinks -dump 192.168.0.86
   desktop86.example.com
OK! 都正常
[root@desktop22 server]# elinks -dump 192.168.0.234   
(虚拟ip)
   desktop54.example.com    (54优先级高)

在node1上模拟故障,看服务还能继续吗?用web方式刷新更直观
[root@desktop54 node1]# echo b > /proc/sysrq-trigger

[root@desktop22 server]# elinks -dump 192.168.0.234    (虚拟ip)
   desktop86.example.com
再等node1开接启动服务后:
[root@desktop22 server]# elinks -dump 192.168.0.234    (虚拟ip)
   desktop86.example.com
服务节点切回去了,这是因为刚刚勾选No Failback了。即使服务节点正常了不会再切回去。

【iSCSI GFS实现网络存储】

1、查看iscsi的状态:
[root@desktop54 node1]# /etc/init.d/iscsi status    (node1的状态)
iSCSI Transport Class version 2.0-870
version 2.0-872
Target: iqn.2012-03.com.example:kevin
    Current Portal: 192.168.0.24:3260,1
    Persistent Portal: 192.168.0.24:3260,1
        **********
        Interface:
        **********
        Iface Name: default
        Iface Transport: tcp
        Iface Initiatorname: iqn.1994-05.com.redhat:86d532367ca0
        Iface IPaddress: 192.168.0.54
        Iface HWaddress: <empty>
        Iface Netdev: <empty>
        SID: 2
        iSCSI Connection State: LOGGED IN
        iSCSI Session State: LOGGED_IN
        Internal iscsid Session State: NO CHANGE
        ************************
        Negotiated iSCSI params:
        ************************
        HeaderDigest: None
        DataDigest: None
        MaxRecvDataSegmentLength: 262144
        MaxXmitDataSegmentLength: 8192
        FirstBurstLength: 65536
        MaxBurstLength: 262144
        ImmediateData: Yes
        InitialR2T: Yes
        MaxOutstandingR2T: 1
        ************************
        Attached SCSI devices:
        ************************
        Host Number: 3    State: running
        scsi3 Channel 00 Id 0 Lun: 0
        scsi3 Channel 00 Id 0 Lun: 1
            Attached scsi disk sdb    (这里发现为sdb)    State: running
[root@desktop86 node2]# service iscsi status     (node2的状态)
iSCSI Transport Class version 2.0-870
version 2.0-872
Target: iqn.2012-03.com.example:kevin
    Current Portal: 192.168.0.24:3260,1
    Persistent Portal: 192.168.0.24:3260,1
        **********
        Interface:
        **********
        Iface Name: default
        Iface Transport: tcp
        Iface Initiatorname: iqn.1994-05.com.redhat:12546582ea96
        Iface IPaddress: 192.168.0.85
        Iface HWaddress: <empty>
        Iface Netdev: <empty>
        SID: 2
        iSCSI Connection State: LOGGED IN
        iSCSI Session State: LOGGED_IN
        Internal iscsid Session State: NO CHANGE
        ************************
        Negotiated iSCSI params:
        ************************
        HeaderDigest: None
        DataDigest: None
        MaxRecvDataSegmentLength: 262144
        MaxXmitDataSegmentLength: 8192
        FirstBurstLength: 65536
        MaxBurstLength: 262144
        ImmediateData: Yes
        InitialR2T: Yes
        MaxOutstandingR2T: 1
        ************************
        Attached SCSI devices:
        ************************
        Host Number: 3    State: running
        scsi3 Channel 00 Id 0 Lun: 0
        scsi3 Channel 00 Id 0 Lun: 1
            Attached scsi disk sda    (发现为sda,源存储为vda)    State: running

2、在节点node1和node2上配置:
[root@desktop54 node1]# lvmconf --enable-cluster    (启动CLVM的集成cluster锁)
[root@desktop54 node1]# chkconfig clvmd on
[root@desktop54 node1]# service clvmd start    (clvm对lvm有效哦)
Activating VG(s):   No volume groups found
                                                           [  OK  ]

3、现在可以在任意一台节点client对发现的磁盘进行分区,划分出sdb1。然后格式化成网络文件系统gfs2.
[root@desktop54 node1]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
[root@desktop54 node1]# vgcreate vg1 /dev/sdb1

  Clustered volume group "vg1" successfully created
[root@desktop54 node1]# lvcreate -L 1G -n lv1 vg1
  Error locking on node desktop85.example.com: Volume group for uuid not found: e1CQKruwtLzT6dRc9wysYIDq1Df78V0hZDs9a1sf3duPexOyv115ETnOiM9C4P36
  Aborting. Failed to activate new LV to wipe the start of it.

(出现问题了,不能创建lv 我们去node2上去同步一下吧)
[root@desktop86 node2]# pvcreate /dev/sda1
  Can't initialize physical volume "/dev/sda1" of volume group "vg1" without -ff    (不用管,再去node2看看。)
[root@desktop54 node1]# lvcreate -L 1G -n lv1 vg1
  Logical volume "lv1" created    (能够创建lv了。)
[root@desktop54 node1]# /etc/init.d/clvmd start
Activating VG(s):   1 logical volume(s) in volume group "vg1" now active
                                                           [  OK  ]

4、创建GFS文件系统
[root@desktop54 node1]# mkfs.gfs2 -p lock_dlm -t kevin_cluster:gfs2 -j 3 /dev/vg1/lv1

This will destroy any data on /dev/vg1/lv1.
It appears to contain: symbolic link to `../dm-0'

Are you sure you want to proceed? [y/n] y

Device:                    /dev/vg1/lv1
Blocksize:                 4096
Device Size                1.00 GB (262144 blocks)
Filesystem Size:           1.00 GB (262142 blocks)
Journals:                  3
Resource Groups:           4
Locking Protocol:          "lock_dlm"
Lock Table:                "kevin_cluster:gfs2"
UUID:                      0E8AC404-767B-8C1A-5ADF-8B18AB157CC3

『kevin_cluster:gfs2这个kevin_cluster就是集群的名字,gfs2是定义的名字,相当于标签吧。-j是指定挂载这个文件系统的主机个数,不指定默认为1即为管理节点的。这里实验有两个节点,加上管理主机为3』

5、挂载GFS文件系统
在挂载之前将RHCS上apache服务停掉:
Services 里将apache服务disabled掉。
[root@desktop54 node1]# mount.gfs2 /dev/vg1/lv1 /var/www/html/
如果这里出现类似『fs is for a different cluster error mounting lockproto lock_dlm』错误,查看日志文件:tail -n1 /var/log/messages,当前集群名字为current="kevin_cluster",上一步重新格式化,修改集群名就好了。

6、测试
**node1:
[root@desktop54 node1]# echo node1 > /var/www/html/index.html
[root@desktop54 node1]# service httpd start

[root@desktop24 ~]# elinks -dump 192.168.0.54    (管理主机)
   node1

**node2:
[root@desktop86 node2]# mount.gfs2 /dev/vg1/lv1 /var/www/html/
[root@desktop86 node2]# service httpd start

[root@desktop24 ~]# elinks -dump 192.168.0.85    (管理主机)
   node1
看,node2挂载上之后,数据还是刚刚在node1里边创建的。达到了共享存储的目的。
整合GFS文件系统和apache服务到RHCS集群套件上集中管理吧。

**Resources -> Add
-> GFS2
{Name:lv1;
Mount point:/var/www/html;
Device, FS label, or UUID:/dev/vg1/lv1;
Mount options:_netdev;
Force unmount: yes}
-> Submit

**Services -> apache ->
Add a resource ->
lv1 -> Submit
然后启动apache服务

用浏览器访问:http://192.168.0.234
[root@desktop24 ~]# elinks -dump 192.168.0.234
   client1

OK 配置成功
还可以模拟刚刚的节点故障~ 实现了需要的效果.

本文出自 “梦想年华 @楚国小生” 博客,请务必保留此出处http://linuxkeep.blog.51cto.com/1010009/803550

时间: 2024-10-15 02:28:46

红帽集群套件RHCS iSCSI GFS实现iscsi集群的相关文章

RHCE学习&lt;13&gt;RHCS集群(RHCS+GFS2+ISCSI)

简单介绍: RHCS(REDHAT CLUSTER SUITE:红帽群集套件)是一款能够提供高性能.高可靠性.负载均衡.高可用性的集群工具集,一个集群通常有两个或两个以上的计算机(称为"节点"或"成员")共同执行一个任务. GFS(Google File System)GFS是一个可扩展的分布式文件系统,用于大型的.分布式的.对大量数据进行访问的应用.是RHCS为集群系统提供的一个存储解决方案,它允许集群的多个节点在块级别上共享存储,多个节点同时挂载一个文件系统分区

Oracle 10g RAC集群安装部署过程中如何安装RAC集群套件

一.首先解压集群套件包: gunzip 10201_clusterware_linux_x86_64.gz cpio -idmv < 10201_clusterware_linux_x86_64.cpio 解压放置的地方需要有oracle用户使用的权限 二.开始安装oracle RAC集群套件, 2.2.1.安装之前首先关闭两个节点的防火墙,Selinux不然是无法通过安装的 2.2.2.安装之前修改系统版本,来欺诈oracle数据库,然后执行xhost+ 2.2.3.完成上面的配置之后,使用o

代码-vsphere api 在vcenter上有多个集群,需要克隆的模版在一个集群上,怎么指定集群

问题描述 vsphere api 在vcenter上有多个集群,需要克隆的模版在一个集群上,怎么指定集群 公司现在有个需求,需要通过模版克隆虚拟机,在一个集群中通过API克隆没有问题,换了一个环境有两个集群,用原来的代码报错说指定的参数错误.在clone的配置中没有找到集群相关参数,求大神指导 解决方案 什么是集群

教你给Mac群组信息设置一个高端的群名称

  当你在 Mac 上的短信应用使用群组对话的时候,你会发现"收件人"一栏写满了群组成员的名字,在某些场合如果显示所有的人名的话,也许并不适合,例如当群组对话信息多起来的话,或许你就分不清哪个群组是负责什么职能了,所以我们可以给群组对话安排一个名字或者一个主题. 如果这是一个工作用的群组,你可以标记为"工作";如果是家人组成的聊天群组,你可以标记为"家庭对话",因而选择一个合适的群组名称有助你区分不同的群组. 1. 首先我们可以打开 Mac 上的

创建的群组突然消失了一部分,在环信后台页面上只显示少量群组记录,请问哪里可以查群组被删除的相关记录,想定位问题

问题描述 创建的群组突然消失了一部分,在环信后台页面上只显示少量群组记录,请问哪里可以查群组被删除的相关记录,想定位问题 解决方案 同问,群全找不到了同问,群全找不到了同问,群全找不到了重要的喊三遍解决方案二:同问,群全找不到了同问,群全找不到了同问,群全找不到了 重要的喊三遍解决方案三:同问,群部分丢失了同问,群部分丢失了同问,群部分丢失了 重要的喊三遍解决方案四:同问,群部分丢失了同问,群部分丢失了同问,群部分丢失了 重要的喊三遍解决方案五:@shangfabao  @复制体楚轩  现在是否

微信集12生肖活动入口在哪 微信集12生肖玩法介绍

微信集12生肖活动入口在哪 微信集12生肖玩法介绍 一.首先进入到微信,进入到[钱包]界面,在钱包界面点击进入[理财通]界面,如图所示. 二.进入到理财通界面之后,切换至[我的]界面,随后下下方找到[活动中心]如图所示. 三.最后即可在活动界面下方看到[生肖迎新年送福袋.海量豪礼有惊喜]这个就是活动入口,如图所示. 四.就可以查福袋,获得12生肖 活动介绍 1.活动时间:2016年12月20日-2017年1月6日 2.活动玩法:开启福袋可获得Phone 7.Pad mini4.理财红包.加送收益

手机QQ群匿名聊天在哪开启?QQ群匿名聊天打开方法

先我们在手机中要安装最新版本的QQ,最低在QQ5.1版本才可以哦. 然后我们在QQ群中点击"群资料" 进入下面界面: 然后在群资料界面点击"管理群" 然后我们点击进入 现在在打开的"管理群"你会看到有一项"允许群内匿名聊天"在这里我们打开它. 接下来,如果想使用匿名聊天功能,只需要在群聊天窗口中点击"+"按钮,从打开的扩展面板中点击"匿名"项. 这样你发现你的就是"匿名&quo

Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍_MongoDB

Mongodb3.0.5 副本集搭建及spring和java连接副本集配置详细介绍 一.基本环境: mongdb3.0.5数据库 spring-data-MongoDB-1.7.2.jar mongo-Java-driver-3.0.2.jar Linux-redhat6.3 tomcat7 二.搭建mongodb副本集: 1.  分别在三台linux系统机上安装mongodb,(为避免和机器上原有的mongodb端口冲突,这里设为57017): 192.168.0.160 192.168.0.

手机QQ群匿名聊天功能怎么使用?QQ群匿名聊天方法

手机QQ群匿名聊天如何使用--开启方法: 1)保证升级了QQ之后我们点击[联系人]进入之后找到里边的[群组]之后再打开.    2)然后我们找到自己群,也就是管理员了,然后点击右上角[人头标志]    3)进入到[管理群]之后我们只要把[允许群内匿名聊天]打开就可以了.    手机QQ群匿名聊天如何使用--使用方法: 1)在我们打开了QQ群的[允许群内匿名聊天]然后在聊天窗口我们点击[+]就可以选择[匿名]即可进入匿名聊天模式.    2)在匿名中我们是可以设置一些名字发,如设置[海豚]然后就可