CentOS 6.2源码安装drbd-8.4

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:
大致步骤:
准备两台服务器分别作为主备节点
主备节点进行系统升级
主备节点配置SSH密钥登陆
主备节点关闭Iptables和selinux
主备节点准备空白的LV分区
主备节点安装编译环境
主备节点创建rpmbuild目录
 
主备节点下载、安装drbd-8.4.1
主节点配置drbd-8.4.1,完成后复制配置文件到备用节点
主备节点载入drbd模块,创建drbd分区元数据,并启用资源
主节点设置primary角色
主节点上为drbd分区创建文件系统,并挂载
测试主备节点的数据同步

 
一、主备节点进行系统升级,并重启:
 
  1. yum update 
  2. reboot 
!!important,否则make km-rpm通不过,主要是因为uname -r得出的内核版本,与/usr/src/kernels/目录下的内核版本不一致。是否需要进行该操作步骤,看实际情况!!
 
二、主备节点配置SSH密钥登陆:
 
三、主备节点关闭iptables和selinux,否则drbd无法获取对方节点的数据:
 
  1. service iptables stop 
  2. chkconfig iptables off 
  3.  
  4. setenforce 0 
  5. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux 
四、主备节点准备空白的LV分区,注意不要创建文件系统:
 
五、主备节点安装编译环境:
 
  1. yum -y install gcc make automake autoconf flex rpm-build kernel-devel  
六、主备节点创rpmbuild目录,为后面编译rpm包做准备:
 
  1. mkdir -p rpmbuild/SOURCES 
七、主备节点下载drbd源码包,并编译成rpm:
 
  1. wget http://oss.linbit.com/drbd/8.4/drbd-8.4.1.tar.gz 
  2. tar -zxvf drbd-* 
  3. cd drbd-* 
  4. ./configure 
  5. make rpm 
  6. make km-rpm 
八、主备节点安装编译后的rpm包,根据需求安装所需的rpm包,最好全部安装;这里只是最小化安装:
 
  1. cd /root/rpmbuild/RPMS/x86_64 
  2. rpm -ivh drbd-utils* drbd-km-2.6* 
九、在主节点上配置drbd,完成后把配置文件复制到备用节点:
cd /etc/drbd.d
vi global_common.conf
 
  1. global { 
  2. usage-count yes; 
  3.  
  4. common { 
  5. handlers { 
  6. pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; 
  7. pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; 
  8. local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f"; 
  9.  
  10. startup { 
  11. wfc-timeout 30; 
  12. degr-wfc-timeout 30; 
  13. outdated-wfc-timeout 30; 
  14.  
  15. options { 
  16. # cpu-mask on-no-data-accessible 
  17.  
  18. disk { 
  19. on-io-error detach; 
  20. fencing resource-and-stonith; 
  21. resync-rate 15M; 
  22.  
  23. net { 
  24. protocol C; 
  25. cram-hmac-alg sha1; 
  26. shared-secret "111111"; 
vi redis.res
 
  1. resource redis { 
  2. device /dev/drbd0; 
  3. disk /dev/VolGroup00/LogVol01; 
  4. meta-disk internal; 
  5. on SER-206 { 
  6. address 10.10.14.174:9876; 
  7. on SER-104 { 
  8. address 10.10.14.5:9876; 
复制配置文件到备用节点:
 
  1. scp /etc/drbd.d/* SER-104:/etc/drbd.d 
要注意:1) drbd每个配置项结尾有一个分号,注意不要犯语法上的错误
2) 配置drbd-8.4时不要生搬硬套8.3的配置项,因为8.4的配置文件发生了很多的变化,如取消了syncer配置段,把这部分选项分配给了disk和net;disk增加了一些新的选项,如disk-timeout等。
 
十、主备节点载入drbd模块,创建drdb分区元数据,并启用资源:
 
  1. modprobe drbd 
  2. lsmod |grep drbd 
  3. 如果结果无报错,有drbd的字样,说明安装成功。 
  4.  
  5. drbdadm create-md redis //创建元数据 
  6. drbdadm up redis //启用资源  
十一、主备节点查看drbd状态:
cat /proc/drbd
正常情况下的状态应该是这样:cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----;如果你的drbd状态一直显示cs:WFConnection ro:Secondary/Unknown ds:Inconsistent/DUnknown,而/var/log/messages又无报错,请查看iptables和selinux是否关闭。
 
十二、设置主节点的角色为primary:
 
  1. drbdadm primary --force redis   
设置成功后,应该会看到两个节点正在同步数据。
 
十三、在主节点上为drbd分区创建文件系统,并挂载drbd分区:
 
  1. yum -y install xfsprogs xfsdump 
  2. mkfs.xfs /dev/drbd0 
  3.  
  4. mkdir /data 
  5. mount /dev/drbd0 /data 
注意:1) 是为drbd分区创建文件系统,就是在redis.res中定义的/dev/drbd0,不是底层分区
2) 为drbd分区创建文件系统的工作,只在主节点上进行操作,备用节点上不用创建。
 
十四、测试主备节点之间的数据同步(注意步骤!):
1) 在主节点上:
 
  1. 创建测试文件:echo -e "$(date +$F%T): hell0" >/data/test.txt 
  2. 卸载drbd设备:umount /data 
  3. 主节点角色降级:drbdadm secondary redis 
2) 然后,在备用节点上:
 
  1. 把备用节点设置为primary角色:drbdadm primary redis 
  2. 挂载drbd设备:mount /dev/drbd0 /data 
查看备用节点的/data目录,可以看到在主节点上的创建的文件,说明切换成功!再次查看drbd状态,两个节点的角色应该已经转换过来了。
 
十五、有朋友问,drbd的日志记录在什么地方?DRBD的日志默认记录在/var/log/messages中,如果遇到了问题,可以去查看一下。


本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/845357
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
监控 PHP Apache
centos7.源码安装zabbix4.4
centos7.源码安装zabbix4.4
|
6月前
|
Linux 网络安全
百度搜索:蓝易云【CentOS7系统安装和配置 DRBD?实现高可用性和数据冗余教程!】
通过上述步骤,你可以在CentOS 7系统上安装和配置DRBD,实现高可用性和数据冗余。请注意,这只是一个基本的教程,实际配置可能需要根据你的特定需求和环境进行调整。建议查阅DRBD的官方文档和用户指南,以获取更详细的安装和配置说明。
53 0
|
16天前
|
Linux Apache
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
CentOS 7 源码安装LAMP环境源 和apache监听别的端口
12 0
|
4月前
|
关系型数据库 MySQL Linux
Centos安装MySQL数据库(注意:源码安装)
Centos安装MySQL数据库(注意:源码安装)
141 0
|
7月前
|
Kubernetes NoSQL Java
CentOS7上源码安装Redis6
CentOS7上源码安装Redis6
201 0
|
Linux
CentOS7源码安装ffmpeg,并利用ffmpeg实现音频截取
CentOS7源码安装ffmpeg,并利用ffmpeg实现音频截取
153 0
CentOS7源码安装ffmpeg,并利用ffmpeg实现音频截取
|
Linux 数据库管理
五、Linux(CentOS7)编译源码安装Subversion
1、安装apr-util #yum install apr-util apr-util-devel 2、安装sqlite #yum install sqlite sqlite-devel 3、安装zlib #tar zxf zlib-1.2.8.tar.gz #cd zlib-1.2.8 #./configure #make && make install
309 0
|
关系型数据库 MySQL Shell
mysql5.7 for centos7.6源码安装
规划: 服务器品牌:华为,DELL.... 服务器配置:cpu 32core /memory 256G/ssd pcie 1.6T/3.2T/6.4T (raid 0) 软件:os-->CentOS 7.6 ,DB-->MySQL 5.7, 参数:os sysctl.conf, limits.conf, DB-->my3306.cnf 空间: OS->100G DB--3.2T 目录:数据文件,日志文件,参数文件,。。。。
|
关系型数据库 Shell 应用服务中间件
CentOS7 源码安装nginx+php+mysql+redis--shell脚本
centos7源码安装 nginx+php+mysql+redis 复制文中shell脚本,登录自己的服务器保存为 install.sh 执行如下命令 chmod +x install.sh ./install.sh
2099 0