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
[root@Server ~]# setup
[root@Server1 ~]# service network restart
2.修改hosts文件
[root@Server 1~]# vim /etc/hosts
3.新建一个挂载磁盘
[root@Server1 ~]# mount /dev/cdrom /mnt/cdrom/
[root@Server1 ~]# fdisk -l
[root@Server1 ~]# fdisk /dev/sda
[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服务所用文件:
[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
server2主机的配置:
修改主机名及ip地址:
[root@mail ~]# vim /etc/sysconfig/network
[root@Server2 ~]# setup
[root@Server2 ~]# service network restart
新建一个磁盘:
[root@Server2 ~]# fdisk /dev/sda
[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
[root@Server2 drbd.d]# ll /dev/drbd0
同时启动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
[root@Server2 drbd.d]# drbd-overview
格式化并挂载磁盘:
[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
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
在server2上修改文件,server1上也能同步信息:
[root@Server2 ~]# vim /mnt/1/f1
[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服务的安装:
安装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
[root@Server1 ha.d]# vim authkeys
[root@Server1 ha.d]# vim haresources
设置文档权限,否则无法启动:
[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
[root@Server2 ha.d]# service heartbeat start
nfs搭建:
服务器上修改exports文件:
[root@Server1 ~]# vim /etc/exports
将服务器server1上exports考到server2上:
[root@Server1 ~]# scp /etc/exports Server2:/etc/
在server1和server2上启动portmap和nfs服务:
[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
测试:
在主drbd磁盘上创建一个文件,可同步到客户端:
[root@Server1 ~]# cd /mnt/1
[root@Server1 1]# touch test
[root@nfsclient ~]# cd /usr/local/src/
server1和server2的web角色:
停止主drbd服务器的heartbeat服务:
[root@Server1 1]# service heartbeat stop
可以看到server2为主drbd角色:
磁盘已挂载到server2上:
在server2上的挂载磁盘创建一个文件也可同步到nfsclient客户端上:
[root@Server2 ~]# cd /mnt/1
[root@Server2 1]# touch test1
[root@nfsclient ~]# cd /usr/local