欢迎光临
我们一直在努力

安装和设置指南适用于DRBD,OpenAIS,Pacemaker + Xen On OpenSUSE 11.1

OpenSUSE 11.1中的DRBD,OpenAIS,Pacemaker + Xen的安装和设置指南

Adam Gandelman撰写

以下将在OpenSUSE 11.1上安装和配置DRBD,OpenAIS,Pacemaker和Xen,以提供高可用性的虚拟机。 此设置不会利用Xen的实时迁移功能。 相反,一旦检测到主机故障,VM将在辅助节点上启动。 Xen虚拟磁盘映像在使用DRBD的节点之间进行复制,集群上的所有服务将由OpenAIS和Pacemaker进行管理。 以下设置使用DRBD 8.3.2和Pacemaker 1.0.4。 重要的是要注意,DRBD 8.3.2自从以前的版本在与Pacemaker的兼容性方面已经走了很长的路。 特别是新的DRBD OCF资源代理脚本和新的DRBD级资源击剑功能。 此配置将不适用于旧版本的DRBD。

本文档不涵盖Xen虚拟机的配置。 相反,假设您有一个正在使用基于文件的磁盘映像在本地配置的虚拟机。 例如,我们的domU资源将管理在debian.cfg中配置的Debian虚拟机。

有关这些组件的更多信息以及其他文档,请访问这些链接:

DRBD – http://www.drbd.org
Pacemaker – http://www.clusterlabs.org
OpenaAIS – http://www.openais.org

内容:

1.安装Xen
2.安装并配置DRBD
3.安装并配置OpenAIS +Pacemaker
4.配置DRBD主/从资源
5.配置文件系统资源
6.配置domU资源
7.附加信息

1.安装Xen

安装Xen及其先决条件的最简单方法是通过yast命令行工具:

# yast

选择“虚拟化” – >“安装管理程序和工具”。 如果您正在远程服务器上工作,则在询问有关安装图形组件时可能需要回答“否”。 有关Xen Network Bridge的提示时,请选择“是”。

选择“系统” – >“引导加载程序”,并将Xen内核设置为默认内核。

重启。

此时,应该引导Xen内核并将网络接口br0配置为eth0的桥接。

2.安装并配置DRBD

在两个节点上进行编译和安装:

# cd /usr/src
# wget http://oss.linbit.com/drbd/8.3/drbd-8.3.2.tar.gz
# tar -zxf drbd-8.3.2.tar.gz
# cd drbd-8.3.2/
# make clean all
# make install

编辑/etc/drbd.conf

global {        usage-count no;}common {        protocol C;}resource r0 {  disk {        fencing resource-only;  }  handlers {        # these handlers are necessary for drbd 8.3 + pacemaker compatibility        fence-peer "/usr/lib/drbd/crm-fence-peer.sh";        after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";     }  syncer {        rate 40M;     }  on alpha {        device  /dev/drbd0;        disk    /dev/sdb1;        address 192.168.10.22:7789;        meta-disk       internal;        }  on bravo {        device  /dev/drbd0;        disk    /dev/sdb1;        address 192.168.10.23:7789;        meta-disk       internal;}

复制到其他节点:

alpha:~ # scp /etc/drbd.conf root@bravo:/etc/drbd.conf

创建元数据:

alpha:~ # drbdadm create-md r0
bravo:~ # drbdadm create-md r0

开始DRBD:

alpha:~ # /etc/init.d/drbd start

Starting DRBD resources: [ d(r0) s(r0) n(r0) ]..

bravo:~ # /etc/init.d/drbd start

Starting DRBD resources: [ d(r0) s(r0) n(r0) ].

DRBD启动并连接后,请查看任一节点上的/ proc / drbd以获取资源的状态:

# cat /proc/drbd

GIT-hash: dd7985327f146f33b86d4bff5ca8c94234ce840e build by root@alpha, 2009-07-31 14:27:05
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r—-
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:3156604

同步资源:

alpha:~ # drbdadm — –overwrite-data-of-peer primary r0

从DRBD 8.3.2开始,添加了一个新功能,以便在需要时跳过初始同步:

注意:这仅适用于空白或具有完全相同数据的磁盘。

alpha:~ # drbdadm — –clear-bitmap new-current-uuid r0

3.安装并配置OpenAIS +Pacemaker

先决条件:

zypper install tcl-devel ncurses-devel tcl

获取并安装最新版本的HA实用程序:

wget http://download.opensuse.org/repositories/openSUSE:/11.1/standard/i586/OpenIPMI-2.0.14-1.35.i586.rpm
wget http://download.opensuse.org/repositories/server:/ha-clustering/openSUSE_11.1/i586/heartbeat-common-2.99.2-8.1.i586.rpm
wget http://download.opensuse.org/repositories/server:/ha-clustering/openSUSE_11.1/i586/heartbeat-2.99.2-8.1.i586.rpm
wget http://download.opensuse.org/repositories/server:/ha-clustering/openSUSE_11.1/i586/heartbeat-resources-2.99.2-8.1.i586.rpm
wget http://download.opensuse.org/repositories/server:/ha-clustering/openSUSE_11.1/i586/libheartbeat2-2.99.2-8.1.i586.rpm
wget http://download.opensuse.org/repositories/server:/ha-clustering/openSUSE_11.1/i586/libopenais2-0.80.5-13.1.i586.rpm
wget http://download.opensuse.org/repositories/server:/ha-clustering/openSUSE_11.1/i586/libpacemaker3-1.0.4-24.1.i586.rpm
wget http://download.opensuse.org/repositories/server:/ha-clustering/openSUSE_11.1/i586/openais-0.80.5-13.1.i586.rpm
wget http://download.opensuse.org/repositories/server:/ha-clustering/openSUSE_11.1/i586/pacemaker-1.0.4-24.1.i586.rpm
rpm -ivh *.rpm

创建AIS密钥:

alpha:~ # ais-keygenbravo:~ # ais-keygen

编辑/etc/ais/openais.conf

aisexec {        user:   root        group:  root}service {        name: pacemaker        ver:  0}totem {        version: 2        token:          1000        hold: 180        token_retransmits_before_loss_const: 20        join:           60        consensus:      4800        vsftype:        none        max_messages:   20        clear_node_high_bit: yes        secauth: off        threads: 0        interface {                ringnumber: 0                bindnetaddr: 192.168.10.0                mcastaddr: 226.94.1.2                mcastport: 5406        }}logging {        debug: off        fileline: off        to_syslog: yes        to_stderr: no        syslog_facility: daemon        timestamp: on}amf {        mode: disabled}

复制到其他节点:

alpha:~ # scp /etc/ais/openais.conf root@bravo:/etc/ais/openais.conf

启动OpenAIS:

alpha:~ # /etc/init.d/openais start
bravo:~ # /etc/init.d/openais start

配置默认群集选项:

alpha:~ # crm
crm(live)# configure
crm(live)configure# property no-quorum-policy=ignore
crm(live)configure# property stonith-enabled=false
crm(live)configure# property default-resource-stickiness=1000
crm(live)configure# commit
crm(live)configure# bye

两个节点集群不应该涉及到法定人数。 STONITH在此配置中被禁用,尽管在任何生产环境中强烈推荐使用STONITH,以消除不同数据的风险。 默认资源粘性为1000将在故障转移后将资源保留在其中,并防止它们在重新联机后返回失败的节点。

4.配置DRBD主/从资源

alpha:~ # crm configure
crm(live)configure# primitive drbd_xen ocf:linbit:drbd \
params drbd_resource=”r0″ \
op monitor interval=”15s”
crm(live)configure# ms ms_drbd_xen drbd_xen \
meta master-max=”1″ master-node-max=”1″ \
clone-max=”2″ clone-node-max=”1″ \
notify=”true”
crm(live)configure# commit
crm(live)configure# bye

此时,Pacemaker正在处理DRBD资源r0。 检查crm_mon以确保。

5.配置文件系统资源

对于此设置,将有一个文件系统资源在DRBD主机和虚拟机资源上运行,该资源在文件系统的任何节点上运行。

创建文件系统和装载点:

[root@alpha ~]# mkfs.ext3 /dev/drbd0
[root@alpha ~]# mkdir /xen
[root@bravo ~]# mkdir /xen

请注意,您必须在当前主/主节点上运行mkfs命令。

将现有的虚拟机配置文件和磁盘映像复制到共享存储:

[root@alpha ~]# mount /dev/drbd0 /xen
[root@alpha ~]# cp /etc/xen/vm/debian.cfg /xen
[root@alpha ~]# cp /etc/xen/vm/debian.img /xen
[root@alpha ~]# umount /xen

注意:不要忘记更新debian.cfg以指向磁盘映像的新位置。

配置文件系统资源,限制在DRBD之前和之后运行:

[root@alpha ~]# crm configure
crm(live)configure# primitive xen_fs ocf:heartbeat:Filesystem \
params device=”/dev/drbd0″ directory=”/xen”
crm(live)configure# colocation fs_on_drbd inf: xen_fs ms_drbd_xen:Master
crm(live)configure# order fs_after_drbd inf: ms_drbd_xen:promote xen_fs:start
crm(live)configure# commit
crm(live)configure# bye

6.配置domU资源

domU将被配置为使用存储在安装在/ xen上的DRBD资源上的虚拟磁盘映像。 这不是必需的,但也是在共享资源上存储domU配置文件是个好主意。

配置Xen domU资源并限制它在xen_fs之后运行:

[root@alpha ~]# crm configure
crm(live)configure# primitive debian ocf:heartbeat:Xen \
params xmfile=”/xen/debian.cfg” \
op monitor interval=”10s” \
op start interval=”0s” timeout=”30s” \
op stop interval=”0s” timeout=”300s”
crm(live)configure# colocation debian-with-xen_fs inf: debian xen_fs
crm(live)configure# order debian-after-xen_fs inf: xen_fs:start debian:start
crm(live)configure# commit

文件系统和domU资源现在应该在DRBD主节点上运行:

Online: [ alpha bravo ]Master/Slave Set: ms_drbd_xen       Masters: [ alpha ]       Slaves: [ bravo ]xen_fs  (ocf::heartbeat:Filesystem):    Started alphadebian  (ocf::heartbeat:Xen):   Started alpha                

Debian virutal机器及其后备存储器现在配置为完全冗余以及高可用性。 如果主机alpha失败,服务将自动故障切换到bravo。

这种配置可以扩展到包括任何数量的虚拟机,假设它们遵守环境的存储和内存限制。 为此,只需重复6.为每个domU 配置domU资源

7.附加信息

LINBIT自2001年以来一直领先高可用性,并继续成为业务正常运行时间,灾难恢复和连续性解决方案的市场领导者。 建立在坚实的奥地利软件工程和开源技术基础之上,DRBD是关键任务系统的高可用性和数据冗余的行业标准。

有关LINBIT如何发展IT基础设施电话1-877-4-LINBIT的更多信息,请访问http://www.linbit.com ,或者加入我们在#DRBD中的irc.freenode.net

赞(0) 打赏
未经允许不得转载:老赵部落 » 安装和设置指南适用于DRBD,OpenAIS,Pacemaker + Xen On OpenSUSE 11.1
data-ad-format="auto" data-full-width-responsive="true">

评论 抢沙发