Centos5.8 x86_64下安装DRBD+Heartbeat+NFS


实验环境:vmware workstation

os:Centos5.8 x86_64

编辑两台虚拟机分别新增一块网卡作为心跳检测,新增一块4G的硬盘,大小保持一致

wKiom1ZBjVmzvST1AAAk05Q4I4w357.pngwKiom1ZBjZfwQNY2AAAlgdtN7HM780.png

两台机器的基本情况如下所示:

centos1.mypharma.com 192.168.150.100,心跳线为:10.10.10.2(VM2网段)

centos2.mypharma.com 192.168.150.101,心跳线为:10.10.10.3(VM2网段)

heartbeat的vip为 192.168.150.128


一、实验前的准备工作

①drbd1的hosts文件内容如下所示:

[root@centos1 ~]# cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               localhost.localdomain localhost

::1             localhost6.localdomain6 localhost6

192.168.150.100 centos1.mypharma.com

192.168.150.101 centos2.mypharma.com

②drbd1的hostname:

[root@centos1 ~]# cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=yes

HOSTNAME=centos1.mypharma.com


③关闭iptables、SElinux

[root@centos1 ~]# setenforce 0

setenforce: SELinux is disabled

[root@centos1 ~]# service iptables stop


④检查磁盘

[root@centos1 ~]# fdisk -l


Disk /dev/sda: 85.8 GB, 85899345920 bytes

255 heads, 63 sectors/track, 10443 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          25      200781   83  Linux

/dev/sda2              26        1057     8289540   82  Linux swap / Solaris

/dev/sda3            1058       10443    75393045   83  Linux


Disk /dev/sdb: 4294 MB, 4294967296 bytes

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes


Disk /dev/sdb doesn't contain a valid partition table


dbrd2做相同的操作。


二、DRBD的安装

dbrd1

yum -y install drbd83 kmod-drbd83

modprobe drbd

[root@centos1 ~]# lsmod | grep drbd

drbd                  321608  0 


dbrd2

yum -y install drbd83 kmod-drbd83

modprobe drbd

[root@centos2 ~]# lsmod | grep drbd

drbd                  321608  0

如果能正确显示,表明DRBD已经安装成功

两台机器的drbd.conf配置文件内容如下所示(两台机器的配置是一样的):

[root@centos1 ~]# cat /etc/drbd.conf 

global {

usage-count no;

}

common {

syncer  { rate 30M; }

}

resource r0 {

protocol C;

handlers {

pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";

pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";

local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";

# fence-peer "/usr/lib/drbd/crm-fence-peer.sh";

# split-brain "/usr/lib/drbd/notify-split-brain.sh root";

# out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";

# before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";

# after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;

}

startup {

# wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb

wfc-timeout 120;

degr-wfc-timeout 120;

}

disk {

# on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes

# no-disk-drain no-md-flushes max-bio-bvecs

on-io-error detach;

}

net {

# sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers

# max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret

# after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork

max-buffers 2048;

cram-hmac-alg "sha1";

shared-secret "123456";


#allow-two-primaries;

}

syncer {

rate 30M;

# rate after al-extents use-rle cpu-mask verify-alg csums-alg

}

on centos1.mypharma.com {

device  /dev/drbd0;

disk    /dev/sdb;

address 10.10.10.2:7788;

meta-disk       internal;

}

on centos2.mypharma.com {

device  /dev/drbd0;

disk    /dev/sdb;

address 10.10.10.3:7788;

meta-disk       internal;

}

}

创建DRBD元数据信息

[root@centos1 ~]# drbdadm create-md r0

Writing meta data...

initializing activity log

NOT initialized bitmap

New drbd meta data block successfully created.


centos1的机器作为DRBDPrimary机器,命令如下所示:

[root@centos1 ~]# drbdsetup /dev/drbd0primary -o

[root@centos1 ~]# drbdadm primary r0

[root@centos1 ~]# mkfs.ext3 /dev/drbd0

[root@centos1 ~]# mkdir -p /drbd

[root@centos1 ~]# mount /dev/drbd0 /drbd

[root@centos1 ~]# chkconfig drbd on

centos2机器

[root@centos2 ~]# mkdir -p /drbd

[root@centos2 ~]# chkconfig drbd on


三、Heartbeat的安装和部署。

两台机器上分别用yum来安装heartbeat,如下命令操作二次:

yum -y install heartbeat

①编辑/etc/ha.d/ha.cf

drbd1

[root@centos1 ~]# cat /etc/ha.d/ha.cf

logfile /var/log/ha-log

logfacility local0

keepalive 2

deadtime 15

ucast eth1 10.10.10.3

auto_failback off

node centos1.mypharma.com centos2.mypharma.com

drbd2

[root@centos2 ~]# cat /etc/ha.d/ha.cf

logfile /var/log/ha-log

logfacility local0

keepalive 2

deadtime 15

ucast eth1 10.10.10.2

auto_failback off

node centos1.mypharma.com centos2.mypharma.com


②编辑双机互连验证文件authkeys

drbd1

[root@centos1 ~]# cat /etc/ha.d/authkeys 

auth 1

1 crc

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

drbd2

[root@centos2 ~]# cat /etc/ha.d/authkeys 

auth 1

1 crc

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

③编辑集群资源文件/etc/ha.d/haresources

drbd1

[root@centos1 ~]# cat /etc/ha.d/haresources

centos1.mypharma.com IPaddr::192.168.150.128/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/drbd::ext3  killnfsd

drbd2

[root@centos2 ~]# cat /etc/ha.d/haresources

centos1.mypharma.com IPaddr::192.168.150.128/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/drbd::ext3  killnfsd


④编辑/etc/ha.d/resource.d/killnfsd

drbd1

[root@centos1 ~]# cat /etc/ha.d/resource.d/killnfsd

killall -9 nfsd;/etc/init.d/nfs restart;exit 0

[root@centos1 ~]# chmod +x /etc/ha.d/resource.d/killnfsd

drbd2

[root@centos2 ~]# cat /etc/ha.d/resource.d/killnfsd

killall -9 nfsd;/etc/init.d/nfs restart;exit 0

[root@centos2 ~]# chmod +x /etc/ha.d/resource.d/killnfsd


⑤主从机器上面配置下nfs服务的/etc/exports,其文件内容如下:

/drbd 192.168.150.0/255.255.255.0(rw,sync,no_root_squash,no_all_squash)

service portmap start

chkconfig portmap on


在两台机器上将DRBD和Heartbeat都设成自启动方式。

service drbd start 

chkcfonig drbd on

service heartbeat start 

chkconfig heartbeat on



你可能感兴趣的:(heartbeat,nfs,drbd)