suse  ha 架构图

p_w_picpath

规划:

Web1

eth0: 10.0.0.1/8 eth1: 20.0.0.1/24 sbd(替换fence)

web2

eth0: 10.0.0.2/8 eth1: 20.0.0.2/24 sbd(替换fence)

共享存储

20.0.0.200

准备环境:

Web1 hostname= ha1.example.com

Web2 hostname=ha2.example.com

添加hosts 文件

20.0.0.1 ha1.example.com

20.0.0.2 ha2.example.com

scp /etc/hosts ha2:/etc/hosts

安装scsi soft 挂载网络磁盘到本地

划分一个sdb1分区作为sbd

1. 设置yum源,建立2个yum,一个系统的,一个ha的方便安装

2. 安装iscsi 客户端,挂载共享存储到本地

3. 安装ha套件

p_w_picpath

安装ha套件,yast 选择ha套件

p_w_picpath


p_w_picpath

p_w_picpath

p_w_picpath

退出之后,重新进,


会看到ha软件,选择右边的cluster

p_w_picpath

p_w_picpath

这里是配置heartbeat,这里配置的是心跳的网段,用来检测主备节点心跳的


p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

因为我的心跳使用的eth1 网卡,所以我选择eth1 网卡,默认为eth0 网卡


p_w_picpath


开启服务就ok了。

最后同步到ha2节点上去

p_w_picpath

本地/etc/corosync/corosync.conf

挂载iscsi存储到

p_w_picpath

p_w_picpath

p_w_picpath

iscsiadm --mode discoverydb --type sendtargets --portal 20.0.0.200:3260 --discover iscsi 发起找到iscsi服务端的共享盘

iscsiadm -m discovery -t st -p 20.0.0.200 --discovery

将iscsi服务端的共享盘全部挂载到本地

划分一个sdb1分区用作sbd,然后把sdc的共享盘划分为lvm。

p_w_picpath

在ha1上分好区之后在ha2上查询一下,或者两个节点都刷新一下partprobe

配置sbd 添加softdog 内核模块

vim /etc/sysconfig/kernel

p_w_picpath

创建sbd

p_w_picpath

p_w_picpath

添加sbd配置文件

p_w_picpath

p_w_picpath

添加sbd配置文件并且同步到两个节点上

p_w_picpath


p_w_picpath

配置文件同步完成之后,两个节点上都要重启openais 集群

p_w_picpath


Sbd 添加到集群资源中

p_w_picpath

查看sbd 是 否添加到资源中

crm_mon 查看集群状态

p_w_picpath

p_w_picpath


配置ha 资源

p_w_picpath

property no-quorum-policy=ignore不做仲裁,因为是双节点模式,所以不需要配仲裁盘,如果修改模式为ignore 模式的话,当一个节点发生故障关机或者重启,那么ha是不能切换的。

查看资源

p_w_picpath

安装需要在ha上跑的服务,创建文件系统


p_w_picpath


p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

p_w_picpath

创建共享存储挂载点(安装apache2 创建挂载点两边都要安装和创建)

p_w_picpath

p_w_picpath

修改apache网页存放路径


p_w_picpath


然后umount /data

继续添加ha的资源

p_w_picpath

crm configure# primitive r_lvha ocf: heartbeat:LVM operations $id=”r_lvha-operations” op monitor interval=”10” timeout=”30” params volgrpname=”vg_ha” exclusive=”true”


crm(live)configure# primitive r_lv ocf:hearbeat:Filesystem \

<params device="/dev/vg_ha/lv_ha" directory="/data" fstype="ext3"

添加一个lvm就需要添加后面要跟着添加一个文件系统的挂在点,不过需要把文件系统挂载点修改为lvm的挂载点

p_w_picpath

crm(live)configure# primitive g_web lsb:apache2

添加apache服务,

资源添加完之后,把所添加的资源加入到资源组中。

p_w_picpath

crm(live)configure# group web_group g_vip r_lvha r_fs g_web

crm(live)configure# commit 保存(每添加完资源别忘记保存)

添加完组资源后查看一下

p_w_picpath

创建clone ping是因为集群在业务断裂或者服务停止的时候,需要切换到另外一个节点上继续提供服务,clone ping的工作就是监控节点通讯情况

p_w_picpath

crm(live)configure# primitive r_ping ocf:pacemaker:ping \

<params multiplier="100" dampen="5" host_list="10.0.0.100" \

< op monitor interval="15" timeout="60" start=”60" \

< op start interval="0" timeout="60"

Multiplier 是一个增效器,以100这个值为基准,两个节点ping数据库时就会从100减去相应的值,以此来判断节点的业务网卡通讯情况

dampen=5 表示每5秒ping一次

10.0.0.100 代表上层交换机的ip地址,这个ip必须ping通,否则ha不正常。

monitor 表示监控资源;interval 表示若15秒ping不通上层交换设备,最迟60秒(timeout)就会迁移资源

crm(live)configure# clone PING r_ping

创建clone ping约束

p_w_picpath

crm(live)configure# location l_conn g_web

rule -inf: not_defined pingd or pingd lte 0

l_conn 代表约束名称;g_web 代表资源组名称

rule 代表指定约束规则

crm(live)configure#commit 保存

crm(live)configure# exit

crm(live)configure#show 查看配置

crm_mon

p_w_picpath


进行资源迁移

p_w_picpath


p_w_picpath

p_w_picpath

p_w_picpath