在集群中添加资源

在上一节里已经创建了集群cluster1,在这节实验里开始在集群里添加资源。

先了解一下什么是资源(resource)。举例来说,我们通过某个IP访问httpd服务,如果IP不通或者httpd没有启动我们都不能正常访问web服务,所以这二者是一个整体,我们称之为“服务组”。在集群中,组成服务组的一个个元素比如IP,httpd叫做“资源”。

一. 首先设置集群属性

因为现在环境里还没有fence,所以必须要一些设置集群才可以正常工作。点击"CLUSTER PROPERTIES"

设置"No Quorum Policy"为Ignore

取消Stonith Enabled:

点击"Apply Changes"。

二. 添加第一个资源

1.添加第一个资源: VIP

vip称之为虚拟IP或者浮动IP,总是运行在活跃节点上

Class/Provider选择ocf:heartbeat

Type选择IPaddr2

Resource ID 可以随意取名,用于标记不同的资源名,这里起名为vip

ip位置 填写一个未使用的IP地址,后期访问服务就通过这个IP

展开 "Optional Arguments"

cidr_netmask 处填写24

点击"Create Resource"

这样vip资源就创建好了,稍等一会可看到如下界面:

从上图可以看到vip当前正在运行,且运行在node1上。

在命令行中查看资源的运行状况,在node1~node3任一节点上查看:

也可以看到看到vip是在node1上运行。此时node1上有两个IP,一个是本地IP一个是VIP:

2.下面验证资源切换

在node1~node3任一节点上执行pcs cluster standby node1,模拟node1宕机:

此时可以看到资源vip已经切换到了node2上,验证node2上是否有两个IP:

由此可以看到资源切换正常。

把node1再次激活:

[[email protected] ~]# pcs cluster unstandby node1

三. 添加第二个资源

1.安装相关软件包

在3个节点上分别安装httpd,记住不要手动的启动httpd服务:

[[email protected] ~]# yum install httpd -y

已加载插件:product-id, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

base      | 4.1 kB  00:00:00

base1     | 4.1 kB  00:00:00

base2     | 4.1 kB  00:00:00

正在解决依赖关系

已安装:

httpd.x86_64 0:2.4.6-31.el7

作为依赖被安装:

apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7      httpd-tools.x86_64 0:2.4.6-31.el7      mailcap.noarch 0:2.1.41-2.el7

完毕!

[[email protected] ~]#

为了明显看到资源的切换,在三台节点上index.html写上不同的内容:

[[email protected] ~]#

[[email protected] ~]# echo node11111 > /var/www/html/index.html

[[email protected] ~]#

[[email protected] ~]# echo node2222222222 > /var/www/html/index.html

[[email protected] ~]# echo node33333 > /var/www/html/index.html

2.添加http资源

点击"RESOURCE"-> add

Class/Provider 选择systemd

Type 选择httpd (如果里面没有httpd的话,刷新一下页面重新添加)

资源名称我这里设置为"webserver"

点击"Create Resource"

这样就可以看到资源webserver已经创建完毕

3.解决一些问题

通过仔细查看,vip和webserver两个资源并没有运行在同一台机器上:

下面这样做(为什么先不管,后面会讲)

选中vip,点击"Create Group"

输入组名,名字用于区分不同的组,可以随便写,这里写group_1

点击"Create Group"

反选vip,选中webserver,在后侧Resource Group选择group_1

点击"Apply Changes"

此时就可以保证webserver会和vip在同一台机器,意思就是vip迁移,webserver会紧随迁移。

4.下面开始验证

从下图可以看到vip和webserver均运行在node2上:

所以客户端访问的时候,也是访问到node2上的httpd:

现在把node2 执行standby操作:

[[email protected] ~]# pcs cluster standby node2

可以看到,vip和webserver均跑到了node1上了:

此时客户端访问到node1的httpd:

关注“老段工作室公众号”,文章更新早知道,每天几分钟,轻轻松松的学习。

原文地址:http://blog.51cto.com/lduan/2069785

时间: 2024-10-15 00:44:26

在集群中添加资源的相关文章

浪潮服务器向集群中添加esxi主机

软件环境:esxi6.0  vcenter6.0 硬件:浪潮服务器 hba卡 浪潮存储 博科san 要求:向目前集群中添加一台esxi主机 步骤:安装esxi6.0,配置bmc和网卡,光纤连接hba卡,注意:光纤方向,hba中发光的接到san不发光的口. 配置san交换机 配置浪潮存储 esxi中识别存储添加OK!

Oracle 学习之RAC(八) 向集群中添加节点

我们前面安装了两个节点的RAC. 我们现在将第三个节点11grac3,添加到我们集群中.第三个节点一定要按照集群环境准备一文描述,准备环境.请参考 http://lqding.blog.51cto.com/9123978/1684159 安装前检查 11grac1-> pwd /u01/app/11.2.0/grid/bin 11grac1-> ./cluvfy stage -pre nodeadd -n 11grac3 -fixup -verbose 检查结果 Performing pre-

Hadoop集群中添加硬盘

Hadoop工作节点扩展硬盘空间 接到老板任务,Hadoop集群中硬盘空间不够用,要求加一台机器到Hadoop集群,并且每台机器在原有基础上加一块2T硬盘,老板给力啊,哈哈. 这些我把完成这项任务的步骤和我遇到的问题和解决方法总结一下,分享给大家. 1.    首先,介绍一下用到的基本命令和配置,如果本文的网友时间比较紧,可以直接跳过部分内容,直接看“2.   如何加载新硬盘”部分. (1)命令fdisk 语法: fdisk [-b sectorsize] device fdisk -l [-u

向CDH5集群中添加新的主机节点

步骤一:首先得在新的主机环境中安装JDK,关闭防火墙.修改selinux.NTP时钟与主机同步.修改hosts.与主机配置ssh免密码登录.保证安装好了perl和python. 步骤二:上传cloudera-manager文件到/opt目录,修改agent配置文件:       vi /opt/cm-5.0.0/etc/cloudera-scm-agent/config.ini  server_host = Master 步骤三:在该代理节点创建cloudera-scm用户  useradd -

向集群中添加主机的详细步骤

详细步骤:1.服务器上架并安装好esxi 2.光纤连接HBA卡到光交换机.注意光口的顺序 3.进入san进行配置 4.进入存储进行lun映射 5.进入虚拟机识别添加存储. 遇到问题:存储识别不到wwn,后来再次enable config san文件解决.

xenserver集群中添加本地存储一报错及处理方法

xe sr-create content-type=user name-label=G2xen3SR5T shared=false device-config:device=/dev/sdb type=lvmThe SR operation cannot be performed because a device underlying the SR is in use by the host. xe sr-create content-type=user name-label=G2xen3SR5

高可用集群中fence的配置

通过上一节我们已经知道了如何在集群中添加资源,下面我们来看下如何配置fence设备(也称为stonith). 先了解什么是fence 每个节点之间互相发送探测包进行判断节点的存活性.一般会有专门的线路进行探测,这条线路称为"心跳线"(上图直接使用eth0线路作为心跳线).假设node1的心跳线出问题,则node2和node3会认为node1出问题,然后就会把资源调度在node2或者node3上运行,但node1会认为自己没问题不让node2或者node3抢占资源,此时就出现了脑裂(sp

docker swarm英文文档学习-8-在集群中部署服务

Deploy services to a swarm在集群中部署服务 集群服务使用声明式模型,这意味着你需要定义服务的所需状态,并依赖Docker来维护该状态.该状态包括以下信息(但不限于): 应该运行服务容器的镜像名称和标记有多少容器参与服务是否有任何端口暴露给集群之外的客户端当Docker启动时,服务是否应该自动启动重启服务时发生的特定行为(例如是否使用滚动重启)服务可以运行的节点的特征(例如资源约束和位置首选项)有关群模式的概述,请参见 Swarm mode key concepts.有关

Redis3.0集群crc16算法php客户端实现方法(php取得redis3.0集群中redis数据所在的redis分区插槽,并根据分区插槽取得分区所在redis服务器地址)

数据分区        Redis集群将数据分区后存储在多个节点上,即不同的分区存储在不同的节点上,每个节点可以存储多个分区.每个分区在Redis中也被称为"hash slot",Redis集群中总共规划了16384个分区. 例如:当集群中有3个节点时,节点A将包含0-5460分区,节点B将包含5461-10922分区,节点C将包含10923-16383分区. 每个key将会存储到一个唯一的分区中,每个分区其实就是一组key的集合,两者对应关系为:key的CRC16校验码%16384=