8
DRBD 的安装和配置。
目前流行的Linux中只有Centos有预编译好的安装包和对应内核。
如果不想用Centos可以选择从源码安装。DRBD有两种安装模式:直接编译进内核,作为一个可加载的内核模块编译。 无论哪种方式都是有些痛苦的 – 解决各种依赖,准备内核源码树。我是根据官方文档http://www.drbd.org/users-guide/s-build-from-source.html 一步一安装的。依赖的软件或库make, gcc, the glibc development libraries, 和 flex。GCC必须和你编译内核使用的是同一版本。
本文使用的是Centos
1. 准备分区
在两台机器上划分等大的分区供DRBD使用。不要格式化也不要mount.我使用的是/dev/hda2
2. 安装
只要一行命令;
Yum install DRBD
3. 配置IP地址和主机名。
我的/etc/hosts 文件内容如下
127.0.0.1 localhost.localdomain localhost
192.168.0.113 jack.etop.biz jack
192.168.0.114 rose.etop.biz rose
4. 配置
[teddy@jack]$ vim /etc/drbd.conf
drbd.conf内容如下:
global {
usage-count yes;
}
common {
syncer { rate 40M;}
protocol C;
}
resource r0 {
on jack {
device /dev/drbd1;
disk /dev/hda2;
address 192.168.0.114:7789;
meta-disk internal;
}
on rose {
device /dev/drbd1;
disk /dev/hda2;
address 192.168.0.113:7789;
meta-disk internal;
}
}
每部分的详细含义见官方文档http://www.drbd.org/users-guide/ch-configure.html
然后把上面配置文件拷贝到节点rose的相同目录下 。
scp /etc/drbd.conf teddy@rose:/etc/
5. 激活前面配置的drbd资源“r0”(两个节点都要执行)
drbdadm create-md r0
drbdadm attach r0
drbdadm connect r0
6. 初始化(这步只要在主节点上操作)
drbdadm —overwrite-data-of-peer primary r0
/etc/init.d/drbd start
然后等待同步完成
然后用下面的命令查看DRBD的运行状态
cat /proc/drbd
建立文件系统
mkfs.ext3 /dev/drbd1
加载分区
mkdir /data (两个节点都执行)
mount -o rw /dev/drbd0 /data (只要在主节点上操作)
基本配置到这里就完成了。
7. 测试
写点数据到hda1上
[teddy@jack]$echo “I’m a genie in a bottle baby.” >> /data/test_file
接下来你需要将DRBD的主从机互换一下.
可以执行下面的操作:
在主机上,先要卸载掉DRBD设备.
[teddy@jack]$ umount /data
将主机降级为”备机”.
[teddy@jack]$ drbdadm secondary r0
[teddy@jack]$ cat /proc/drbd
现在,两台主机都是”备机”.
在备机rose上,将它升级为”主机”.
[teddy@rose]$ drbdadm primary r0
[teddy@rose]$ cat /proc/drbd
现在,“rose”成为了”主机”. 察看下/data/下写的数据是有同步过来了。
Tags: DRBD, HA, heartbeat, 技术-Linux&PHP