}
net {
cram-hmac-alg "sha1";
shared-secret "mydrbdlab";
}
syncer {
rate 1000M;
}
}
3.定义一个资源/etc/drbd.d/web.res,内容如下
resource web {
device /dev/drbd0;
disk /dev/sdb2;
meta-disk internal;
on nginx1.test0.com {
address 192.168.1.30:7789;
}
on nginx2.test0.com {
address 192.168.1.31:7789;
}
}
以上文件在两个节点上必须相同,因此,可以基于ssh将刚才配置的文件全部同步至另外一个节点。
#scp /etc/drbd.* nginx2:/etc
注意:这里两个节点要使用的设备都是/dev/db2,而且都事先创建好了
在两个节点上初始化已定义的资源并启动服务:
1.初始化资源,在Node1和Node2上分别执行:
#drbdadm create-md web
2.启动服务,在Node1和Node2上分别执行:
#service drbd start
3.查看启动状态:
#cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:16
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:505964
图9. drbd启动状态
从上面的信息中可以看出此时两个节点均处于Secondary状态。接下来需要将其中一个节点设置为Primary。在要设置为Primary的节点上执行如下命令:
#drbdsetup /dev/drbd0 primary –o
注意:也可以在要设置为Primary的节点上使用如下命令来设置主节点:
#drbdadm -- --overwrite-data-of-peer primary web
而后再次查看状态,可以发现数据同步过程已经开始:
#drbd-overview
0:web SyncSource Primary/Secondary UpToDate/Inconsistent C r----
[============>.......] sync'ed: 66.2% (172140/505964)K delay_probe: 35
#watch -n1 'drbd-overview' 每隔1s查看一次
等数据同步完成以后再次查看状态,可以发现节点已经牌实时状态,且节点已经有了主次:
#drbd-overview
0:web Connected Primary/Secondary UpToDate/UpToDate C r----
5.创建文件系统
文件系统的挂载只能在Primary节点进行,因此,也只有在设置了主节点后才能对drbd设备进行格式化:
#mke2fs -j -L DRBD /dev/drbd0
#mkdir /mnt/drbd
#mount /dev/drbd0 /mydata
三.配置ngin1和nginx2上的mysql服务,这里用nginx1来初始化数据库,nginx2将自己切换为主,而nginx1切换为从挂上测试即可
#mkdir -v /mydata/data
这里使用绿色安装版5.5.19的mysql,安装目录在/usr/local/mysql-后缀,为此目录创建软链接到mysql
#ln -sv /usr/local/mysql-后缀 /usr/local/mysql
#cd /usr/local/mysql
#chown -R mysql:mysql .
#./scripts/mysql_install_db --user=mysql --datadir=/mydata/data
初始化完成后,将mysql目录下的所有文件属主改为root
#chown -R root . 中小企业web服务器的高可用集群方案设计(18):http://www.youerw.com/jisuanji/lunwen_2317.html