pacemaker corosync drbd nfs高可用实例配置
2017-12-27 11:12
441 查看
配置部署
前期环境准备
各节点(即主机)的主机名与“uname -n”的结果保持一致:
需要准备两个rpm包:drbd83-utils-8.3.16-1.el6.elrepo.x86_64.rpm、kmod-drbd83-8.3.16-2.el6.elrepo.x86_64.rpm
在VolGroup 上创建一个1G的drbd-demo分区:(可以看到错误信息:VolGroup自由空间不足:Volume
group "VolGroup" has insufficient free space (0 extents): 256 required.)
注意:如果空间足够可以忽略创建以下分配分区空间。
用vgdisplay查看VolGroup的信息:(Free PE / Size:空间是0)
用lvs查看分区信息大小
调整lv_swap VolGroup的分区大小:
重新在VolGroup上创建drbd-demo分区大小:
安装drbd 和 kmod:
配置drbd
初始化加载drbd:
加载drbd到内核模块:
启动drbd
注意:以上所有操作在另一台服务器上同样执行
设置主节点:
快速格式化 /dev/drbd1:
挂载/dev/drbd1 做nfs数据同步:
查看数据同步的时候drbd信息:
手动测试nfc数据是否同步:
手动切换pcmk-2为主节点(primary)
注意:有index.html nfs数据同步成功
用pacemaker管理DRBD做HA切换:
用cib来管理drbd(创建一个drbd)
创建DRBD资源
查看DRBD的状态(如果显示失败,重启下Corosync):
可以看到DRBD启动状态:一个masters和slave
前期环境准备
各节点(即主机)的主机名与“uname -n”的结果保持一致:
# pcmk-1+ pcmk-2: vi /etc/hosts 192.168.10.253 pcmk-1.clusterlabs.org pcmk-1 192.168.10.254 pcmk-2.clusterlabs.org pcmk-2 #pcmk-1: vi/etc/sysconfig/network NETWORKING=yes HOSTNAME=pcmk-1 #pcmk-2: NETWORKING=yes HOSTNAME=pcmk-2
需要准备两个rpm包:drbd83-utils-8.3.16-1.el6.elrepo.x86_64.rpm、kmod-drbd83-8.3.16-2.el6.elrepo.x86_64.rpm
在VolGroup 上创建一个1G的drbd-demo分区:(可以看到错误信息:VolGroup自由空间不足:Volume
group "VolGroup" has insufficient free space (0 extents): 256 required.)
注意:如果空间足够可以忽略创建以下分配分区空间。
lvcreate -n drbd-demo -L 1G VolGroup
用vgdisplay查看VolGroup的信息:(Free PE / Size:空间是0)
vgdisplay
用lvs查看分区信息大小
#查看分区 lvs
调整lv_swap VolGroup的分区大小:
#调整lv_swap分区大小 lvresize -L 1G /dev/VolGroup/lv_swap #用lvs查看分区(原来2G变成了1G) lvs #在用vgdisplay来查看分区信息可以看到(Free PE / Size)有1G的空间了 vgdisplay
重新在VolGroup上创建drbd-demo分区大小:
#创建drbd-demo空间大小为1GB lvcreate -n drbd-demo -L 1G VolGroup #查看分区(这个时候多了一个drbd-demo分区) lvs
安装drbd 和 kmod:
#安装 drbd 和 kmod 软件包 rpm -ivh drbd83-utils-8.3.16-1.el6.elrepo.x86_64.rpm kmod-drbd83-8.3.16-2.el6.elrepo.x86_64.rpm
配置drbd
#进入到drbd 目录 cd /etc/drbd.d #备份下 global_common.conf cp global_common.conf global_common.conf.bak #修改 global_common.conf配置文件 vi global_common.conf #删除所有内容 :.,$d
global { usage-count yes; } common { protocol C; } resource wwwdata { meta-disk internal; device /dev/drbd1; syncer { verify-alg sha1; } net { allow-two-primaries; } on pcmk-1 { disk /dev/mapper/VolGroup-drbd--demo; address 10.157.32.222:7789; } on pcmk-2 { disk /dev/mapper/VolGroup-drbd--demo; address 10.157.32.223:7789; } }
初始化加载drbd:
#初始化、加载drbd(注意:wwwdata是配置文件中的resource wwwdata) drbdadm create-md wwwdata
加载drbd到内核模块:
#查看drbd(此时没有进程) lsmod |grep drbd #加载DRBD模块到内核 modprobe drbd modprobe drbd #查看drbd(有drbd进程号了) lsmod |grep drbd
启动drbd
#启用drbd 的wwwdata资源 drbdadm up wwwdata #查看drbd信息(现在可以看到当前两台服务的节点是Secondary) cat /proc/drbd
注意:以上所有操作在另一台服务器上同样执行
设置主节点:
#设置主节点 drbdadm -- --overwrite-data-of-peer primary wwwdata #查看drbd信息(这时候主节点在pcmk-1这台服务器上(primary)) cat /proc/drbd
快速格式化 /dev/drbd1:
#格式化 /dev/drbd1 mkfs.ext4 /dev/drbd1
挂载/dev/drbd1 做nfs数据同步:
#挂载 /dev/drbd1 mount /dev/drbd1 /mnt/ #在mnt下添加一个index.html文件 路径:/mnt/index.html vi /mnt/index.html #内容: <html> <body>My Test Site - drbd</body> </html>
查看数据同步的时候drbd信息:
#用cat /proc/drbd 会显示数据同步的进度(同步完成会显示节点信息) cat /proc/drbd
手动测试nfc数据是否同步:
#取消挂载 /dev/drbd1 umount /dev/drbd1 #查看drbd信息(现在pcmk-1还是主节点(primary)) cat /proc/drbd #取消pcmk-1的主节点 drbdadm secondary wwwdata #查看drbd信息(现在pcmk-1还是从节点(Secondary)) cat /proc/drbd
手动切换pcmk-2为主节点(primary)
#查看pcmk-2的drbd状态(现在都是从节点(Secondary)) cat /proc/drbd #切换pcmk-2为主节点 drbdadm primary wwwdata #查看pcmk-2的drbd状态(现在pcmk-2是主节点(primary)) cat /proc/drbd #挂载 /dev/drbd1 /mnt下 mount /dev/drbd1 /mnt/ #查看 /mnt 下得nfs数据同步的index.html是否存在 ls /mnt/
注意:有index.html nfs数据同步成功
用pacemaker管理DRBD做HA切换:
用cib来管理drbd(创建一个drbd)
#用cib 来管理drbd crm cib new drbd
创建DRBD资源
#创建DRBD资源,及其状态克隆资源 (使用ocf:linbit:drbd配置DRBD ) crm configure primitive wwwdrbd ocf:linbit:drbd params drbd_resource=wwwdata op monitor interval=60s #ms表示配置主从资源 #WebData #资源名 #wwwdrbd #clone资源名 #mete #表示配置主从资源 #master-max #最大主节点(默认:1) #master-node-max #最大主节点数:(默认:1) #clone-max #在集群中最多能运行多少份克隆资源,默认和集群中的节点数相同; #clone-node-max #每个节点上最多能运行多少份克隆资源,默认是1; #notify #当成功启动或关闭一份克隆资源,要不要通知给其它的克隆资源,默认是true crm configure ms WebData wwwdrbd meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
查看DRBD的状态(如果显示失败,重启下Corosync):
可以看到DRBD启动状态:一个masters和slave
相关文章推荐
- Corosync+Pacemaker+DRBD+NFS高可用实例配置
- corosync+pacemaker+nfs+crmsh配置web服务的高可用
- pcs+pacemaker+corosync+nfs配置高可用
- Heartbeat+DRBD+NFS高可用实例配置
- corosync+pacemaker+nfs+pcs配置web服务的高可用
- Corosync+Pacemaker+DRBD+Mysql高可用HA配置
- nfs+DRBD+corosync+pacemaker 实现高可用(ha)的nfs集群(centos7
- corosync + pacemaker 安装配置,实现httpd高可用
- 搭建基于Corosync+Pacemaker+NFS的高可用Web集群
- corosync+pacemaker+mysql+drbd 实现mysql的高可用
- DRDB安装配置详解+NFS(Mysql)+Heartbeat高可用实例配置-任志远
- 安装配置MySql+DRBD+Corosync+pacemaker高可用集群 推荐
- corosync+pacemaker+drbd构建web高可用集群
- Linux集群之corosync+pacemaker+drbd实现MySQL高可用
- 基于corosync和pacemaker+drbd实现mfs高可用
- corosync+pacemaker+drbd实现mysql高可用
- 【高可用HA】Centos7.0下通过Corosync+pacemaker+pcs+drbd实现mariadb的高可用
- 基于Corosync+Pacemaker+DRBD 实现高可用(HA)的MariaDB集群
- mysql+drbd+corosync+pacemaker实现mysql高可用
- Corosync/openais+pacemaker+DRBD实现DRBD服务高可用集群