pacemaker和haproxy

-

pacemaker

-
安装操作:
yum install pacemaker -y corosync
yum install -y crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm
cd /etc/corosync/
cp corosync.conf.example corosync.conf
vim corosync.conf ##编辑配置文件

totem {
        version: 2
        secauth: off
        threads: 0
        interface {
                ringnumber: 0
                bindnetaddr: 172.25.33.0    ##监控网段
                mcastaddr: 226.94.1.33      ##多播地址
                mcastport: 5438             ##多播端口
                ttl: 1
        }
}
service {               ##添加的服务
        name: pacemaker
        ver:0
}

scp corosync.conf server4:/etc/corosync/ ##将配置文件复制到另一节点
/etc/init.d/corosync start ##两边节点都开启服务
[root@server1 corosync]# crm configure show
这里写图片描述
[root@server1 corosync]# crm
crm(live)# configure
crm(live)configure# property stonith-enabled=false
crm(live)configure# commit
crm(live)configure# bye
[root@server1 corosync]# crm_verify -VL ##认证查看
[root@server1 corosync]# crm
crm(live)# configure
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.33.100 cidr_netmask=32 op monitor interval=30s ##添加vip资源
crm(live)configure# commit
crm(live)configure# bye
[root@server1 corosync]#

测试:
[root@server1 corosync]# crm node standby ##关闭该结点
[root@server1 corosync]# crm node online
[root@server4 corosync]# crm_mon ##监控命令查看状态
这里写图片描述

drbd的配置

server1和server4上做如下操作
先添加同等大小的虚拟磁盘到节点上,保证两台结点的一致性
tar zxf drbd-8.4.2.tar.gz
cd drbd-8.4.2
./configure –enable-spec –with-km
cp ~/drbd-8.4.2.tar.gz /root/rpmbuild/SOURCES/
rpmbuild -bb drbd.spec
yum install kernel-devel -y
rpmbuild -bb drbd-km.spec
cd /root/rpmbuild/RPMS/x86_64/ ##在该目录下生成的rpm包
rpm -ivh * ##全部安装
scp * server4: ##复制到另一台节点上,并安装软件包
cd /etc/drbd.d
vim sqldata.res ##编辑配置文件

resource sqldata {
meta-disk internal;
device /dev/drbd1;
syncer {
verify-alg sha1;
}
on server1 {
disk /dev/vdb; address
172.25.33.1:7789;
}
on server4 {
disk /dev/vdb;
address 172.25.33.4:7789;
}
}

scp sqldata.res server4:/etc/drbd.d/ ##将该文件复制到另一台机器上
drbdadm create-md sqldata ##初始化
/etc/init.d/drbd start ##两个机器上都开启
这里写图片描述
drbdadm primary sqldata –force ##只有主节点做该操作,强制同步磁盘
这里写图片描述
mkfs.ext4 /dev/drbd1 ##格式化文件系统

mysql

只有主节点对drbd有操作权限

在主结点上

mount /dev/drbd1 /var/lib/mysql
chown mysql.mysql /var/lib/mysql
/etc/init.d/mysqld start
/etc/init.d/mysqld stop
umount /var/lib/mysql/
drbdadm secondary sqldata ##更改主节点为次节点

在次节点上

drbdadm primary sqldata
mount /dev/drbd1 /var/lib/mysql
chown mysql.mysql /var/lib/mysql
/etc/init.d/mysqld start
/etc/init.d/mysqld stop
umount /var/lib/mysql/
drbdadm secondary sqldata ##更改回次节点

fence配置

检查好物理机,以及虚拟机的的fence配置
添加如下策略
[root@server4 ~]# crm configure show
node server1 \
attributes standby=”off”
node server4 \
attributes standby=”off”
primitive vip ocf:heartbeat:IPaddr2 \
params ip=”172.25.33.100” cidr_netmask=”32” \
op monitor interval=”30s”
primitive vmfence stonith:fence_xvm \
params pcmk_host_map=”server1:vm1;server4:vm4” \ ##添加对应
op monitor interval=”1min”
property $id=”cib-bootstrap-options” \
stonith-enabled=”true” \ ##开启fence
no-quorum-policy=”ignore” \ ##忽略检测最少主机
expected-quorum-votes=”2” \
dc-version=”1.1.10-14.el6-368c726” \
cluster-infrastructure=”classic openais (with plugin)”
测试:
如果内核崩溃,主机可以跳电

[root@server1 ~]# crm
crm(live)# configure 
crm(live)configure# primitive DBdata ocf:linbit:drbd params drbd_resource=sqldata op monitor interval=1min
crm(live)configure# ms DBdataclone DBdata meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
crm(live)configure# commit
WARNING: DBdata: default timeout 20s for start is smaller than the advised 240
WARNING: DBdata: default timeout 20s for stop is smaller than the advised 100
WARNING: DBdata: action monitor not advertised in meta-data, it may not be supported by the RA
crm(live)configure# primitive DBfs ocf:heartbeat:Filesystem params device=/dev/drbd1 directory=/var/lib/mysql fstype=ext4
crm(live)configure# colocation fs_on_drbd inf: DBfs DBdataclone:Master
crm(live)configure# order DBfs-after-DBdata inf: DB
DBdataclone   DBfs          
crm(live)configure# order DBfs-after-DBdata inf: DBdataclone:promote DBfs:start
crm(live)configure# commit
WARNING: DBfs: default timeout 20s for start is smaller than the advised 60
WARNING: DBfs: default timeout 20s for stop is smaller than the advised 60
crm(live)configure# primitive mysqlDB lsb:mysqld op monitor interval=30s
crm(live)configure# group mysqlservice vip DBfs mysqlDB
INFO: resource references in colocation:fs_on_drbd updated
INFO: resource references in order:DBfs-after-DBdata updated
crm(live)configure# commit
crm(live)configure# show

这里写图片描述

测试;
可以自由切换
这里写图片描述

haproxy的基础

yum install haproxy -y
vim /etc/haproxy/haproxy.cfg

global
        maxconn         10000
        stats socket    /var/run/haproxy.stat mode 600 level admin
        log             127.0.0.1 local0
        uid             200
        gid             200
        chroot          /var/empty
        daemon
defaults
         mode            http
        log             global
        option          httplog
        option          dontlognull
        monitor-uri     /monitoruri
        maxconn         8000
 option redispatch
        timeout connect 5s
        timeout server  5s
        timeout client  30s
        retries         2

        stats uri       /admin/stats
        stats auth admin:westos
        stats refresh 5s
frontend public
        bind            *:80
        acl badhost src 172.25.33.250 
        acl write method PUT
        acl write method POST
        use_backend dynamic if write ##读写分离
        #http-request deny if badhost
        #errorloc 403 http://172.25.33.4 if badhost  ##访问错误页面,被重定向
        redirect location http://172.25.33.4 if badhost  ##只要访问该页面均被重定向
        use_backend dynamic if { path_beg /images   }
        default_backend static

backend static
      balance   roundrobin
      server    web1 172.25.33.2:80  check inter 1000
backend dynamic
     balance      roundrobin
     server       web2 172.25.33.3:80  check inter 1000

/etc/init.d/haproxy reload ##重新加载配置文件
测试页面:
http://172.25.33.1/adminstats
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值