




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ubuntu下Mysql+drbd+heartbeat高性能服务集群配置。环境如下:VMware下的两台虚拟机,drbd01 2drbd02 3vip 20(heartbeat会自动给我们配好,不用担心)Ubuntudisk:/dev/sdb1(一个5G的分区)一、安装drbd修改hosts文件和主机名在drbd01上echo"2drbd2">>/etc/hostsecho"drbd01">/etc/hostname在drbd02上echo"3drbd1">>/etc/hostsecho"drbd02">/etc/hostname(需要reboot后设置生效)安装drbd(主从都要安装)apt-getinstalldrbd8-utils配置drbd.conf(/etc/drbd.conf)的配置文件(主从都要做)vim/etc/drbd.conf默认信息为:include"/etc/drbd.d/global_common.conf";include"/etc/drbd.d/*.res";这样你需要去配置global_common.conf以及新建一个以res结尾的资源文件,这里为r0.res。vim/etc/drbd.d/global_common.confglobal{usage-countno; 〃帮LINBIT公司统计drbd使用量}common{protocolC;//C为最安全同时也是性能最好的一种确认写操作完成的方法syncer{rate100M; 〃同步的速率}}vim/etc/drbd.d/r0.resresourcer0{ //r0资源名称,以后很多地方会用到ondrbd01{device /dev/drbd0; 〃逻辑设备的路径disk /dev/sdb1; //物理设备address2:7788;//主节点meta-diskinternal;
}ondrbd02{}ondrbd02{devicediskaddress/dev/sdb1;3:7788; //从节点meta-diskinternal;}}4.初始化drbdmeta-diskinternal;}}4.drbdadmcreate-mdr0(如果出现如下错误:md_offset21467942912al_offset21467910144bm_offset21467254784Foundext3filesystem20964792kBdataareaapparentlyused20964116kBleftusablebycurrentconfigurationDevicesizewouldbetruncated,whichwouldcorruptdataandresultin'accessbeyondendofdevice'errors.Youneedtoeitheruseexternalmetadata(recommended)shrinkthatfilesystemfirstzerooutthedevice(destroythefilesystem)Operationrefused.Command'drbdmeta1v08/dev/sdb1internalcreate-md'terminatedwithexitcode40drbdadmcreate-mdr0exitedwithcode40)执行如下命令:ddif=/dev/zerobs=1Mcount=1of=/dev/sdb1;sync再次执行drbdadmcreate-mdr0看到success则表示成功。启动drbd服务(主从都执行)/etc/init.d/drbdstartcat/proc/drbdro:Secondary/Secondary表示还没有建立主盘ds:Inconsistent/Inconsistent表示两节点的逻辑设备(即/dev/drbd0)中的数据未同步初始化网络硬盘(主节点执行)drbdsetup/dev/drbd0primarypcat/proc/drbdro:primary/Secondary表示在主节点建立了主盘ds:UpToDate/Inconsistent表示两节点正在同步数据等同步完后将会变成ds:UpToDate/UpToDate格式化磁盘,现在讲磁盘格式化后并可以向其中写数据,这些数据会同步到从节点中。在drbd01上(主节点)mkfs.ext4/dev/drbd0mount/dev/drbd0/mnt/data(注意:只有主盘节点才能挂载磁盘)cd/mnt/datamkdirtestfile //新建名为testfile的测试文件umount/dev/drbd0 〃卸载磁盘drbdadmsecondaryr0 //主降为次,即刚开始主节点的磁盘是主盘,现在降为从盘,往主盘里写数据,从从盘里读数据。在drbd02上(从节点)drbdadmprimaryr0 //次升为主,即将从节点的磁盘升为主盘资格这样才能从从节点的机器读取磁盘的数据。mount/dev/drbd0/mnt/data //升主后才有挂在权限cd/mnt/datals-l将会看到我们在主节点中建立的名为testfile的文件夹。(啰嗦一下:要想完成主从Mysql数据的备份,到这里大家应该有点启发了,我么只需要将Mysql的数据保存到/mnt/data(我们将/dev/drbd0挂在的路径)中即可这样主Mysql往这个区域写数据,drbd会帮我们自动将这些数据同步到从节点中,这样装在从节点机器上的Mysql也从这里读取数据。这样便实现了两份数据的自动备份。)二、安装Mysql(在两个节点上)安装Mysqlapt-getinstallmysql-server更改Mysql数据库的存储位置默认情况下数据库的存储位置是/var/lib/mysql(可以在/etc/mysql/f中的datadir位置找到),现在要将其改为存在/mnt/data下。将/var/lib/mysql下的数据复制到/mnt/data下cp-r/var/lib/mysql/mnt/data/vim/etc/mysql/f找到datadir这一行将其值改为/mnt/data/mysql自Ubuntu7.10开始,Ubuntu就开始使用一种安全软件叫做AppArmor,这个安全软件会在你的文件系统中创建一个允许应用程序访问的区域(专业术语:应用程序访问控制)。如果不为MySQL修改AppArmor配置文件,永远也无法为新设置的存储位置启动服务。配置AppArmor:nano/etc/apparmor.d/usr.sbin.mysqld找到/var/lib/mysql/这两行,注释掉这两行,在这两行前分别添加一个符号“#”即可注释,在这两行之前或之后加上下面内容:/mnt/data/mysql/r,/mnt/data/mysql/**rwk,3.测试在drbd01上启动mysql建立一个名为test的数据库。之后关闭数据服务servicemysqlstopdrbdadmsecondaryr0umount/dev/drbd0在drbd02上drbdadmprimaryr0mount/dev/drbd0servicemysqlstart进去mysql中查看是否已有从drbd01同步过来的名为test的数据库。OK至此测试就完成了。(啰嗦下:聪明的读者可能会问,每次都这样操作效率也太低了吧,对的,接下来heartbeat会自动帮我们做好这些事,它会监听服务,一旦服务停止,则从服务会接管服务)三、安装heartbeat(让切换更智能)安装heartbeatapt-getinstallheartbeat(ps:Heartbeat的主要配置文件有ha.cf、haresources和authkeys。在Heartbeat安装后,默认并没有这3个文件,可以从官方网站下载得到,也可以直接从解压的源码目录中找到)配置ha.cflogfacilitylocal0#这个是设置heartbeat的日志,这里是用的系统日志keepalive500ms#多长时间检测一次deadtime10破续多长时间联系不上后认为对方挂掉了(单位是妙)warntime5#连续多长时间联系不上后开始警告提示initdead100#这里主要是给重启后预留的一段忽略时间段(比如:重启后启动网络等,如果在网络还没有通,keepalive检测肯定通不过,但这时候并不能切换)bcasteth0auto_failbackoff#恢复正常后是否需要再自动切换回来nodedrbd01#节点名(必须是集群中机器的主机名,通过uname-n取得)nodedrbd02#节点名(必须是集群中机器的从机名,通过uname-n取得)ping50(默认网关,可以通过route命令得到)respawnroot/usr/lib/heartbeat/ipfail#这里是配置ip绑定和切换的功能,ipfail就是控制ip切换的程序apiauthipfailgid=rootuid=root#控制ip切换的时候所使用的用户deadping5配置资源文件(/etc/ha.d/haresources)(参考了:/?p=361)Haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等集群资源,文件每一行可以包含一个或多个资源脚本名,资源之间使用空格隔开,参数之间使用两个冒号隔开,在两个HA节点上该文件必须完全一致,此文件的一般格式为:node-namenetwork<resource-group>node-name表示主节点的主机名,必须和ha.cf文件中指定的节点名一致。network用于设定集群的IP地址、子网掩码和网络设备标识等。需要注意的是,这里指定的IP地址就是集群对外服务的IP地址,resource-group用来指定需要Heartbeat托管的服务,也就是这些服务可以由Heartbeat来启动和关闭。如果要托管这些服务,就必须将服务写成可以通过start/stop来启动和关闭的脚步,然后放至到/etc/init.d/或者/etc/ha.d/resource.d/目录下,Heartbeat会根据脚本的名称自动去/etc/init.d或者/etc/ha.d/resource.d/|目录下找到相应脚步进行启动或关闭操作。下面对配置方法进行具体说明:drbd01 IPaddr::20/24/eth0:0 drbddisk::r0Filesystem::/dev/drbd0::/mnt/data::ext4mysql(ps:在上面的例子中,提供了对mysql资源的启动和关闭,所以需要在/etc/ha.d/resource.d这个目录下去创建一个控制该资源启动脚本,命令为:ln-s/etc/init.d/mysql/etc/ha.d/resource.d/mysql)其中,drbd01是HA集群的主节点,IPaddr为heartbeat自带的一个执行脚本,Heartbeat首先将执行/etc/ha.d/resource.d/IPaddr20/24start的操作,也就是虚拟出一个子网掩码为,IP为20的地址。此IP为Heartbeat对外提供服务的网络地址,同时指定此IP使用的网络接口为eth0。接着,Heartbeat将执行共享磁盘分区的挂载操作,"Filesystem::/dev/drbd0::/mnt/data::ext4"相当于在命令行下执行mount操作,即"mount-text4/dev/drbd0/mnt/data",最后mysql服务。注意主节点和备份节点中资源文件haresources要完全一样。因此对于我们应该这样写drbd01 IPaddr::20/24/eth0:0 drbddisk::r0Filesystem::/dev/drbd0::/mnt/data::ext4mysql不要写成如下这样:drbd01drbddisk::r0Filesystem::/dev/drbd0::/mnt/data::ext4mysql20会报heartbeatCannotusedefaultroutew/onetmask的错误,具体原因见:/pipermail/linux-ha/2002-November/005911.html配置认证文件(/etc/ha.d/authkeys)authkeys文件用于设定Heartbeat的认证方式,共有3种可用的认证方式,即crc、md5和sha1。3种认证方式的安全性依次提高,但是占用的系统资源也依次增加。如果Heartbeat集群运行在安全的网络上,可以使用crc方式;如果HA每个节点的硬件配置很高,建议使用sha1,这种认证方式安全级别最高;如果是处于网络安全和系统资源之间,可以使用md5认证方式。这里我们使用crc认证方式,设置如下:auth11crc#2sha1sha1_any_password#3md5md5_any_password需要说明的一点是:无论auth后面指定的是什么数字,在下一行必须作为关键字再次出现,例如指定了"auth6",下面一定要有一行"6认证类型"。最后确保这个文件的权限是600(即-rw——-)。配置备份节点的Heartbeat在备份节点上也需要安
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软件工程师职业考题及答案
- 2025年市场调查与分析考试题及答案
- 2025年投资项目评估与管理考试题及答案
- 2025年工业机器人应用技术职业资格考试卷及答案
- 2025年高校计算机基础课程试题及答案
- 2025年地质灾害防治与管理考试试卷及答案
- 2025年法律职业资格考试试题及答案
- 2025年互联网工程师考试试题及答案
- 2025年环境心理学领域职业资格认证考试试卷及答案
- 2025年急救与应急救护专业考试题及答案
- 郑丽玲《彩墨游戏》说课x 课件
- 重点中成药品种含濒危野生动物药材调查表
- 2016年社区获得性肺炎(CAP)指南解读与抗生素应用
- 预应力混凝土连续梁张拉记录
- GB/T 41028-2021航空航天流体系统液压软管、管道和接头组件的脉冲试验要求
- 化工环境保护与及安全技术概论考试题及答案
- 领退转款账户确认书
- 精益生产精管理培训课件
- 钳工技能-刮削与研磨课件
- 浙大中控DCS系统AdvanTrol-Pro软件培训-编程综合编程案例课件
- 2021版《安全生产法》培训课件
评论
0/150
提交评论