heartbeat+drbd+mysql:实现最廉价的高可用组合

作者: 云计算机网 分类: 云计算知识 发布时间: 2016-06-09 10:58

1.什么是DRBD

DRBD(DistributedReplicatedBlockDevice),DRBD号称是"网络RAID",开源软件,由LINBIT公司开发。

2.DRBD的主要功能

DRBD实际上是一种块设备的实现啦,主要被用于Linux平台下的高可用(HA)方案之中。它是由内核模块和相关程序而组成,通过网络通信来同步镜像整个设备,有点类似于一个网络RAID的功能。也就是说当读者你将数据写入本地的DRBD设备上的文件系统时,数据会同时被发送到网络中的另外一台主机之上啦,并以完全相同的形式记录在一个文件系统中(实际上文件系统的创建也是由DRBD的同步来实现的)。本地节点(主机)与远程节点(主机)的数据可以保证实时的同步,并保证IO的一致性。所以当本地节点的主机出现故障时,远程节点的主机上还会保留有一份完全相同的数据,可以继续使用,以达到高可用的目的。www.it165.net

3.DRBD的主要应用

如果主服务器当掉啦,造成的损失是不可估量的。要保证主服务器不间断服务,就需要对服务器实现冗余。在众多的实现服务器冗余的解决方案中,heartbeat为我们提供了廉价的、可伸缩的高可用集群方案啦。我们通过heartbeat+drbd在Linux下创建一个高可用(HA)的集群服务器,在高可用(HA)解决方案中使用DRBD的功能,可以代替使用一个共享盘阵存储设备。因为数据同时存在于本地主机和远程主机上,在遇到需要切换的时候,远程主机只需要使用它上面的那份备份数据,就可以继续提供服务了。

4.DRBD于mysql的关系

MySQL与LINBIT达成了合作关系,大张旗鼓的搞了这个"12天Scale-Out"活动,也是这个商业合作驱动的吧。DRBD助力MySQL,号称可以得到四个9的可靠性,这不低于任何一款商业数据库软件了。

DRBD的出现的确对MySQL集群的可用性有很大提高。而且,有独到的特点,非常适合面向互联网的应用。因为是在存储层的数据块同步,很容易的做到应用层的IO负载均衡(备机承担一定的读压力),不但支持数据库失败接管,还能做到IP失败接管,接管时间小于30秒,真是穷人的绝佳集群解决方案。

heartbeat的安装这里小编就不细讲了

以下的配置两个节点都必须一致,为了减少工作量,小编这里在主节点上配置,然后使用scp传输到备份节点

5.hosts文件以及主机名的配置

[root@primary~]#vim/etc/hosts

192.168.110.6primary.zzdx.com

192.168.110.7standby.zzdx.com

[root@primary~]#scp/etc/hosts192.168.20.2:/etc

修改主机名

[root@primary~]#vim/etc/sysconfig/network

HOSTNAME=primary.zzdx.com//备份节点的主机名是standby.zzdx.com

6.drbd的安装

由于小编使用的是5.4的红帽啦,内核(2.6.18)中不包含drbd(2.6.33的内核中已经有了),小编这里安装相应的软件包和内核模块就是了

  • 在Linux中,有时为了简单起见,需要自动将文件上传到ftp,爱站技术频道小编介绍了如何在Linux实现文件上传ftp服务器的代码实现,一起来了解一下吧!

    在Linux中,有时为了简单起见,需要自动将文件上传到ftp,爱站技术频道小编介绍了如何在Linux实现文件上传ftp服务器的代码实现,一起来了解一下吧!

    具体的脚本sync.sh如下:

    #!/bin/bashsource ~/.bashrc# 模拟进入ftp命令行模式,其中EOF表示退出标记符ftp -niv lt;lt;- EOF# 根据ftp的ip地址与端口号,连接ftp服务器open ip port# 输入用户名与密码user userName password# 以bin模式进行传输,与ASCII模式有区别,使用bin模块能够防止乱码问题bin# 上传文件get $1# 结束bye#退出EOF

    然后将该脚本sync.sh加入环境变量,每次只需执行 sync.sh filename即可,具体的执行过程如下:

    Connected to *.*.*.*.220 Microsoft FTP Service331 Password required for userName.230 User logged in.Remote system type is Windows_NT.200 Type set to I.local: filename remote: filename200 PORT command successful.125 Data connection already open; Transfer starting.226 Transfer complete.112089125 bytes received in 44.62 secs (2453.3 kB/s)221 Goodbye.

    通过爱站技术频道小编介绍的内容,相信大家都有了一定的了解,想要了解更多的技术内容,请继续关注爱站技术频道吧!

  • 相关推荐:

  • 如何在Linux实现文件上传
  • 雷霆世纪荣获“2018年度
  • 用Windows还是Linux取决于你
  • VMwareESXi5.0七大新功能
  • 如何实现100%的虚拟化?
  • 如何使用P2V迁移实现虚拟
  • 青岛市口腔医院信息机房
  • 站长你最不该丢弃的长尾
  • 网页开发工具有哪些?
  • 老大请你帮个忙
  • 网站内容禁止违规转载,转载授权联系中国云计算网