使用DRBD和心跳线安装和配置Openfiler

使用DRBD和心跳安装和配置Openfiler

介绍

Openfiler是一款适用于SAN / NAS设备的高性能操作系统。 此配置将使两台Openfiler设备工作在主动/被动高可用性场景中。

要求

硬件

  • 2个xbox符合Openfiler硬件规格的最低规格。
  • 每个框中有2个以太网接口
  • Openfiler 2.3安装介质。
  • 两个框应该具有相同大小的驱动器,以避免任何复制不一致。

软件

使用以下磁盘设置在两个盒子上安装Openfiler 2.3:

  • 3 GB根(“/”)分区
  • 2 GB“交换”分区
  • 512 MB“/ meta”分区(用于DRBD0)
  • 数据分区配置为未安装的LVM(用于DRBD1)

组态

网络

每个Openfiler设备都有两个NIC:一个用于与LAN进行通信,另一个用于与该通信
其他SAN(通过直接电缆)。 第一个将用于管理,直接与每个节点通信。

心跳服务使用第三个“虚拟”界面,是LAN上的计算机使用的。

以下是使用的内容:

filer01

  • LAN接口(eth0)192.168.1.18
  • 复制接口(eth1)10.188.188.1

filer02

  • LAN接口(eth0)192.168.1.19
  • 复制接口(eth1)10.188.188.2

HA NAS / SAN地址(eth0)192.168.1.17

  • 这在cluster.xml文件中配置(不要尝试在其他地方进行配置)

主机名设置

为了使两个节点能够通过名称彼此识别,请在每台计算机上配置主机文件。
修改我们的/ etc / hosts (在filer01上):

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 filer01 localhost.localdomain localhost
10.188.188.2 filer02

修改我们的/ etc / hosts (在filer02上):

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 filer02 localhost.localdomain localhost
10.188.188.1 filer01

SSH共享密钥

要允许两台Openfiler设备相互通信,无需使用密码,请使用SSH共享密钥。

在filer01上:

root@filer01 ~# ssh-keygen -t dsa

在提示符下输入(不要在密钥上设置密码)。

在filer02上

root@filer02 ~# ssh-keygen -t dsa

在提示符下输入(不要在密钥上设置密码)。

上述命令将在〜/ .ssh /中生成一个名为“id_dsa.pub”的文件,该文件是需要复制的公钥
另一个节点:

root@filer01 ~# scp .ssh/id_dsa.pub root@filer02:~/.ssh/authorized_keys2
root@filer02 ~# scp .ssh/id_dsa.pub root@filer01:~/.ssh/authorized_keys2

配置DRBD

DRBD将保持两个节点之间的数据一致。

在filer01上:

root@filer01 ~# mv /etc/drbd.conf /etc/drbd.conf.org

然后根据以下内容修改drbd.conf (版本8):

global {
 # minor-count 64;
 # dialog-refresh 5; # 5 seconds
 # disable-ip-verification;
 usage-count ask;
}

common {
 syncer { rate 100M; }
}

resource cluster_metadata {
 protocol C;
 handlers {
  pri-on-incon-degr "echo O > /proc/sysrq-trigger ; halt -f";
  pri-lost-after-sb "echo O > /proc/sysrq-trigger ; halt -f";
  local-io-error "echo O > /proc/sysrq-trigger ; halt -f";
  # outdate-peer "/usr/sbin/drbd-peer-outdater";
 }
 
 startup {
  # wfc-timeout 0;
  degr-wfc-timeout 120; # 2 minutes.
 }

 disk {
  on-io-error detach;
 }

 net {
  after-sb-0pri disconnect;
  after-sb-1pri disconnect;
  after-sb-2pri disconnect;
  rr-conflict disconnect;
 }

 syncer {
  # rate 10M;
  # after "r2";
  al-extents 257;
 }

 on filer01 {
  device /dev/drbd0;
  disk /dev/sda3;
  address 10.188.188.1:7788;
  meta-disk internal;
 }

 on filer02 {
  device /dev/drbd0;
  disk /dev/sda3;
  address 10.188.188.2:7788;
  meta-disk internal;
 }
}

resource vg0drbd {
 protocol C;
 startup {
  wfc-timeout 0; ## Infinite!
  degr-wfc-timeout 120; ## 2 minutes.
 }

 disk {
  on-io-error detach;
 }

 net {
  # timeout 60;
  # connect-int 10;
  # ping-int 10;
  # max-buffers 2048;
  # max-epoch-size 2048;
 }

 syncer {
  after "cluster_metadata";
 }

 on filer01 {
  device /dev/drbd1;
  disk /dev/sda5;
  address 10.188.188.1:7789;
  meta-disk internal;
 }

 on filer02 {
  device /dev/drbd1;
  disk /dev/sda5;
  address 10.188.188.2:7789;
  meta-disk internal;
 }
}

两个主机都需要相同的drbd.conf,所以来自filer01的drbd.conf文件将被复制到filer02:

root@filer01 ~# scp /etc/drbd.conf root@filer02:/etc/drbd.conf

两个节点上的/ dev / drbd0 (cluster_metadata)和/ dev / drbd1 (vg0drbd)上的初始化元数据:

root@filer01 ~# drbdadm create-md cluster_metadata
root@filer01 ~# drbdadm create-md vg0drbd
root@filer02 ~# drbdadm create-md cluster_metadata
root@filer02 ~# drbdadm create-md vg0drbd

注意:如果上面的命令生成关于需要清除文件系统的错误,请使用以下命令:

root@filer01 ~# dd if=/dev/zero of=/dev/sda3

请注意此命令,并确保它在正确的驱动器上。

在启动DRBD服务之前,请确保drbd0(在drbd.conf文件中的cluster_metadata资源中)中使用的分区尚未挂载(默认情况下,如果在安装过程中创建该分区)。

root@filer01 ~# umount /dev/sda3

现在,在两台主机上启动DRBD:

root@filer01 ~# service drbd start
root@filer02 ~# service drbd start

如果一切顺利,他们应该连接并运行“service drbd status”应该输出类似于以下内容:

root@filer1 /# service drbd status
drbd driver loaded OK; device status:
version: 8.0.12 (api:86/proto:86)
GIT-hash: 5c9f89594553e32adb87d9638dce591782f947e3 build by phil@mescal, 2008-04-24 13:29:44
m:res cs st ds p mounted fstype
0:cluster_metadata Connected Secondary/Secondary Inconsistent/Inconsistent C
1:vg0drbd Connected Secondary/Secondary Inconsistent/Inconsistent C

一旦drbd资源连接并且两个节点处于辅助状态(如上所述),请设置主节点:

root@filer01 ~# drbdsetup /dev/drbd0 primary -o
root@filer01 ~# drbdsetup /dev/drbd1 primary -o

这应该给你一个状态结果如下:

root@filer1 /# service drbd status
drbd driver loaded OK; device status:
version: 8.0.12 (api:86/proto:86)
GIT-hash: 5c9f89594553e32adb87d9638dce591782f947e3 build by phil@mescal, 2008-04-24 13:29:44
m:res cs st ds p mounted fstype
... sync'ed: 17.9% (247232/297152)K
0:cluster_metadata SyncSource? Primary/Secondary UpToDate/Inconsistent C
1:vg0drbd PausedSyncS? Primary/Secondary UpToDate/Inconsistent C

注意:如果vg0drbd LVM很大,则需要很长时间来同步(可能是一夜之间)。

启动DRBD启动时启动:

root@filer01 ~# chkconfig --level 2345 drbd on
root@filer02 ~# chkconfig --level 2345 drbd on

现在创建cluster_metadata文件系统。 使用此512 MB分区来保留所有Openfiler配置数据和HA中可用的服务(例如NFS,iSCSI,SMB)的数据。

root@filer01 ~# mkfs.ext3 /dev/drbd0

不要将此分区添加到/ etc / fstab中 ,因为这是由Heartbeat管理的(将很快配置)。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏