rhcs安装正式版
1.环境准备
1.1.IP规划
1.2.配置心跳
vi /etc/sysconfig/network-scripts/ifcfg-eth1
############################################
DEVICE=eth1
HWADDR=08:00:27:4E:0B:D2
TYPE=Ethernet
UUID=5cb9ebb1-f1ae-431e-9fef-790379ac99ca
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.56.2
NETMASK=255.255.255.0
############################################
vi /etc/sysconfig/network-scripts/ifcfg-eth2
############################################
DEVICE=eth2
HWADDR=08:00:27:3D:23:2C
TYPE=Ethernet
UUID=6a842dca-6ceb-411d-a863-7a6705c06c21
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.57.2
NETMASK=255.255.255.0
############################################
service network restart
按照以上方法配置rhcs02节点的心跳网络,注意不要设置gateway,在实际测试后,设置gateway会导致办公网络不通。rhcs01和rhcs02互ping,看心跳网络是否畅通。
1.3.配置yum源
cd /etc/yum.repos.d/
mkdir backup
mv *.repo backup/
vi Centos-Base.repo
############################################
# baseurl替换为自己公司内部的yum源
[base]
name=centos6.9
baseurl=http://xxx.xxx.xxx.xxx/centos6.9/x86_64
gpgcheck=0
enable=1
############################################
按照如上步骤,配置rhcs02的yum源
1.3.修改主机名和hosts文件
vi /etc/sysconfig/network
##########################
NETWORKING=yes
HOSTNAME=rhcs01
##########################
vi /etc/hosts
####################################################
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.100 rhcs01
192.168.2.200 rhcs02
192.168.2.300 rhcs-vip
192.168.56.2 rhcs01-A
192.168.56.3 rhcs02-A
192.168.57.2 rhcs01-B
192.168.57.3 rhcs02-B
####################################################
按照如上步骤,修改rhcs02节点的主机名和hosts文件。重启两个节点。
2.安装
# 01节点
yum install luci ricci rgmanager
chkconfgi luci on
chkconfig ricci on
chkconfig rgmanager on
# 02节点,无需luci,图形化界面一个有就行了
yum install ricci rgmanager
chkconfig ricci on
chkconfig rgmanager on
rhcs包含以下组件:
-
luci:集群图形化配置管理界面,在任意一个节点即可,也可以单独使用一个服务器
-
ricci:集群配置文件(cluster.conf)同步,因此每个节点都有且相互之间知道密码能够同步文件
-
rgmanager:集群资源管理,包括集群资源状态检查,集群资源监控转移
-
cman:集群状态检查,节点健康检查,调用fence代理fence掉失效节点
-
fence-agents:栅设备代理脚本
-
resource-agents:资源代理脚本
-
ccs:集群配置管理CLI(command line interface,命令行接口),可以用来代替luci和ricci
3.创建集群
3.1.创建密码
# 01和02节点设置ricci用户的密码
passwd ricci
3.2.登录图形化
# 打开图形化界面服务(01节点)
service luci start
图形化界面地址:https://rhcs01:8084,本例中为https://192.168.2.100:8084
登录的用户名密码为rhcs01系统的root用户和root的密码,登录后的界面如下
3.3.创建
luci需要连接ricci,因此需要先开启ricci
# 01和02节点打开ricci服务
service ricci start
图形化界面依次点击 【Manage Clusters】--->【Create】
Cluster Name有长度限制;
Use Locally Installed Packages:配置的有yum,因此使用本地的安装包即可
Enable Shared Storage Support:会启用gfs集群文件系统,我们使用HA-LVM,无需开启
4.配置
4.1.配置Failover Domains
Failover Demains:可以控制资源组的节点范围,即资源组只会在Failover Demains里面的节点运行
【Failover Demains】--->【Add】
Prioritized:切换优先级,例如集群有三个节点,A、B、C,当A出现问题时,如果C的优先级比较高,那么会首先切换到C上,数字越小,优先级越高。
Restricted:服务只能运行在指定的节点上面,本例中,只能运行在rhcs01-A和rhcs02-A上面,如果有rhcs03-A,如果rhcs03-A不是Member,那么服务不会切换到上面。
No Failback:当节点恢复后,服务不会自动切回。
4.2.配置心跳单播并设置RRP
默认集群使用组播传输,修改为单播
【Configure】--->【Network】--->【UDP Unicast (UDPU)】--->【Apply】
配置RRP
【Configure】--->【Redundant Ring】--->【Alternate Name】---【Apply】
重启整个集群
# 修改RRP需要重启整个集群
ccs -h rhcs01 --stopall
ccs -h rhcs01 --startall
# 需要ccs命令行,如果没用,使用yum安装。如果不想安装,使用如下命令
# 如果没有使用gfs2和clvmd,则不需要执行对应服务的停止和启动
service rgmanager stop
service gfs2 stop
service clvmd stop
service cman stop
service rgmanager start
service gfs2 start
service clvmd start
service cman start
4.3.添加裁决磁盘(可选)
4.3.1.制作裁决磁盘
# rhcs01
# 分出一个10M的分区,裁决磁盘要使用裸设备(没有文件系统)。/dev/sdb应该为共享盘
fdisk /dev/sdb
partprobe /dev/sdb1
mkqdisk -c /dev/sdb1 -l rhcsqdisk
mkqdisk -L
# rhcs02
partprobe
mkqdisk -L
4.3.2.添加裁决磁盘
【Configure】--->【QDisk】-->【Use a Quorum Disk】-->【By Device Label】--->【rhcsqdisk】--->【Apply 】
5.添加LVM资源
两种方法添加HA-LVM
5.1.标签配置
5.1.1.创建LVM卷,格式化,挂载
# rhc01和rhcs02执行如下命令,确保locking_tyoe=1,默认就是1
grep "locking_type" /etc/lvm/lvm.conf | grep -v "#"
# rhcs01
pvcreate /dev/sdc
vgcreate pgdata01_vg /dev/sdc
lvcreate -l 100%FREE -n pgdata01_lv pgdata01_vg
mkfs -t ext4 /dev/pgdata01_vg/pgdata01_lv
mkdir /pgdata01
mount /dev/pgdata01_vg/pgdata01_lv /pgdata01/
5.1.2.修改配置
这一步应该在所有的LVM卷创建完,格式化,挂载后再做。不然会导致LVM卷本地不能管理,无法创建
括号里的名字要与/etc/cluster/cluster.conf中的node名相同
# rhcs01
vi /etc/lvm/lvm.conf
volume_list = [ "@rhcs01-A" ]
# rhcs02
vi /etc/lvm/lvm.conf
volume_list = [ "@rhcs02-A" ]
On each cluster node, edit /etc/lvm/lvm.conf and change the volume_list field to match the boot volume (myvg) and name of the node cluster interconnect (ha-web1).This restricts the list of volumes available during system boot to only the root volume and prevents cluster nodes from updating and potentially corrupting the metadata on the HA-LVM volume:*
括号里面应该只包本地lVM目录,机器重启时启动本地lvm,HA-LVM应该被集群管理,集群起来后再启动HA-LVM
5.1.3.重新生成initramfs
# rhcs01和rchs02
dracut --hostonly --force /boot/initramfs-$(uname -r).img $(uname -r)
reboot
Update the initial ramdisk image so the block device modules are pre-loaded during boot with the volume_list restriction and reboot to activate the change. Perform this step on each cluster node:
5.2.clvm变种
本例没有使用这种方法,因为开启RRP后会开启STCP,STCP与DLM冲突,而此方法需要使用到DLM,详见:https://access.redhat.com/articles/3068921
yum install cmirror
vi /etc/lvm/lvm.conf
#####################
ocking_type = 3
#####################
service cmirrord start
chkconfig cmirrord on
# 如果没有clvmd需要安装lvm2-cluster
service clvmd restart
# 创建卷
pvcreate /dev/sdc
vgcreate -cy shared_vg /dev/sdc
lvcreate -L 10G -n ha_lv shared_vg
mkfs.ext4 /dev/shared_vg/ha_lv
lvchange -an shared_vg/ha_lv
创建PV,VG,LV与标签法相同,不过要在cmirror和clvmd开启的情况下执行
6.添加资源
6.1.添加资源组
【Service Groups】--->【Add】
6.2.资源组添加资源
【点击资源组】--->【Add Resource】--->【Submit】
以文件系统资源为例
添加HALVM资源
作为HA-LVM资源的子资源Add Child Resource,添加文件系统资源
7.手动挂载
rhcs出现异常需要手动挂载时
7.1.修改lvm配置文件
# 注释volume_list
vi /etc/lvm.conf
#####################
volume_list
#####################
7.2.激活lvm组
vgchange -ay pgdata01_vg
7.3.挂载
mount /dev/pgdata01_vg/pgdata_lv /pgdata01
8.参考资料
Linux LVM (建立、擴充、移除LVM磁區) 操作筆記