DRBD 8.3使用Debian Etch进行的第三个节点复制
DRBD 8.3 + Debian Etch安装和设置指南
第三节点设置
作者:Brian Hellman
最近发布的DRBD 8.3现在将“第三节点”功能作为一个免费的组件。 本文档将介绍在标准Debian Etch安装中设置第三个节点的基础知识。 在本教程末尾,您将具有可用作SAN,iSCSI目标,文件服务器或数据库服务器的DRBD设备。
注意:LINBIT支持客户可以跳过第1节并利用软件包存储库。
LINBIT已经提供了第三个节点解决方案,请联系他们在salesbit的linbit.com获取更多信息。
前言:
设置如下:
- 三个服务器:
alpha
,bravo
,foxtrot
-
alpha
和bravo
是主要和次要本地节点 -
foxtrot
是远程网络上的第三个节点 -
alpha
和bravo
在192.168.1.x
网络(eth0
)上都有
接口用于外部连接。 - 使用
172.16.6.10
和.20
,alpha
和bravo
(eth1
)之间存在用于复制的交叉链接 - Heartbeat提供了一个192.168.5.2的虚拟IP,与地理位置不同的灾难恢复节点进行通信
第1节:安装源
需要在3个节点中的每一个上完成这些步骤。
先决条件:
- 使
- gcc
- glibc开发库
- 柔性扫描仪发生器
- 当前内核的头
在命令行中输入以下命令作为特权用户以满足这些依赖关系:
apt-get install make gcc libc6 flex linux-headers-`uname -r` libc6-dev linux-kernel-headers
一旦安装依赖关系,请下载DRBD。 最新版本始终可以在http://oss.linbit.com/drbd/获取 。 目前是8.3。
cd /usr/src/
wget http://oss.linbit.com/drbd/8.3/drbd-8.3.0.tar.gz
下载完成后:
- 解压缩DRBD
- 输入源目录
- 编译源码
- 安装DRBD
tar -xzvf drbd-8.3.0.tar.gz
cd /usr/src/drbd-8.3.0/
make clean all
make install
现在加载并验证模块:
modprobe drbd
cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
一旦这三个节点中的每一个完成,请继续下一节。
第2节:心跳配置
设置第三个节点需要在DRBD之上堆叠DRBD。 虚拟IP需要第三个节点连接,为此,我们将设置一个简单的Heartbeat v1配置。 这个部分只能在alpha
和bravo
上完成。
安装心跳:
apt-get install heartbeat
编辑authkeys文件:
vi /etc/ha.d/authkeys
auth 1 1 sha1 yoursupersecretpasswordhere
文件创建完成后,请更改文件的权限。 如果不遵循此步骤,心跳将不会启动。
chmod 600 /etc/ha.d/authkeys
将authkeys文件复制到bravo中
:
scp /etc/ha.d/authkeys bravo:/etc/ha.d/
编辑ha.cf文件:
vi /etc/ha.d/ha.cf
debugfile /var/log/ha-debug logfile /var/log/ha-log logfacility local0 keepalive 1 deadtime 10 warntime 5 initdead 60 udpport 694 ucast eth0 192.168.1.10 ucast eth0 192.168.1.20 auto_failback off node alpha node bravo
将ha.cf文件复制到bravo中
:
scp /etc/ha.d/ha.cf bravo:/etc/ha.d/
编辑haresources文件,这里创建的IP将是我们第三个节点引用的IP。
vi /etc/ha.d/haresources
alpha IPaddr::192.168.5.2/24/eth0
将haresources文件复制到bravo中
:
scp /etc/ha.d/haresources bravo:/etc/ha.d/
在两台服务器上启动心跳服务以启动虚拟IP:
alpha:/# /etc/init.d/heartbeat start
bravo:/# /etc/init.d/heartbeat start
Heartbeat会弹出新界面( eth0:0
)。
注意:可能需要一分钟的时间才能使界面起作用。
alpha:/# ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:08:C7:DB:01:CC
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
第3节:DRBD配置
DRBD的配置通过drbd.conf文件完成。 所有节点( alpha
, bravo
, foxtrot
)都需要相同。 请注意, usage-count
设置为yes
,这意味着它将通知Linbit您已经安装了DRBD。 没有收集个人信息。 请参阅此页面了解更多信息:
global { usage-count yes; } resource data-lower { protocol C; net { shared-secret "LINBIT"; } syncer { rate 12M; } on alpha { device /dev/drbd1; disk /dev/hdb1; address 172.16.6.10:7788; meta-disk internal; } on bravo { device /dev/drbd1; disk /dev/hdd1; address 172.16.6.20:7788; meta-disk internal; } } resource data-upper { protocol A; syncer { after data-lower; rate 12M; al-extents 513; } net { shared-secret "LINBIT"; } stacked-on-top-of data-lower { device /dev/drbd3; address 192.168.5.2:7788; # IP provided by Heartbeat } on foxtrot { device /dev/drbd3; disk /dev/sdb1; address 192.168.5.3:7788; # Public IP of the backup node meta-disk internal; } }
第4节:准备DRBD设备
现在配置到位,创建alpha
和bravo
的元数据。
alpha:/usr/src/drbd-8.3.0# drbdadm create-md data-lower
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
bravo:/usr/src/drbd-8.3.0# drbdadm create-md data-lower
Writing meta data...
initialising activity log
NOT initialized bitmap
New drbd meta data block successfully created.
现在开始使用alpha
和bravo的
DRBD:
alpha:/usr/src/drbd-8.3.0# /etc/init.d/drbd start
bravo:/usr/src/drbd-8.3.0# /etc/init.d/drbd start
验证下级DRBD设备是否连接:
cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: 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:19530844
告诉阿尔法
成为主要节点:
注意:正如命令所述,这将覆盖bravo上的任何数据:现在是一个很好的时间去抓住你最喜欢的饮料。
alpha:/# drbdadm -- --overwrite-data-of-peer primary data-lower
alpha:/# cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r---
ns:3088464 nr:0 dw:0 dr:3089408 al:0 bm:188 lo:23 pe:6 ua:53 ap:0 ep:1 wo:b oos:16442556
[==>.................] sync'ed: 15.9% (16057/19073)M
finish: 0:16:30 speed: 16,512 (8,276) K/sec
数据同步完成后,在alpha
数据上创建元数据,然后是foxtrot
。
注意资源是data-upper,而--stacked
选项仅在alpha上。
alpha:~# drbdadm --stacked create-md data-upper
Writing meta data...
initialising activity log
NOT initialized bitmap
New drbd meta data block successfully created.
success
foxtrot:/usr/src/drbd-8.3.0# drbdadm create-md data-upper
Writing meta data...
initialising activity log
NOT initialized bitmap
New drbd meta data block sucessfully created.
打开堆叠资源,然后使alpha
成为data-upper
的主要:
alpha:/# drbdadm --stacked adjust data-upper
foxtrot:~# drbdadm adjust data-upper
foxtrot:~# cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@foxtrot, 2009-02-02 10:28:37
1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent A 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:19530208
alpha:~# drbdadm --stacked -- --overwrite-data-of-peer primary data-upper
alpha:~# cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r---
ns:19532532 nr:0 dw:1688 dr:34046020 al:1 bm:1196 lo:156 pe:0 ua:0 ap:156 ep:1 wo:b oos:0
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent A r---
ns:14512132 nr:0 dw:0 dr:14512676 al:0 bm:885 lo:156 pe:32 ua:292 ap:0 ep:1 wo:b oos:5018200
[=============>......] sync'ed: 74.4% (4900/19072)M
finish: 0:07:06 speed: 11,776 (10,992) K/sec
再喝一次
同步完成后,通过/ dev / drbd3
访问您的DRBD块设备。 这将写入本地节点和远程第三个节点。 在您的心跳配置中,您将使用“drbdupper”脚本启动/ dev / drbd3
设备。 玩的开心!
DRBD®和LINBIT®是奥地利LINBIT的注册商标。