77范文网 - 专业文章范例文档资料分享平台

基于pacemaker的共享存储集群配置(2)

来源:网络收集 时间:2018-12-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

? \是stonith设备的类型。如果是在虚拟机上配置集群,因为virtualbox和vmware workstation其实没有支持的fence.虽然我们配置fence_scsi的时候显示的是start,但是看/var/messages里,fence的时候都是会报错的,显示/dev/mapper/fence不存在。只要stonith资源状态是start,这个错误不影响运行。

?

以上方法在REDHAT7上可以,在CENTOS7不稳定

2.2.2 基于ISCSI的stonith设备的创建

? 首先基于2.4.1.2章创建一个基于ISCSI的共享磁盘。假设在每个节点上运行\

-l\看到的该磁盘为/dev/sdb

? 然后运行 \查看该磁盘id,假设为

wwn-0x6001405189b893893594dffb3a2cb3e9

? 运行下面的命令创建stonith资源

pcs stonith create scsi-shooter fence_scsi

devices=/dev/disk/by-id/wwn-0x6001405189b893893594dffb3a2cb3e9

pcmk_monitor_action=metadata pcmk_reboot_action=off pcmk_host_list=\node2 node3\

2.2.3 基于IPMI接口的stonith设备的创建

pcs stonith create ipmi_node1 fence_ipmilan ipaddr=\login=\ 。。。。。。

pcs stonith create ipmi_node4fence_ipmilan ipaddr=\login=\

pcs constraint location ipmi_node1 avoids node1 pcs constraint location ipmi_node2 avoids node2 pcs constraint location ipmi_node3 avoids node3 pcs constraint location ipmi_node4 avoids node4

说明:

上述命令的ipaddr为每个节点fence设备的IP地址,pcmk_host_list为节点的私有节点名。

2.3 在pacemaker中加入DLM和CLVM资源

pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true;

pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true; pcs constraint order start dlm-clone then clvmd-clone; pcs constraint colocation add clvmd-clone with dlm-clone;

说明:

?

首先创建DLM资源,即锁管理资源。多个节点访问同一个共享磁盘需要加锁机制。参数clone表明该资源是ACTIVE/ACTIVE模式,即每个节点都有该资源的一个clone,他们的地位是平等的(我们的系统中dlm, clvm, gfs是active/active模式,pgsql是master/slave模式, stonith/vip只存在某一个节点上)。 ?

然后创建CLVM资源,即Cluster逻辑卷管理。是LVM的扩展,这种扩展允许cluster中的机器使用LVM来管理共享存储,但是配置之前需要开启lvm支持集群功能。因为我们限制了CLVM的启动要在DLM启动之后,所以如果interleave=false,则本节点的CLVM要受集群中所有节点的DLM的状态的影响。如果interleave=true,则CLVM只受本机的DLM状态影响,这才是我们期望的行为。对于ordered=true,这个ordered和下面constraint 的order不是一个东西,这个是控制CLVM自身clone之间的启动的,和其他resource没有关系,constraint里的order是控制不同resource顺序的。 ? ?

然后配置这两个资源的启动顺序。Order表明这是一个顺序约束,即先启动DLM,DLM启动成功后启动CLVM。

最后配置两个节点在同一台节点运行。Colocation表明这是一个资源捆绑约束。捆绑约束将不同的资源捆绑在一起作为一个逻辑整体,即资源 DLM位于 node1节点,则资源 CLVM也必须位于 node1节点,并且资源 DLM、 CLVM将会同时进行故障切换到相同的节点上。

2.4 在pacemaker中加入共享存储资源

在本节中首先介绍了三种创建共享存储设备的方式,我们可以根据情况任选一种。 设备创建后我们在节点上运行\可以看到该硬盘/dev/sdb。

2.4.1共享存储设备的类型

2.4.1.1 基于磁盘阵列的共享存储

将一个磁盘阵列物理连接到多个节点上,不需要配置。

2.4.1.2 基于ISCSI的网络共享存储资源

iSCSI:Internet 小型计算机系统接口(iSCSI:Internet Small Computer System Interface)。是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议。

下面的例子中,假设系统中有5台机器,node1,node2,node3,node4是集群的节点,node0 (192.168.199.190)是ISCSI的Target,即网络共享盘。所有节点安装CENTOS7/REDHAT7。

? 首先所有机器关闭防火墙保证网络互通。

? 所有机器的/etc/hosts加入IP地址映射

192.168.199.190 node0 192.168.199.191 node1 192.168.199.192 node2 192.168.199.193 node3 192.168.199.194 node4

? node0与其他节点node1,node2,node3,node4配置SSH互信.在每个节点上分别以root

和数据库用户(例如postgres)执行

ssh-keygen -t rsa;

ssh-copy-id -i ~/.ssh/id_rsa.pub root@node0; ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1; ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2; ssh-copy-id -i ~/.ssh/id_rsa.pub root@node3; ssh-copy-id -i ~/.ssh/id_rsa.pub root@node4; ssh-copy-id -i ~/.ssh/id_rsa.pub postgres@node0; ssh-copy-id -i ~/.ssh/id_rsa.pub postgres@node1; ssh-copy-id -i ~/.ssh/id_rsa.pub postgres@node2; ssh-copy-id -i ~/.ssh/id_rsa.pub postgres@node3; ssh-copy-id -i ~/.ssh/id_rsa.pub postgres@node4;

? 服务器端:

? 在node0上安装ISCSI:

yum -y install scsi-target-utils

? 编辑/etc/tgt/targets.conf,添加:(/dev/sdb是新添加的用来共享的磁盘,为原生

的未经过格式化的盘)

backing-store /dev/sdb ?

启动服务,并配置开机自启动:

service tgtd start;chkconfig tgtd on

? 客户端:在node1,node2,node3,node4中执行 ? 安装iscsi-initiator-utils

yum -y install iscsi-initiator-utils

? 编辑/etc/iscsi/initiatorname.iscsi,添加:

InitiatorName=iqn.201802.dev:server.target1

? 配置服务:

chkconfig iscsi on;chkconfig iscsid on service iscsi restart;service iscsid restart

? 连接共享盘:

iscsiadm -m discovery -t sendtargets -p 192.168.199.190:3260 iscsiadm -m node -T iqn.201802.dev:server.target1 -l

2.4.1.3 VirtualBox基于共享文件的共享存储资源

? 首先关闭虚拟机,然后安装共享磁盘。 ? 在第一台虚拟机node1上:

? ?

右键—设置—存储—控制器:SATA--此处选择后面的“+”

然后选择“创建新的虚拟盘(N)”进入下一步,选择VDI文件类型,必须为固定大小磁盘。

?

创建完成后点击“管理-虚拟机制管理V…”或者使用Ctrl+D打开虚拟介质管理器,选择刚创建的磁盘文件,右键—

修改—可共享—OK,如下

? 在其他虚拟机node2,node3,node4上:

右键—设置—存储—控制器:SATA--此处选择后面的“+”.点开后面的“+”后,选择“使用现有的虚拟盘(C)”,然后选择在第一台虚拟机上创建的磁盘文件。

2.4.2Pacemaker中共享存储资源的设置

Node1上执行:fdisk /dev/sdb;mkfs.gfs2 -j 8 -p lock_dlm -t cluster_pgsql:sdb1 /dev/sdb1;

在其他节点上执行:partprobe

在node1上执行:pcs resource create clusterfs Filesystem device=\directory=\fstype=\\op monitor interval=10s on-fail=fence clone interleave=true;

pcs constraint order start clvmd-clone then clusterfs-clone

说明:

?

首先在一个节点上将共享磁盘分区并格式化成gfs2文件系统。 ?

-j参数限定了该磁盘最多可以在多少个节点上mount此磁盘。例如我们设置-j 2,则在node1,node2上执行mount成功,在node3上再执行时会报错:disk failed: Too many users。如果要在当前的磁盘上增加一个journal,执行gfs2_jadd -j 1 /dev/sdb1 ? ? ?

-p 参数是锁协议。 如果是共享存储使用lock_dlm。如果是只有一个节点把他作为本地文件系统,则使用lock_nolock。

在其他节点上执行partprobe将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表。 然后创建共享磁盘资源,例如起名为clusterfs。device是磁盘名,directory是磁盘要挂载的目录名,clusterfs启动时会自动执行\。因为目录要放置数据库的共享数据,所以要设置数据库用户(例如postgres)对该目录有读写权限。

? 最后设定资源的启动顺序,clusterfs资源必须在CLVM资源启动之后才启动。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于pacemaker的共享存储集群配置(2)在线全文阅读。

基于pacemaker的共享存储集群配置(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/353808.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: