rhcs套件(红帽的高可用)
1.配置
①开2台虚拟机
②检查firewalld和selinux,保证关闭状态
③各个主机上添加本地解析
④配置yum源,添加高可用、负载均衡、存储、文件系统(后面给HA添加存储等)
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.66.250/rhel6.5/(镜像)
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.66.250/rhel6.5/(镜像)
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.0.250/rhel6.5/(镜像)
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=http://172.25.0.250/rhel6.5/(镜像)
gpgcheck=0
2.在所有HA节点上安装ricci
这里用server1同时做管理节点和HA节点
server1中:
yum install -y ricci luci #luci是web界面的管理工具
server2中:
yum install -y ricci
server1和server2中:
安装完后会产生ricci用户,给ricci用户设置密码:redhat
id ricci #查看ricci的id信息
passwd ricci #设置密码
server1和server2中:
开启ricci,luci并设置开机启动
/etc/init.d/ricci start
/etc/init.d/luci start
chkconfig ricci on
chkconfig luci on
3.登陆
在浏览器登陆:https://172.25.66.1:8084
root #用户
redhat #密码
4.添加server,server2到集群
注意解析问题
5.检查是否添加
clustat #查看集群状态
cat /etc/cluster/cluster.conf #查看配置文件
<?xml version="1.0"?>
<cluster config_version="1" name="westos_ha">
<clusternodes>
<clusternode name="server1" nodeid="1"/>
<clusternode name="server2" nodeid="2"/>
</clusternodes>
<cman expected_votes="1" two_node="1"/>
<fencedevices/>
<rm/>
</cluster>
cman分布式集群管理器
rgmanager资源代理,负责资源接管
modclusterd集群状态监控
clvmd集群化逻辑卷,共享存储
6.添加fence
Fence Device --> Add --> Fence virt(Multicast Mode) --> vmfence
7.安装fence软件包(在物理机上)
yum search fence
yum install -y fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64
8.配置fence
fence_virtd -c
【注意】此时 Interface [virbr0]: br0 ##设备选择br0,其他回车用默认
vim /etc/fence_virt.conf 可查看配置文件
9.在真机生成fence_xvm.key
dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1
10.分发key
在真机把fence_xvm.key分发到HA节点,通过这个key来管理节点
scp fence_xvm.key root@server1:/etc/cluster/
scp fence_xvm.key root@server2:/etc/cluster/
11.web界面为节点配置fence
Node --> server2 --> Add Fence Method --> vmfence-1 --> Add Fence Instance -->vmfence(xvm Virtual Machine Fencing) --> Domain(填写server1的UUID)
server2进行同样操作
12.启动fence并测试
注意真机服务的启动和真机的防火墙
systemctl start fence_virtd.service
在server1中:
fence_node server2
fence server2 success #此时server2被重启
netstat -antulp | grep 1229 #查看1229端口
13.添加失败回切和优先级
Failover --> Add --> webfail --> Prioritized(对服务故障转移到的节点进行排序) --> Restricted(服务只能在指定的节点上运行) --> No Failback(当服务再次可用时,不要将其发送回优先级为1的节点)(此选项选中,failover的主机在再次正常时会按优先级大小回切,否则不会)
server1优先级为1,server2优先级为10,数字越小,优先级越高
14.添加vip资源
Resources --> Add --> IP Address
172.25.66.100
24
Monitor Link(选中) 监控链接
Number of ... 5 删除IP地址后休眠的秒数
添加服务:
Resources --> Add --> Script
Name : httpd
Full Path to Script File : /etc/init.d/httpd
15.两个节点上安装httpd服务
yum install -y httpd
vim /var/www/html/index.html #编辑发布界面
/etc/init.d/httpd start #开启服务
16.添加服务组到集群
Service Groups --> Add
Service Name : apache
Automatically Start This Service : 选中 自动启动此服务
Run Exclusive : 运行独占(先选中)
Failover Domain : webfail
Recovery Policy 恢复策略 回复政策 修复原则
relocate
添加资源:
Add Resource --> 172.25.0.100/24 --> Script ##添加IP和启动脚本
测试访问
172.25.66.100 #默认访问到server1
使server1脑裂,测试fence
echo c > /proc/sysrq-trigger
fence成功,脑裂之后server1自动重启,启动之后httpd又恢复到server1提供服务,因为没有选择 No Failback
给集群附加存储设备:
(1)再开一台虚拟机用来作iscsi共享存储,server3
server3上安装服务端:
yum install -y scsi-*
两个节点上安装客户端:
yum install -y iscsi-*
(2)配置存储
server3上:
vim /etc/tgt/targets.conf
38 <target iqn.2018-11.com.example:server.target1>
39 backing-store /dev/vda ##可使用fdisk -l 查看
40 </target>
启动:
/etc/init.d/tgtd start
tgt-admin -s ##查看存储信息
ps ax ##看到有2个tgtd进程(如果有4个,就是错误的)
在HA节点上发现共享存储:
server3:
vim /etc/tgt/targets.conf
<target iqn.2019-10.com.example:server.target1>
backing-store /dev/bda
</target>
/etc/init.d/tgtd start #开启服务
tat-admin —s
server1和server2:
yum install scsi-target scsi-target-utils -y #安装
iscsiadm -m discovery -t st -p 172.25.66.3
iscsiadm -m node -l #挂载存储
fdisk -l
cat /proc/partitions #查看分区
server2:
/etc/init.d/clvmd status #查看状态,确保开启
server1:
fdisk -cu /dev/sdb ##只分一个区,方便在分区表被破坏的时候恢复
server2:
partprode #刷新分区
cat /proc/partprobe #查看分区
server1:
pvcreate /dev/sdb1
vgcreate haohao /dev/sdb1
lvcreate -L 4G -n hh haohao
pvs
vgs
lvs
server2:
pvs
vgs
lvs
server1:
mkfs.ext4 /dev/haohao/hh #格式化
server1和server2:
mount /dev/dangdang/dd /mnt #两台虚拟机同时挂载
df #查看挂载
其中一台 在/mnt 里面cp /etc/passwd 如不卸载再挂载 则另一台机器上看不到 因为 ext4是本地文件系统(不能同步 (不支持同时写入))
srever2:
cd /mnt
cp /etc/passwd .
ls
server1中查看未发现passwd:
cd /mnt
ls
server2:
rm -fr passwd
cd
umount /mnt #卸载
mkfs.ext4 /dev/haohao/hh #重新格式化
server1:
cd /mnt
vim index.html
umount /dev/dangdang/dd
(3)图形化操作:先加存储 再加服务
server2:
clustat #查看状态
df #查看挂载
clusvcadm -r apache -m server1 #把服务转移到server1