DRBD8.4.4配置Primary-Secondary冗余模式


环境描述:

操作系统为Centos6.4 x64最小化安装

主机名

Eth0地址(业务通信网卡)

Eth2地址(DRBD通信专用网卡)

存储设备

host1.cloud.com

192.168.129.11/24

10.0.0.11/8

/dev/sdb1

host2.cloud.com

192.168.129.12/24

10.0.0.12/8

/dev/sdb1


一,DRBD8.4.只提供源码

以下是编译安装过程:

1,下载源码包,复制到/usr/src

$ http://oss.linbit.com/drbd/8.4/drbd-8.4.4.tar.gz

$ tar-xzf drbd-8.4.4.tar.gz

$ mv drbd-8.4.4.tar.gz/usr/src


2,安装依赖的软件包

配置本地yum源(不再复述),如果安装多个GCC版本,一定要和kernel版本一致

$ yum install make.x86_64 -y
$ yum install gcc.x86_64  -y
$ yum install flex.x86_64 -y

$ yuminstall glibc.x86_64 -y

$ yuminstall kernel-devel.x86_64 -y

$ yuminstall kernel-headers.x86_64 -y


3,编译安装DRBD源码,检查编译情况,检查没有报错,根据日志来修复安装情况。

默认情况下会安装drbdadm, drbdsetup, drbdmeta管理工具。详细安装可以configure --help来确定需要安装和配置的属性。

$ ./configure --help
$ ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
$ cat ./config.log
$ make
$ make install


二,配置冗余磁盘组

1DRBD源码包安装完成过后,在两台物理机中准备两个相同大小的存储空间。

例如:host1.cloud.com------ sdb

                  host2.cloud.com------ sdb

目前DRBD支持以下形式的存储设备:

·硬盘分区(或者完整硬盘)

·软RAID设备

·LVM逻辑卷

·系统识别的其他块设备

2,网络设置,建议使用bond来配置一组专有的网路用于DRBD数据传输,不建议使用路由来传输DRBD数据,最佳方式为端口直连。防火墙设置打开TCP 7788-7799端口,并且保证这些端口没有被其他程序占用。关闭SElinux或者修改SElinux策略,以免DRBD数据被安全策略阻止。(本文档关闭iptablesSElinux置为permissive.

        ip地址配置:

        host1.cloud.com------ 10.0.0.11/8

        host2.cloud.com------ 10.0.0.12/8


3,配置DRBD配置文件。DRBD全局配置文为/etc/drbd.conf。配置DRBD磁盘组:

配置文件需要在两个节点都要做相同配置

$ vi /etc/drbd.d/r0.res
resource r0 {
  on host1.cloud.com {
    device    /dev/drbd1;
    disk      /dev/sdb1;
    address   10.0.0.11:7789;
    meta-disk internal;
  }
  on host2.cloud.com {
    device    /dev/drbd1;
    disk      /dev/sdb1;
    address   10.0.0.12:7789;
    meta-disk internal;
  }
}


$ vi /etc/drbd.d/global_common.conf
global {
  usage-count yes;
}
common {
  net {
    protocol C;
  }
}

如果在两个节点创建多个DRBD磁盘组可以参照以下格式进行配置:(照抄官网的,自己没试)

resource r0 {
  volume 0 {
    device    /dev/drbd1;
    disk      /dev/sda7;
    meta-disk internal;
  }
  volume 1 {
    device    /dev/drbd2;
    disk      /dev/sda8;
    meta-disk internal;
  }
  on alice {
    address   10.1.1.31:7789;
  }
  on bob {
    address   10.1.1.32:7789;
  }
}



4,初始化drbd1磁盘组:(r0是我们之前配置文件里定义的resource名字)

$ drbdadm create-md r0
$ drbdadm up r0
$ cat /proc/drbd

#################################重点呀######################################

ftp://ftp.pbone.net/mirror/elrepo.org/elrepo/el6/x86_64/RPMS/drbd84-utils-8.4.4-2.el6.elrepo.x86_64.rpm

ftp://ftp.pbone.net/mirror/elrepo.org/elrepo/el6/x86_64/RPMS/kmod-drbd84-8.4.3-1.el6_4.elrepo.x86_64.rpm

这两个软件包是必须的,但是依赖一堆其他软件,特别是kernel。建议还是yum吧,我尝试了各种办法,最终不得不yum(我最小化安装的,并且有很多包是光盘里没有的。悲剧啊)

成功过后/proc/drbd这个文件就有了。所有的设置都OK了。

PS: ftp://ftp.pbone.net不错的站点

###############################################################################

强制设置为主节点,在任一节点上执行:

drbdadm primary --force r0

该节点即为主节点


5,自己随意使用吧!折腾吧,测试吧