drbd服务环境的搭建:

实验环境:

虚拟机操作系统:VMware Workstation 6.5

linux操作系统:rhel-server-5.4

实验规划

server1 eth0 192.168.2.10 eth1 192.168.10.1

server2 eth0 192.168.2.20 eth1 192.168.10.2

nfsclient eth0 192.168.2.100

虚拟ip:192.168.2.200

server1主机配置:

1.修改主机名

[root@localhost ~]# vim /etc/sysconfig/network

heartbeat+nfs+drbd配置_server1

[root@Server ~]# setup

heartbeat+nfs+drbd配置_虚拟机_02

heartbeat+nfs+drbd配置_配置_03

[root@Server1 ~]# service network restart

2.修改hosts文件

[root@Server 1~]# vim /etc/hosts

heartbeat+nfs+drbd配置_操作系统_04

3.新建一个挂载磁盘

[root@Server1 ~]# mount /dev/cdrom /mnt/cdrom/

[root@Server1 ~]# fdisk -l

[root@Server1 ~]# fdisk /dev/sda

heartbeat+nfs+drbd配置_虚拟机_05

[root@Server1 ~]# partprobe /dev/sda

4.安装drbd所用的软件包

[root@Server1 ~]# yum localinstall *.rpm -y --nogpgcheck

[root@Server1 ~]# cp /usr/share/doc/drbd83-8.3.8/drbd.conf /etc/

drbd服务所用文件:

heartbeat+nfs+drbd配置_server1_06

[root@Server1 ~]# cd /etc/drbd.d/

[root@Server1 drbd.d]# cp global_common.conf global_common.conf.bak

编辑global_common.conf配置文件

[root@Server1 drbd.d]# vim global_common.conf

global {

usage-count no; (是否参加使用者统计,no为不参加)

}

common {

protocol C; (数据同步协议,C为收到数据并写入后返回,确认成功)

startup {

wfc-timeout 120;

degr-wfc-timeout 120;

}

disk {

on-io-error detach;

fencing resource-only;

}

net {

cram-hmac-alg "sha1";

shared-secret "mydrbdlab";

}

syncer {

rate 100M; (网络同步速率)

}

}

编辑资源文件:

[root@Server1 drbd.d]# vim wed.res

resource web {

on Server1 {

device /dev/drbd0; (创建的虚拟资源)

disk /dev/sda4; (所使用的物理分区)

address 192.168.2.10:7789; (第一台服务器ip,及所使用端口)

meta-disk internal; (类型为局域网)

}

on Server2 {

device /dev/drbd0;

disk /dev/sda4;

address 192.168.2.20:7789;

meta-disk internal;

}

}

创建web资源:

[root@Server1 drbd.d]# drbdadm create-md web

[root@Server1 drbd.d]# ll /dev/drbd0

heartbeat+nfs+drbd配置_server1_07

server2主机的配置:

修改主机名及ip地址:

[root@mail ~]# vim /etc/sysconfig/network

heartbeat+nfs+drbd配置_虚拟机_08

[root@Server2 ~]# setup

heartbeat+nfs+drbd配置_server1_09

heartbeat+nfs+drbd配置_虚拟机_10

[root@Server2 ~]# service network restart

新建一个磁盘:

[root@Server2 ~]# fdisk /dev/sda

heartbeat+nfs+drbd配置_操作系统_11

[root@Server2 ~]# partprobe /dev/sda

安装所用的软件包:

[root@Server2 ~]# rpm -ivh drbd83-8.3.8-1.el5.centos.i386.rpm

[root@Server2 ~]# rpm -ivh kmod-drbd83-8.3.8-1.el5.centos.i686.rpm

[root@Server2 ~]# cd /etc/drbd.d/

[root@Server2 drbd.d]# cp global_common.conf global_common.conf.bak

将Server1上配置文件拷贝到Server2下:

[root@Server1 drbd.d]# scp /etc/hosts Server2:/etc/

[root@Server1 drbd.d]# scp /etc/drbd.conf Server2:/etc/

[root@Server1 drbd.d]# scp /etc/drbd.d/* Server2:/etc/drbd.d/

创建web资源:

[root@Server2 drbd.d]# drbdadm create-md web

heartbeat+nfs+drbd配置_虚拟机_12

[root@Server2 drbd.d]# ll /dev/drbd0

heartbeat+nfs+drbd配置_server1_13

同时启动server1和server2上的drbd:

[root@Server1 drbd.d]# service drbd start

[root@Server2 drbd.d]# service drbd start

在server1上启用主模式:

[root@Server1 ~]# drbdadm -- --overwrite-data-of-peer primary web

查看当前主机的角色:

[root@Server1 ~]# drbd-overview

heartbeat+nfs+drbd配置_操作系统_14

[root@Server2 drbd.d]# drbd-overview

heartbeat+nfs+drbd配置_server1_15

格式化并挂载磁盘:

[root@Server1 ~]# mkfs -t ext3 -L drbdweb /dev/drbd0

[root@Server1 ~]# mkdir /mnt/1

[root@Server1 ~]# mount /dev/drbd0 /mnt/1

[root@Server1 ~]# df -h

heartbeat+nfs+drbd配置_server1_16

drbd服务测试:

在主机server1上创建文件:

[root@Server1 ~]# cd /mnt/1

[root@Server1 1]# cp /etc/passwd ./

[root@Server1 1]# touch f1

[root@Server1 ~]# drbdadm secondary web

[root@Server1 ~]# drbdadm role web

将备份drbd改为主drbd可读取磁盘内容:

[root@Server2 ~]# drbdadm primary web

[root@Server2 ~]# drbdadm role web

[root@Server2 ~]# mkdir /mnt/1

[root@Server2 ~]# mount /dev/drbd0 /mnt/1

[root@Server2 ~]# ll /mnt/1

heartbeat+nfs+drbd配置_server1_17

在server2上修改文件,server1上也能同步信息:

[root@Server2 ~]# vim /mnt/1/f1

heartbeat+nfs+drbd配置_server1_18

[root@Server2 ~]# umount /mnt/1

[root@Server2 ~]# drbdadm secondary web

[root@Server1 ~]# drbdadm primary web

[root@Server1 ~]# drbdadm role web

[root@Server1 ~]# mount /dev/drbd0 /mnt/1

[root@Server1 ~]# cd /mnt/1/

heartbeat+nfs+drbd配置_server1_19

heartbeat服务的安装:

安装heartbeat所用的包:

[root@Server1 ~]# yum localinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm --nogpgcheck -y

[root@Server1 ~]# cd /usr/share/doc/heartbeat-2.1.4/

拷贝4个主配置文档:

[root@Server1 heartbeat-2.1.4]# cp authkeys ha.cf haresources /etc/ha.d/

[root@Server1 heartbeat-2.1.4]# cd /etc/ha.d/

编辑配置文档:

[root@Server1 ha.d]# vim ha.cf

heartbeat+nfs+drbd配置_server1_20

heartbeat+nfs+drbd配置_操作系统_21

heartbeat+nfs+drbd配置_server1_22

heartbeat+nfs+drbd配置_server1_23

heartbeat+nfs+drbd配置_虚拟机_24

heartbeat+nfs+drbd配置_配置_25

heartbeat+nfs+drbd配置_server1_26

heartbeat+nfs+drbd配置_server1_27

heartbeat+nfs+drbd配置_虚拟机_28

[root@Server1 ha.d]# vim authkeys

heartbeat+nfs+drbd配置_配置_29

[root@Server1 ha.d]# vim haresources

heartbeat+nfs+drbd配置_server1_30

设置文档权限,否则无法启动:

[root@Server1 ha.d]# chmod 600 /etc/ha.d/authkeys

server2上配置和server1配置相同ha.cf文档配置ucast不同,需填对方地址

[root@Server2 ~]# mount /dev/cdrom /mnt/cdrom/

[root@Server2 ~]# yum localinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm --nogpgcheck –y

[root@Server1 ~]# scp /etc/ha.d/* Server2:/etc/ha.d/

[root@Server2 ha.d]# vim ha.cf

heartbeat+nfs+drbd配置_虚拟机_31

[root@Server2 ha.d]# service heartbeat start

nfs搭建:

服务器上修改exports文件:

[root@Server1 ~]# vim /etc/exports

heartbeat+nfs+drbd配置_虚拟机_32

将服务器server1exports考到server2上:

[root@Server1 ~]# scp /etc/exports Server2:/etc/

server1server2上启动portmapnfs服务:

[root@Server1 ~]# service portmap start

[root@Server1 ~]# service nfs start

[root@Server2 ha.d]# service portmap start

[root@Server2 ha.d]# service nfs start

在客户端上启动nfs服务:

[root@nfsclient ~]# service nfs start

将磁盘挂载到本地:

[root@nfsclient ~]# mount -t nfs 192.168.2.200:/mnt/1 /usr/local/src

heartbeat+nfs+drbd配置_server1_33

测试:

在主drbd磁盘上创建一个文件,可同步到客户端:

[root@Server1 ~]# cd /mnt/1

[root@Server1 1]# touch test

[root@nfsclient ~]# cd /usr/local/src/

heartbeat+nfs+drbd配置_server1_34

server1server2web角色:

heartbeat+nfs+drbd配置_server1_35

heartbeat+nfs+drbd配置_配置_36

停止主drbd服务器的heartbeat服务:

[root@Server1 1]# service heartbeat stop

可以看到server2为主drbd角色:

heartbeat+nfs+drbd配置_配置_37

磁盘已挂载到server2上:

heartbeat+nfs+drbd配置_配置_38

server2上的挂载磁盘创建一个文件也可同步到nfsclient客户端上

heartbeat+nfs+drbd配置_操作系统_39

[root@Server2 ~]# cd /mnt/1

[root@Server2 1]# touch test1

heartbeat+nfs+drbd配置_虚拟机_40

[root@nfsclient ~]# cd /usr/local

heartbeat+nfs+drbd配置_server1_41