红帽(RedHat Linux)6.1之高可用性(High Availability)配置实
高可用性(HighAvailability)配置实例
前言
RHEL6上,每个节点至少要1GB的内存,只支持x86_64位平台,32位平台不再支持。配置集群的服务器需要配置时间服务器,以保证集群服务器的时间一致。只有两个节点的集群默认不启用仲裁机制。
一、架构安排
准备3台linux机器,5个IP地址,其中:
机器:
28.6.11.83是HP服务器【物理机】
28.6.11.15是IBM x346型号服务器【物理机】
28.6.11.80是VMWARE虚拟机
公有网络:
28.6.11.81:虚拟IP地址,没有与具体的物理机对应,作为集群服务器的IP地址资源使用,通过该IP和相应的端口访问集群提供的HTTP服务。
28.6.11.83:集群服务器节点1,比集群节点28.6.11.15具有更高的优先权。
28.6.11.15:集群服务器节点2,比集群节点28.6.11.83的优先权低。
私有网络:
28.6.11.86:为28.6.11.83的HP iLo Device【Fence Device】设备配置的IP地址。
28.6.11.82:为28.6.11.15的IPMI Lan Device【Fence Device】设备配置的IP地址。
注:建议fence设备地址使用相同的网段,集群的运行需要借助多播方式发送心跳信号,须查看交换机是否支持多播通信。心跳信号量比较大,建议使用私有网络。一般私有网络和公有网络分处不同网段,私有网络必须使用专有的维护链接才可以访问。
二、Fence Device配置
本节所需安装软件可以在安装光盘的Packages目录直接安装,不需要配置yum源。
(一)HP iLo Device配置
首先接通HP服务器的iLo端口和交换机的链路连接,并把相应交换机端口设置为11网段,然后重新启动机器,在启动界面进行如下的配置:
在如上的界面中按【F8】键,进入iLo配置界面,按照下面的图示配置iLo的IP地址:
按【F10】保存IP配置信息。
按照下面的图示,配置iLo的认证用户:
【F10】保存认证用户配置信息。
退出iLo配置界面完成iLo的配置,让机器重新正常启动,再进行如下的配置信息验证:
手动测试iLo是否可以手动重启机器。
可以访问iLo界面并可以手动重启机器说明iLo配置成功。
(二)IBM IPMI Lan Device配置
IPMI是Intel公司推出的远程管理解决方案,也称为Baseboard Management Cards (BMCs) ,可以在服务器通电(没有启动操作系统)情况下对服务器进行远程管理。Dell的 Baseboard Management Controller (BMC) 是IPMI的一个实现。该BMC可以通过主板集成的第一块网卡实现网络管理。并且这个BMC管理IP是独立的IP地址(需要单独占用)。
有两种方式配置IPMI,一种是服务器启动时进行设置,可以激活IPMI远程访问;另一种方式是安装了Linux操作系统,在Linux操作系统中使用ipmitool来设置(前提是已经加载了一 些ipmi内核模块)。本实例中两种方法结合使用进行IPMI的设置。前者用于IP地址等信息的设置,后者用于用户信息等的设置。
通过IBM红皮书网站http://www.redbooks.ibm.com/redbooks/SG246495/wwhelp/wwhimpl/js/html/wwhelp.htm 查询得知如下:
Figure2-9 Rear ports of the xSeries 346
IBM x346型号机器的BMC端口和网卡1共用。在本实例中本机器的28.6.11.15 IP使用的是2号网卡,因此接通该服务器的网卡1和交换机的链路连接,并把相应交换机端口设置为11网段。打开本机console,重启机器进行下面的配置。
按【F1】进入【Setup】界面,如下:
选择【AdvancedSetup】,进入如下界面:
选择【BaseboardManagement Controller(BMC) Settings】进入如下界面:
确保如上设置,并选择【BMCNetwork Configuration】进入如下界面:
确保如上设置,并选择【SaveNetwork Settings in BMC】进行保存,如下:
点击【Enter】按钮进行保存。按【Escape】键退到如下的界面:
保存退出后,重新启动机器。可以在机器28.6.11.83上进行是否可以ping通28.6.11.82的测试:
[root@linux1183 ~]# ping 28.6.11.82
进入操作系统后,在28.6.11.15上安装如下的软件包:
freeipmi-bmc-watchdog-0.7.16-3.el6.x86_64
ipmitool-1.8.11-7.el6.x86_64
freeipmi-0.7.16-3.el6.x86_64
freeipmi-ipmidetectd-0.7.16-3.el6.x86_64
同时在28.6.11.83上安装如下的软件包,以方便后面的异机测试:
ipmitool-1.8.11-7.el6.x86_64
为加强BMC安全,禁止非授权用户重启服务器。需要修改默认的SNMP通讯串,null用 户密码,以及管理员用户密码。如下:
修改默认的SNMP通讯串:
/usr/bin/ipmitool -I open lan set 1 snmp COMUNIATION
设置null用户的密码
/usr/bin/ipmitool -I open lan set 1 password PASSWD
设置管理员用户密码前,先查看管理员用户名
[root@linux1115 ~]# ipmitool user list 1 ID Name Callin Link Auth IPMI Msg Channel Priv Limit 1 true false true NO ACCESS 2 USERID true true true ADMINISTRATOR |
确保【Link Auth】和【IPMI Msg】为true ,如果是false,使用如下命令进行修改:【ipmitool user enable id号】。从上面的命令输出得知,具有管理员权限的用户的ID是2,用户名是USERID(该用户名可以修改),为该用户设置密码为PASSWD:
/usr/bin/ipmitool -I open user set password 2 PASSWD
使用如下的命令查看IPMI的设置信息【该命令在本机上执行】:
[root@linux1115 ~]# ipmitool -I open lan print 1 Set in Progress : SetComplete Auth Type Support : NONEMD2 MD5 PASSWORD Auth Type Enable :Callback : :User : MD2 MD5 PASSWORD :Operator : MD2 MD5 PASSWORD :Admin : MD2 MD5 PASSWORD :OEM : IP Address Source :Static Address IP Address : 28.6.11.82 Subnet Mask :255.255.255.0 MAC Address :00:14:5e:2b:bc:48 SNMP Community String :COMUNIATION IP Header : TTL=0x40 Flags=0x40 Precedence=0x00TOS=0x10 Default Gateway IP : 28.6.11.254 Default Gateway MAC :00:00:00:00:00:00 Backup Gateway IP :0.0.0.0 Backup Gateway MAC :00:00:00:00:00:00 CipherSuite Priv Max : Not Available |
使用如下命令检查整个IPMI设置是否正确,如下:
[root@linux1183 ~]# ipmitool -I lan -U USERID -H 28.6.11.82 -achassis power status Password: ChassisPower is on |
再使用如下命令看是否可以重启机器:
ipmitool -I lan -U USERID -H 28.6.11.82 -achassis power cycle
是否可以在28.6.11.83上对28.6.11.15进行重启:
[root@linux1183 ~]#ipmitool -I lan -U USERID-H 28.6.11.82 -a chassis power cycle
如果可以重启,说明配置正确无误。
三、iscsi配置
���器准备好后,并关掉这台机器的防火墙,在每台机器的/etc/hosts文件中加入如下内容:
28.6.11.83 linux1183.domain.com linux1183 28.6.11.15 linux1115.domain.com linux1115 28.6.11.80linux1180.domain.com linux1180 |
本节所需安装软件可以在安装光盘的Packages目录直接安装,不需要配置yum源。
注:建议把集群中的机器设置为同一个Domain。
(一)iscsi服务端配置
1、在28.6.11.80上,另外再增加一块8G的磁盘sdb,用fdisk划分为一个分区/dev/sdb1,准备用作iscsi共享存储,用于存放apache页面。另外再增加一块大小不少于100M的硬盘/dev/sdc,通过iscsi共享给linux1183和linux1115访问,做集群的qdisk使用。
[root@linux1180 ~]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders Units = cylinders of 16065 * 512 = 8225280bytes Sector size (logical/physical): 512 bytes /512 bytes I/O size (minimum/optimal): 512 bytes / 512bytes Disk identifier: 0x000673ff
Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinderboundary. /dev/sda2 64 1306 9972736 8e Linux LVM
Disk /dev/sdc: 209 MB, 209715200 bytes 64 heads, 32 sectors/track, 200 cylinders Units = cylinders of 2048 * 512 = 1048576bytes Sector size (logical/physical): 512 bytes /512 bytes I/O size (minimum/optimal): 512 bytes / 512bytes Disk identifier: 0x00000000
Disk /dev/sdc doesn't contain a validpartition table
Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280bytes Sector size (logical/physical): 512 bytes /512 bytes I/O size (minimum/optimal): 512 bytes / 512bytes Disk identifier: 0x29abae1b
Device Boot Start End Blocks Id System /dev/sdb1 1 1044 8385898+ 83 Linux |
2、安装scsi-target-utils软件提供iscsi服务
[root@linux1180 ~]# yum installscsi-target-utils |
3、修改/etc/tgt/targets.conf,添加:
<targetiqn.2011-06.com.domain:server.target1> backing-store /dev/sdb1 backing-store /dev/sdc </target> |
4、重启tgtd服务,并将其设为开机启动:
[root@linux1180~]# /etc/init.d/tgtd restart [root@linux1180~]# chkconfig tgtd on [root@linux1180~]# chkconfig tgtd --list tgtd 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
4、查看服务状态,可以看到已经提供了一个7G的ISCSI LUN 1卷
[root@linux1180~]# tgt-admin --show Target 1:iqn.2011-06.com.domain:server.target1 System information: Driver: iscsi State: ready LUN information: LUN: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB, Block size: 1 Online: Yes Removable media: No Readonly: No Backing store type: null Backing store path: None Backing store flags: LUN: 1 Type: disk SCSI ID:IET 00010001 SCSI SN:beaf11 Size: 8587MB, Block size: 512 Online: Yes Removablemedia: No Readonly:No Backingstore type: rdwr Backing store path: /dev/sdb1 Backingstore flags: LUN: 2 Type: disk SCSI ID:IET 00010002 SCSI SN:beaf12 Size: 210MB, Block size: 512 Online: Yes Removablemedia: No Readonly:No Backingstore type: rdwr Backingstore path: /dev/sdc Backingstore flags: Account information: ACL information: ALL |
6、打开防火墙端口3260或者关闭防火墙
(二)iscsi客户端配置
1、在28.6.11.83安装iscsi客户端软件iscsi-initiator-utils
[root@linux1183 ~]# yum install iscsi-initiator-utils |
2、发现服务器28.6.11.80的iscsi共享卷
[root@linux1183~]# iscsiadm -m discovery -t sendtargets -p linux1180 28.6.11.80:3260,1iqn.2011-06.com.domain:server.target1 |
linux1180为主机名,使用IP地址也可
2、登录iscsi存储
[root@linux1183~]# iscsiadm -m node -T iqn.2011-06.com.domain:server.target1 -p 28.6.11.80:3260-l Logging in to[iface: default, target: iqn.2011-06.com.domain:server.target1, portal: 28.6.11.80,3260] Loginto [iface: default, target: iqn.2011-06.com.domain:server.target1, portal: 28.6.11.80,3260]successful. |
使用iscsiadm -m node -T target名称 -p targetIP地址:端口号 –login 命令 卸载ISCSI存储命令: iscsiadm-m node -T iqn.2011-06.com.domain:server.target1 -p 28.6.11.80:3260 -u |
4、查看本地存储,可以发现/dev/sdb
[root@linux1183~]# fdisk -l
Disk/dev/cciss/c0d0: 220.1 GB, 220122071040 bytes 255 heads, 32sectors/track, 52687 cylinders Units =cylinders of 8160 * 512 = 4177920 bytes Sector size(logical/physical): 512 bytes / 512 bytes I/O size(minimum/optimal): 512 bytes / 512 bytes Diskidentifier: 0x517b413f
Device Boot Start End Blocks Id System /dev/cciss/c0d0p1 * 1 126 512000 83 Linux Partition 1does not end on cylinder boundary. /dev/cciss/c0d0p2 126 5266 20971520 83 Linux /dev/cciss/c0d0p3 5266 7836 10485760 82 Linux swap / Solaris
Disk /dev/sdb: 8587 MB, 8587160064 bytes 64 heads, 32 sectors/track, 8189 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 209 MB, 209715200 bytes 7 heads, 58 sectors/track, 1008 cylinders Units = cylinders of 406 * 512 = 207872 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdc doesn't contain a valid partition table |
【在28.6.11.15上执行同上的操作命令】
注:在上面的第四步查看本地存储时,看到的有可能不是/dev/sdb,有可能是/dev/sda或者/dev/sdc。出现这种现象是因为HP服务器和IBM服务器的硬盘编号方法不同所致,并不影响操作和使用。
四、集群软件安装配置
分为集群节点和配置管理器(Luci,RHCS的web管理工具,仅仅只是配置工具,集群可脱离它正常运行)。
本节所需安装软件可以在安装光盘的Packages目录直接安装,不需要配置yum源。
(一)集群节点
1、安装集群软件包
[root@linux1183 ~]# yum install ricci openais cmanrgmanager lvm2-cluster gfs2-utils |
2、打开防火墙相应端口
端口 协议 程序 5404,5405 UDP corosync/cman 11111 TCP ricci 21064 TCP dlm 16851 TCP modclusterd |
3、或者直接禁用防火墙
[root@linux1183~]# /etc/init.d/iptablesstop [root@linux1183~]#chkconfig iptables off |
4、关闭节点上的ACPI服务
[root@linux1183~]# /etc/init.d/acpid stop [root@linux1183~]# chkconfig apcid off |
5、禁用NetworkManager
[root@linux1183~]# /etc/init.d/NetworkManager stop [root@linux1183~]# chkconfig NetworkManager off
|
6、给软件用户ricci设置密码
[root@linux1183 ~]# passwd ricci |
7、启动ricci服务
[root@linux1183~]# /etc/init.d/ricci start [root@linux1183~]# chkconfig ricci on |
【在28.6.11.15上执行同上的操作命令】
(二)集群配置管理器(luci)
可以安装在节点上,现在安装在存储服务器上,更利于监控集群状态。
1、在28.6.11.80上安装管理软件
[root@linux1180 ~]# yum install luci |
2、打开软件相应端口
端口 协议 程序 8084 TCP luci |
3、或者直接禁用防火墙
[root@linux1180~]# service iptables stop [root@linux1180~]# chkconfig iptables off |
4、启动luci
[root@linux1180~]# /etc/init.d/luci start Addingfollowing auto-detected host IDs (IP addresses/domain names), corresponding to`linux1180.domain.com' address, to the configuration of self-managedcertificate `/var/lib/luci/etc/cacert.config' (you can change them by editing`/var/lib/luci/etc/cacert.config', removing the generated certificate`/var/lib/luci/certs/host.pem' and restarting luci): (none suitablefound, you can still do it manually as mentioned above) Generating a2048 bit RSA private key writing newprivate key to '/var/lib/luci/certs/host.pem' 正在启劢 saslauthd: [确定] Start luci... [确定] Point your webbrowser to https://linux1180.domain.com:8084 (or equivalent) to access luci [root@linux1180~]# chkconfig luci on |
【集群配置测试中,经过多次的删除和修改后,luci配置界面可能出现不稳定表现,这时可以考虑重新安装luci】