实验环境:
两台mariaDB服务器 172.16.10.20 172.16.10.21
fip:172.16.10.28
MariaDB文件存储共享:172.16.10.22
实验准备:
1、两个节点的主机名称和对应的IP地址解析服务可以正常工作,且每个节点的主机名称需要跟"uname -n“命令的结果保持一致
vim /etc/hosts 172.16.10.20 21.xuphoto.com 20xu 172.16.10.21 22.xuphoto.com 21xu Node1: # sed -i ‘s@\(HOSTNAME=\).*@\121.xuphoto.com@g‘ # hostname 21.xuphoto.com Node2: # sed -i ‘s@\(HOSTNAME=\).*@\122.xuphoto.com@g‘ # hostname 22.xuphoto.com
2、各节点时间保持一致可添加统一NTP服务器同步任务:
crontab -e */3 * * * * /usr/sbin/ntpdate 172.16.0.1 &>/dev/null
3、 各节点间可基于密钥验证SSH而无需密码
ssh-keygen -t rsa ssh-copy-id-i root@172.16.10.22 # node1 节点 ssh-keygen -t rsa ssh-copy-id-i root@172.16.10.21 # node1 节点
4、 配置安装 corosync/pacemaker
yum install corosync pacemaker -y
5、配置安装drbd
1、提供磁盘空间(2个节点空间大小相同)
fdisk /dev/sda #创建一个5G主分区
2、安装
rpm -ivh kmod-drbd84-8.4.5-504.1.el6.x86_64.rpm drbd84-utils-8.9.1-1.el6.elrepo.x86_64.rpm
3、通用文件
/etc/drbd.d/global_common.conf
#usage-count no; disk { on-io-error detach; net { cram-hmac-alg "sha1"; #设置密码算法 shared-secret"UM+B1fJXTqcl14ldvkZ/3Q"# 设置密钥 syncer { rate 500M; #设置传输速率 }
4、创建资源文件 /etc/drbd.d/mysqlnf.res
resource mysqlnfs { device /dev/drbd0; disk /dev/sda4; meta-disk internal; on 20.xuphoto.com { address 172.16.10.20:7789; # }
on 21.xuphoto.com { address 172.16.10.21:7789; }
4、复制配置文件到另外一个服务器;
scp web.res global_common.conf 21xu:/etc/drbd.d/
5、初始化资源;
#drbdadm create-md WEB
6、两个节点都启服务
service drbd start ;ssh 21xu ‘service drbd start‘
7、查看状态
cat /proc/drbd
8、设置主节点
# drbdadm primary--force resource
使用crm定义规则
crm(live)configure#property no-quorum-policy=ignore #定义全局属性 crm(live)configure#property stonith-enabled=false #定义全局属性 crm(live)configure#primitive myip ocf:heartbeat:IPaddr params ip=172.16.10.28 nic=eth0cidr_netmask=16 op monitor interval=20 timeout=20 #定义fip=172.16.10.28 crm(live)#primitive mystor ocf:linbit:drbd params drbd_resource=mysqlfs op monitorrole=Master interval=10s timeout=20 op monitor role=Slave interval=20 timeout=20op start timeout=240 op stop timeout=100 #定义drbd 主资源 crm(live)configure# ms ms_mystor mystor meta clone-max=2 clone-node-max=1 master-max=1master-node-max=1 notify=true # 定义主资源克隆属性 crm(live)configure# primitive mydata ocf:heartbeat:Filesystem params device=’dev/drbd0’ directory=’/mydata ’fstype=’ext4’op monitor interval=20s timeout=20s opstart timeout=60s op stop timeout=60s #定义挂载点 crm(live)configure#primitive mysql lsb:mysqld op monitor interval=20 timeout=20 #定义mysql资源 crm(live)#colocation mydata_with_ms_mystor_master inf: mydata ms_mystor:Master #定义排列约束 挂载点与drbd master 必须在一起 crm(live)configure#colocation mysql_with_mydata inf: mysql mydata #定义mysql和文件挂载点必须在一起 crm(live)configure#colocation myip_with_mystor_master inf: myip ms_mystor:Master #定义FIP必须和drbd主资源在一起 ordermydata_after_mystor Mandatory: ms_mystor:promote mydata:start #定义顺序约束 当drbd切换到Master时才挂载文件系统 ordermysql_after_mydata Mandatory: mydata:start mysql:start #定义顺序约束,文件系统挂载完成后mysql才启动
原文地址:http://nickxu.blog.51cto.com/1207271/1658104