RHEL4下Heartbeat+DRBD+Mysql高可用环境的部署整理.doc_第1页
RHEL4下Heartbeat+DRBD+Mysql高可用环境的部署整理.doc_第2页
RHEL4下Heartbeat+DRBD+Mysql高可用环境的部署整理.doc_第3页
RHEL4下Heartbeat+DRBD+Mysql高可用环境的部署整理.doc_第4页
RHEL4下Heartbeat+DRBD+Mysql高可用环境的部署整理.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RHEL4下Heartbeat+DRBD+Mysql高可用环境的部署1.简介:1.1 heartbeatHeartbeat是Linux下一个典型的高可用软件,可以用heartbeat进行管理的应用服务包括a web server such as Apache,a database server such as MySQL, Oracle, or PostgreSQL,a file server such as NFS or Samba, and many others.1.2 DRBDDRBD是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.当你将数据写入本地文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中. 本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会 保留有一份相同的数据,可以继续使用.在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵.因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了.DRBD的工作原理如下图: 2.安装过程IP地址的规划:节点1:mysql_master : 192.168.1.61 节点2:mysql_slave: 192.168.1.62 VIP: 192.168.1.63配置之前修改主机名修改主服务器的主机名为:mysql_master修改从服务器的主机名为:mysql_slave注:修改主机名可以用下面的方法:第一步:#hostname mysql_master第二步:修改/etc/sysconfig/network中的hostname第三步:修改/etc/hosts文件为:192.168.1.61 mysql_master192.168.1.62 mysql_slave2.1 Mysql的安装2.1.1添加mysql用户及用户组# groupadd mysql# useradd -g mysql -s /sbin/nologin -M mysql2.1.2卸载系统自带的MYSQL# rpm -qa| grep mysqlmysqlclient10-3.23.58-4.RHEL4.1mysql-4.1.20-2.RHEL4.1# rpm -e mysqlclient10-3.23.58-4.RHEL4.1# rpm -e mysql-4.1.20error: Failed dependencies: libmysqlclient.so.14 is needed by (installed) cyrus-sasl-sql-2.1.19-5.EL4.i386# rpm -e mysql-4.1.20 -nodeps2.1.3安装tar zxvf mysql-5.1.34.tar.gzcd mysql-5.1.34./configure -prefix=/usr/local/mysql -with-charset=gbk -localstatedir=/var/lib/mysql -with-extra-charsets=all -enable-thread-safe-client -sysconfdir=/etcmake & make install/usr/local/mysql/bin/mysql_install_db -user=mysqlcp support-files/mysql.server /etc/rc.d/init.d/mysqldchmod 755 /etc/rc.d/init.d/mysqld注意这边不要让mysqld开机自启动,后面让heartbeat来管理mysql的启动与关闭2.1.4修改一些权限chown -R root /usr/local/mysql chgrp -R mysql /usr/local/mysql chown -R root /var/lib/mysqlchgrp -R mysql /var/lib/mysqlchmod 777 /var/lib/mysql chmod 777 /var/lib/mysql/mysql2.1.5 启动数据库service mysqld start设置数据库root用户的密码:/usr/local/mysql/bin/mysqladmin -u root password 1234562.1.6 Mysql的设置配置库文件搜索路径# echo /usr/local/mysql/lib/mysql/etc/ld.so.conf# ldconfig# ldconfig -v添加/usr/local/mysql/bin到环境变量PATH中#echo export PATH=$PATH:/usr/local/mysql/bin/etc/profile#source /etc/profile 2.2 DRBD的安装2.2.1 安装# tar -zxvf drbd-8.3.0.tar.gz# cd drbd-8.3.5# make KDRI=/usr/src/redhat/# make install检查是否生成了相应的文件:/etc/drbd.conf ; /etc/init.d/drbd ; 以及./drbd/drbd.ko加载安装drbd模块# modprobe drbd通过lsmod检查是否已经成功#lsmod |grep drbd如果有,则表示成功了chkconfig add drbd让DRBD开机自动启动2.2.2 修改DRBD的配置文件-drbd.conf首先留出或者重新划分一个干净的分区给DRBD,这边是/dev/sdc1然后# mv /etc/drbd.conf /etc/drbd.conf.bak#vi /etc/drbd.conf添加以下代码:resource r0 r0是drbd资源的名称 protocol C; startup degr-wfc-timeout 120; disk on-io-error detach; net syncer rate 10M; on mysql_master/mysql_master是主服务器的主机名 device /dev/drbd0; disk /dev/sdc1; address 192.168.1.61:7788; meta-disk internal; on mysql_slave/mysql_slave是从服务器的主机名 device /dev/drbd0; disk /dev/sdc1; address 192.168.1.62:7788; meta-disk internal; 修改完后保存退出。2.2.3 配置主服务器创建matadata:# drbdadm create-md all根据提示敲两次回车就可以了启动drbd:# /etc/init.d/drbd start在启动第一个节点上的DRBD服务的时候,他会等待第2个节点的DRBD服务的启动,此时启动第2个节点上的DRBD服务即可。查看drbd的运行状态# cat /proc/drbd 或者:service drbd status设置为主节点:在mysql_master上设置它为主节点:drbdadm primary all。第一次执行会出现如下错误:State change failed: (-2) Refusing to be Primary without at least one UpToDate disk Command drbdsetup /dev/drbd0 primary terminated with exit code 11此时要先用drbdsetup 来做,之后就可以用drbaadmin了:drbdsetup /dev/drbd0 primary o查看状态可以发现此时两块磁盘已经开始同步,时间会比较长的.创建设备文件:(两台都要创建,这边只创建drbd0就可以了)mknod /dev/drbd0 b 147 0可以用下面命令创建多个:for i in $(seq 0 15) ; do mknod /dev/drbd$i b 147 $i ; done在新设备上面创建文件系统- (主server上执行,从设备会同步执行)# mkfs.ext3 /dev/drbd0挂载文件系统# mkdir /var/data# mount /dev/drbd0 /var/data注意:secondary节点上不允许对drbd设备进行任何操作,包括只读。所有的读写操作只能在primary节点上进行。知道primary节点挂掉之后,secondary节点才能提升成为primary节点,继续进行读写操作2.2.4 简单测试在主节点上写入数据然后,我们把primary降级成secondary,把secondary提升成primary:# umount /var/data# drbdadm secondary all从主节点把primary降级前,一定要先umount设备才行。然后提升secondary:# drbdadm primary all# mount /dev/drbd0 /var/data/查看一下数据同步过来没附:drbd状态的意义:输出文件上面最开始是drbd的版本信息,然后就是数据同步的一些状态信息:cs connection statest node state (local/remote)ld local data consistencyds data consistencyns network sendnr network receivedw disk writedr disk readpe pending (waiting for ack)ua unackd (still need to send ack)al access log write count2.3 heartbeat的安装2.3.1 安装# groupadd haclient# useradd -g haclient hacluster# tar -jxvf Heartbeat-STABLE-2-1-STABLE-2.1.4.tar.bz2# cd Heartbeat-STABLE-2-1-STABLE-2.1.4# ./ConfigureMe configure -disable-swig -disable-snmp-subagent# make# make install# cp doc/ha.cf /etc/ha.d/# cp doc/haresources /etc/ha.d/# cp doc/authkeys /etc/ha.d/2.3.2 Authkeys文件的配置# chmod 600 /etc/ha.d/authkeys 这个文件时主节点和从节点间通讯时做数据校验用的# vi /etc/ha.d/authkeys把 #auth 1 #1 crc #2 sha1 HI! #3 md5 Hello!改成: auth 3 #1 crc #2 sha1 HI! 3 md5 Hello!/采用第3种md5校验2.3.3资源文件haresources配置# vi /etc/ha.d/haresources在配置文件中添加如下一行mysql_master drbddisk:r0 Filesystem:/dev/drbd0:/var/data:ext3 mysqld 192.168.1.63注意:资源组配置文件主要是配置切换过程需要管理的各种资源的,有一个很关键的点,那就是一个资源组中的各个资源的排列顺序是需要注意的,在hearbeat管理资源组的时候,获取资源的过程是从左往右依次处理,释放资源的时候是从右往左依次处理。上面资源组中的各项含义如下:mysql_master 当前primary节点名(uname -n)drbddisk 告诉heartbeat要管理drbd的资源Filesystem 这里是告诉heartbeat需要管理文件系统资源,其实实际上就是执行mount/umount命令,后面的“:”符号之后是跟的 Filesystem的参数设备名和mount点)mysqld 告诉需要管理mysql192.168.1.63 这里是让heartbeat帮你管理一个service ip(也就是VIP),会跟着主节点一起漂移2.3.4 ha.cf文件的配置#debugfile /var/log/ha-debug的注释去掉#keepalive 2 删除注释#deadtime 15 删除注释#warntime 10 删除注释把10改成5#initdead 120 删除注释#udpport 694 删除注释#bcast eth0 #Linux 删除注释#node den3 把den3改成mysql_master 这里要注要它是主节点名称下面的是副节点名称,一定要与uname -n一致.#node dathy 把dathy改成mysql_slave#ping_group group1 10.10.10.254 10.10.10.253 删除注释修改为:ping_group group1 192.168.1.61 192.168.1.62#respawn hacluster /usr/lib/heartbeat/ipfail 删除注释#apiauth ipfail gid=haclient uid=hacluster

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论