CentOS集群

 

CentOS 集群实验


原文:http://blog.csdn.net/gh57897053/archive/2009/08/15/4448496.aspx

截图下载地址http://download.csdn.net/source/2432822

 

搭建环境:

1.CentOS 5.3 ,自带的集群软件。

2.vmware workstation 6.0 版本。

3. 三个CentOS 主机,其中一个提供iscsi 协议的共享磁盘,其他二个作为集群节点。

4. 使用system-config-cluster 组件配置集群。

 

主机ShareDisk.RHCS IP=192.168.1.50/24 2 块硬盘;

主机ClusterA.RHCS  IP=192.168.1.101/24 2 块网卡;

主机ClusterB.RHCS  IP=192.168.1.201/24 2 块网卡;

 

实验过程的截图太多了,就不发上来了,需要的请留email。

 

步骤一:共享存储的模拟。


1.配置主机ShareDisk.RHCS,修改主机名为ShareDisk.RHCS

 

2.安装scsi-targetrpm 包,作为iscsi 共享存储服务器。Perl-Config-General 包是依赖包。

#rpm -ivh scsi-target-utils-0.0-5.20080917snap.el5.i386.rpm

 

3.fdisk -l 查看磁盘信息。实验环境是:

Sda 磁盘是根目录、boot 分区、swap 分区共8GSdb 用来作共享存储共4G

 

4.在sdb 上划分3500M 的分区:

#fdisk /dev/sdb

 

5.重新读取分区表,并开启tgtd 服务:

#partprobe

#service tgtd start

 

6.新增target device

#tgtadm --lld iscsi --op new --mode target --tid 1 --targetname rhcs_storage_1
#tgtadm --lld iscsi --op new --mode target --tid 2 --targetname rhcs_storage_2
#tgtadm --lld iscsi --op new --mode target --tid 3 --targetname rhcs_storage_3

 

7.把新建的target device 加入分区:

#tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1
#tgtadm --lld iscsi --op new --mode logicalunit --tid 2 --lun 1 -b /dev/sdb2
#tgtadm --lld iscsi --op new --mode logicalunit --tid 3 --lun 1 -b /dev/sdb3

 

8.查看target device 的内容:

#tgtadm --lld iscsi --op show --mode target

 

9.允许客户端访问三个目标逻辑卷:

tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
tgtadm --lld iscsi --op bind --mode target --tid 2 -I ALL
tgtadm --lld iscsi --op bind --mode target --tid 3 -I ALL

 

注:以上设置在系统重启后消失,所以设置开机自动执行,编辑/etc/rc.local,添加一下内容:

tgtadm --lld iscsi --op new --mode target --tid 1 --targetname rhcs_storage_1
tgtadm --lld iscsi --op new --mode target --tid 2 --targetname rhcs_storage_2
tgtadm --lld iscsi --op new --mode target --tid 3 --targetname rhcs_storage_3

 

tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1
tgtadm --lld iscsi --op new --mode logicalunit --tid 2 --lun 1 -b /dev/sdb2
tgtadm --lld iscsi --op new --mode logicalunit --tid 3 --lun 1 -b /dev/sdb3

tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
tgtadm --lld iscsi --op bind --mode target --tid 2 -I ALL
tgtadm --lld iscsi --op bind --mode target --tid 3 -I ALL

 

 

10.设置服务开机启动状态,到此共享存储配置完毕。

#service iptables stop

#chkconfig --level 35 iptables off

#chkconfig --level 35 sendmail off

#chkconfig --level 35 tgtd on

 

步骤二:配置iscsi 客户端


1.配置2个集群节点,以下以节点A为例(B节点配置相同),修改主机名为ClusterA.RHCS

 

2.配置网卡:

eth0=192.168.1.101/24

eth1=10.10.10.1/24


 

3.修改hosts 文件,注释掉127.0.0.1的那行,并添加以下内容:

192.168.1.101     ClusterA.RHCS

192.168.1.201     ClusterB.RHCS

 

10.10.10.1        HeartA

10.10.10.2        HeartB

 

 

4.安装iscsi 客户端:

#rpm -ivh iscsi-initiator-utils-6.2.0868-0.18.el5.i386.rpm


5.启动iscsi 服务,设置服务开机自动启动:

#service iscsi start

#chkconfig --level 35 iscsi on


6.搜索目标对象上的共享存储:

iscsiadm -m discovery -t sendtargets -p 192.168.1.50

 

7.登录目标对象使用共享存储:

#iscsiadm -m node -T rhcs_storage_1 -p 192.168.1.50 -l
#iscsiadm -m node -T rhcs_storage_2 -p 192.168.1.50 -l
#iscsiadm -m node -T rhcs_storage_3 -p 192.168.1.50 -l


8.查看磁盘列表发现多了3500M 的磁盘,sdbsdcsdd 分别对应主机ShareDisk 上的sdb1sdb2sdb3

#fdisk -l

 

9.添加开机自动配置,添加内容到rc.local:

iscsiadm -m discovery -t sendtargets -p 192.168.1.50


iscsiadm -m node -T rhcs_storage_1 -p 192.168.1.50 -l
iscsiadm -m node -T rhcs_storage_2 -p 192.168.1.50 -l
iscsiadm -m node -T rhcs_storage_3 -p 192.168.1.50 -l

 

10.在sdbsdcsdd 上创建新分区,sdb1、sdc1、sdd1:

#fdisk /dev/sdb

#fdisk /dev/sdc

#fdisk /dev/sdd

 

11.重读分区表:

#partprobe

 

12.格式化sdb1sdc1sdd1

#mkfs.ext2 /sdb1

#mkfs.ext2 /sdc1

#mkfs.ext2 /sdd1

 

 

13.在节点ClusterB.RHCS 上执行相同步骤(对于磁盘,只要挂上即可,无需其他操作)。

 

步骤三:使用system-config-cluster 组件配置集群

 

1.设置DISPLAY(在任意节点上配置,之后将集群配置文件推到所有集群节点,这里在节点A上配置)

# export DISPLAY=192.168.1.1000.0      //我的 物理主机,安装Xmanager。

# system-config-cluster

 

2.配置集群的步骤

 

2.1选择创建新配置文件,并设置集群名,其他一般选择默认;

2.2 添加fence 设备(这里无所谓了,物理主机为win 的无法使用fence_vmware 脚本模拟这个设备);

2.3 添加一个集群节点,填写添加的节点名,其他默认:

2.4 添加fence 到集群节点(manage fenceing for this node)

2.5同样添加节点B ,然后为节点B 添加fence 设备;

2.6新建failure domain ,添加集群节点到failure domain ,选择节点优先级别;

2.7创建资源IP 、文件系统、script 脚本( 用于启动httpd 服务)

2.8 新建一个集群服务,把上面三个资源添加进来,选择failure domain,以及节点失效后操作(relocate):

2.9保存配置,退出,使用命令把集群配置文件复制到所有集群节点:

 

#scp /etc/cluster/cluster.conf  root@ClusterB.RHCS:/etc/cluster/

 

2.10配置/etc/httpd/conf/httpd.conf

DocumentRoot " /web "

 

2.11所有节点启动集群服务:

service cman start

service clvmd start

service rgmanager start

 

步骤四:验证集群

 

1.查看集群状态(在所有节点中打如下命令,看看有什么不同):

#clustat

#df

#ip addr list

#service httpd status

 

2.将资源切换到B

#clusvcadm -r webServices -m ClusterB.RHCS

 

再查看:

#clustat

#df

#ip addr list

#service httpd status

 

资源所在的节点上可以找到文件系统web、虚拟IP192.168.1.111 ,以及httpd 处于running

相反,其他节点上就没有这些资源。

 

 

3.资源切换过程stoping>>stoped>>starting>>started

 

备注

1.如果节点reboot 或者shutdown ,资源可以正常切换。但是如果网卡down 或者节点断电,资源无法切换。这是由于缺少fence 设备引起的。由于目前实验环境无法模拟fence 设备,所以掉电故障和网卡down 测试就略过。

 

2.conga方式建立集群的步骤和system-config-cluster一样,但是有如下需要注意的:


A:如果使用conga方式配置集群,碰到如下问题的解决办法:

starting luci :[失败]

请检查/etc/hosts文件是否有“127.0.0.1    localhost.domain     localhost ”这行。

 

B:在验证节点ssl时,如果出现“ Unable to connect to node2.ha.lab: Unable to establish an SSL connection to 节点名:11111:ClientSocket(hostname, port, timeout): connect() failed “的错误,请检查ricci客户端是否running ,确认防火墙是配置(干脆关闭了)确认selinux=disabled

 

C:在验证完节点的ssl信息后,再创建集群时,如果出现”An error occurred when trying to contact any of the nodes in the new_Cluster cluster. “可能是因为luci和ricci的版本太低,请升级你的版本 。以CentOS 5.3为例,默认的luci、ricci的版本:

luci-0.12.1-7.el5.centos.1.i386(1).rpm
ricci-0.12.1-7.el5.centos.1.i386(1).rpm

升级完版本:

luci-0.12.1-7.3 .el5.centos.1.i386(1).rpm
ricci-0.12.1-7.3 .el5.centos.1.i386(1).rpm

 

使用conga的方式建立cluster,问题多多,而且相应速度慢,推荐使用system-config-cluster。

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值