DRBD+NFS+on Redhat6.3

 

  1. 服务器基础设置

机器名

Eth0

Eth1(心跳线)

VIP

Nfs1

192.168.1.11

10.1.1.1

192.168.1.8

Nfs2

192.168.1.12

10.1.1.2

192.168.1.8

 

/etc/hosts添加:

192.168.1.11  nfs1

192.168.1.12  nfs2

10.1.1.1           nfs1

10.1.1.1           nfs2

  1. Install DRBD

 

版本对应:

drbd-8.3.8.1.tar.gz

http://oss.linbit.com/drbd/8.3/drbd-8.3.8.1.tar.gz

 

#uname -a

Linuxlocalhost.localdomain 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012x86_64 x86_64 x86_64 GNU/Linux

 

#./configure--prefix=/ --with-km

configure: error: Cannot build utils without flex, either installflex or pass the --without-utils option.

#yum -y install flex

 

#make

 

-bash: make: command not found

#yum -y install automake autoconf libtool make

 

make: *** [check-kdir] Error 1

#yum install -y kernel-devel

 

#makeinstall

#chkconfig--add drbd

#chkconfigdrbd on

 

检查drbd模块是否正常load

#modprobe -l|grep drbd

#lsmod |grep -i drbd

drbd                  285763  0

 

 

  1. Config  DRBD

配置参考:

http://www.drbd.org/users-guide-emb/re-drbdconf.html

 

DRBD全部配置信息在/etc/drbd.conf文件中,各node要相同,修改需重启服务才能生效,可分成两部分分别设置:

include"drbd.d/global_common.conf";

include"drbd.d/*.res";

 

配置文件内容:

/etc/drbd.d/global_common.conf

#cat global_common.conf

global{

  usage-count no;

}

common{

 syncer { rate 200M; }

}

 

]#cat r0.res

resourcer0 {

        protocol C;

        net {

                cram-hmac-alg sha1;

                shared-secret"FooFunFactory";

        }

        disk {

                on-io-error detach;

                fencing resource-only;

        }

        on nfs1 {

                device    minor 1;

                disk      /dev/sdb1;

                meta-disk internal;

                address   192.168.1.11:7789;

        }

        on nfs2 {

                device    minor 1;

                disk      /dev/sdb1;

                meta-disk internal;

                address   192.168.1.12:7789;

        }

}

 

说明:alice/bob,主机名,要与node主机名保持一致。

/dev/drbd1,drbd

Net,disk部分用来调优磁盘参数。

Address:每个drdb资源需要不同的IP:port

Disk: 每个主机上的磁盘物理分区。

 

host上将新挂载的硬盘/dev/sdb做分区设置:

fdisk/dev/sdb

p->n->p->1(数字1)->回车->回车->p->l->t->8e->p->w

p(查看分区表)-n(新建分区)-p(主分区)-1(编号,新分区即为sdc1)-回车-回车(两个回车默认把全部空间分配给这个分区)-p(查看分区表)-l(查看支持的分区类型)-t(更改分区类型)-83(linux的分区类型)-p(查看分区表)-w(保存退出)

 

(复制虚拟机的方式,如复制的机器网卡无法正常启动,可以

修改/etc/udev/rules.d/70-persistent-net.rules 后重启,并将网卡MAC地址修改位于ifconfig -a得到的地址一致。)

 

 

两台主机都执行:

#drbdadm create-md r0

Writingmeta data...

initializingactivity log

NOTinitialized bitmap

Newdrbd meta data block successfully created.

 

两台主机启动drbd服务:

servicedrbd start

输入yes abort waiting

 

设置主节点:

drbdsetup/dev/drbd1 primary -o

 

停掉iptable, service iptables stop,

cat/proc/drbd

version:8.3.8.1 (api:88/proto:86-94)

GIT-hash:0d8589fcc32c874df57c930ca1691399b55ec893 build by root@localhost.localdomain,2013-10-02 19:58:17

 

 1: cs:SyncSource ro:Primary/Secondaryds:UpToDate/Inconsistent C r----

    ns:978308 nr:0 dw:0 dr:979608 al:0 bm:59lo:0 pe:2 ua:20 ap:0 ep:1 wo:b oos:3214496

        [===>................] sync'ed:23.5% (3214496/4192768)K

        finish: 0:04:47 speed: 11,120 (10,296)K/sec

可以看到主从在同步数据中,完成23.5%同步。

直到同步完毕:

 

手工切换:

在主节点运行

drbdsetup /dev/drbd1 secondary

在从节点运行

drbdsetup/dev/drbd1 primary -o

 

  1. NFS

primary操作:

mount/dev/cdrom /mnt/media

yum-y install nfs*

chkconfig--level 345 nfs on

servicerpcbind start

servicenfs start

mkfs.ext3/dev/drbd1

mkdir/nfs

mount/dev/drbd1 /nfs

exportfs-r

(在RHEL6中,使用rpcbind替换了RHEL5中NFS依赖的portmap服务)

 

secondary操作:

mount/dev/cdrom /mnt/media

yum-y install nfs*

chkconfig--level 345 nfs on

servicerpcbind start

servicenfs start

mkdir/nfs

 

然后在主节点执行:

umount /nfs

drbdadmsecondary all

 

回到从节点执行:

drbdadmprimary all

mount/dev/drbd1 /nfs

(从节点不用执行  mkfs.ext3 /dev/drbd1

 

如此实现手工切换。

 

 

  1. 手工切换须知

#正常切换主备节点:

在server1卸载磁盘分区,然后执行

[root@drbd1~]#drbdadm secondary all

如果不执行这个命令,直接在备用节点执行切换到主节点的命令,会报错:

2:State change failed: (-1) Multiple primaries not allowed by config

Command'drbdsetup 2 primary' terminated with exit code 11

接着,在备用节点执行

[root@drbd2~]#drbdadm primary all

最后在备用节点挂载磁盘分区即可:

[root@drbd2 ~]#mount /dev/drbd1 /nfs

 

#注意事项:

1、mount drbd设备以前必须把设备切换到primary状态

2、两个节点中,同一个时刻只能有一台处于primary状态,另一台处于secondary状态

3、处于secondary状态的服务器上不能加载drbd设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值