CentOS 5.5中安装DRBD笔记

DRBD(Distributed Replicated Block Device),分布式复制块设备,是一种通过TCP/IP网络实现块设备数据实时镜像的方案。利用这种方案,单一主节点模式(single primary mode)双机系统能够实时地将业务数据保存在主备节点的磁盘中,正常情况下两个节点的数据是一模一样的。

HeartBeat在此是用来做热备切换的,两节点间通过心跳线连接,如果主节点死机的话,可以通过HA将DRBD快速切换到另外一个节点,同时抢占虚拟IP,并启动MySQL,对MySQL客户端来说,只有很短时间的中断。此模式能有效提高MySQL的可用性。

一.环境
--------------------------------
OS: CentOS 5.5 32位
DRBD: 8.3.9编译安装 ()

====Node1====
Hostname:
Ip: 192.168.0.201
====Node2====
Hostname:

Ip: 192.168.0.202

二. 编译安装DRBD
--------------------------------
从下载drbd-8.3.9.tar.gz,分别在两个节点上编译安装:
注意,DRBD需要内核模块支持,2.6.33后的Linux内核已内置DRBD的支持,在此版本前,安装时需要kernel-devel包,同时编译drbd时要带上--with-km。

#./configure --prefix=/ --with-km
#make
#make install
#chkconfig --add drbd
#chkconfig drbd on

检查安装是否成功:
#drbdadm
看是否以执行成功
#cat /proc/drbd
是否可以看到版本信息
重启后再次检查cat /proc/drbd

三 配置服务器的hostname hosts

在两个服务器中编辑hosts文件

#vi /etc/hosts

添加  192.168.0.201 

192.168.0.202 

四.  在两个服务器中分出一个空分区或者添加一个空的硬盘

/dev/sdb1  不要带有分区信息 如果格式化分区的话,则

# mkfs.ext3 /dev/sdb1或者dd if=/dev/zero bs=1M count=1 of=/dev/sdb1; sync 这个命令破坏原有文件系统,否则底下第一次执行主备同步会感觉到很慢

四. 配置DRBD
--------------------------------
注意,新版本的DRBD的配置文件已拆分成多个,全部放在/etc/drbd.d/目录,具体可参考/etc/drbd.conf中的配置.
如果开了iptables防火墙,需要打开对应的7789端口。

在主节点配置/etc/drbd.d/dbdata.res:
=========dbdata.res begin===========
resource dbdata {
  on {
    device    /dev/drbd1;
    disk      /dev/sdb1;
    address   192.168.0.201:7789;
    meta-disk internal;
  }
  on {
    device    /dev/drbd1;
    disk      /dev/sdb1;
    address   192.168.0.202:7789;
    meta-disk internal;
  }
}
=========dbdata.res end===========

创建drbd设备
#drbdadm create-md all
#/etc/init.d/drbd restart

查看是否有相应的块设备:
#ls -l /dev/drbd1
#cat /proc/drbd

现在可以查看DRBD的状态,然后在主机上执行:
# cat /proc/drbd

version: 8.3.9 (api:88/proto:86-95)
GIT-hash: 1c3b2f71137171c1236b497969734da43b5bec90 build by root@, 2011-04-18 17:28:21

1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:4706832

”/proc/drbd”中显示了drbd当前的状态.第一行的cs表示两台主机的状态,都是”备机”状态.ds是磁盘状态,都是”不一致”状态. 这是由于,DRBD无法判断哪一方为主机,以哪一方的磁盘数据作为标准数据.所以,我们需要初始化 一个主机.在上执行:

#drbdsetup /dev/drbd1 primary -o 或:/sbin/drbdadm primary dbdata
/sbin/drbdadm secondary r0 (此命令为降级) 
 

# cat /proc/drbd

version: 8.3.9 (api:88/proto:86-95)
GIT-hash: 1c3b2f71137171c1236b497969734da43b5bec90 build by root@, 2011-04-18 17:28:21

1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
    ns:1383040 nr:0 dw:0 dr:1383040 al:0 bm:84 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:3323792
 [====>...............] sync'ed: 29.5% (3244/4596)M
 finish: 0:43:08 speed: 1,280 (1,268) K/sec

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywpdf.html