linuxpcs命令 linuxcp命令参数

Linux HA 集群原理和配置-02

本文介绍在Linux HA集群中的仲裁和分区概念。

创新互联建站自2013年创立以来,先为大厂等服务建站,大厂等地企业,进行企业商务咨询服务。为大厂企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

集群正常工作时,所有节点都在一个分区内(partition),分区内的所有节点将选举出一个仲裁节点,这个仲裁节点负责向其他节点发送集群控制命令。当网络发生故障时,集群中的节点发现无法和仲裁节点通信,则会在可通信的范围内重新选举一个新的仲裁节点。此时集群内可能出现多个仲裁节点,每个仲裁节点的管理范围为一个分区。

下文中将通过防火墙策略的设置模拟集群网络中通信出现异常的各种情况,如:

通过防火墙策略可以精准控制两两节点之间的连通性,使我们能更准确的了解在网络连通性发生变化对集群的影响。

在所有节点上启动防火墙,并添加策略对整个管理网络192.168.56.0/24放通。

保存上述策略,之后在实验过程会使用iptables命名加入新策略模拟网络通信异常效果,如果需要恢复网络通信正常状态,直接不保存策略重启firewalld服务即可。

通过pcs status查看集群状态:

上述结果显示当前集群只有一个分区,分区内的节点包括全部3台主机,仲裁节点是ha-host3,这表示集群间的通信是完好的。下图显示当前集群状态:

在ha-host1上添加以下策略:

该策略将使得ha-host1和ha-host3之间的通信中断,在所有节点上查看集群状态:

上面的结果显示,ha-host1失去和当前仲裁节点ha-host3的联系之后,和ha-host2一起组成新的分区并选举出ha-host2作为新的仲裁节点。有趣的是ha-host2和ha-host3的通信并未中断,但是他被“优先级较高的ha-host1抢走并推举为老大”,剩下ha-host3独自留在其自身所在的分区。此时ha-host3所在的分区提示了“partition WITHOUT quorum”,表示该分区中的节点数目不超过一半。

下图显示当前集群状态:

在ha-host1上再添加策略:

使其和当前的仲裁节点ha-host2的通信中断,集群状态变为:

发现ha-host2和ha-host3一起组成了新的分区,由于ha-host1所在分区节点数不足一半,无法启动资源,虚拟ip资源vip被切换到了ha-host2上。下图显示当前集群状态:

如果再把ha-host2和ha-host3直接的通信中断,此时3个节点间两两均无法通信。每个节点都是一个分区,每个分区的主机数均不过半,因此无法启动任何资源,原先运行在ha-host2上的vip也停止了。

当前集群状态如下图:

linux如何使用pcs添加执行脚本的资源?

首先把脚本做成类似network这样的系统服务,放到/etc/init.d/下,添加执行权限,测试执行成功,不需要放到/usr/lib/systemd/system下,在集群中添加资源时,选择lsb,会自动发现你自定义脚本的名字。

pcs

resource

create

service

lsb:service

centos7下怎么更改系统时间

CentOS 7下怎么搭建高可用集群。高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。那么新的centos下怎么来搭建高可用集群。 CentOS 7下怎么搭建高可用集群;环境:本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168,主机名node2的IP为192.168.122.169。 一、安装集群软件必须软件pcs,pacemaker,corosync,fence-agents-all,如果需要配置相关服务,也要安装对应的软件 二、配置防火墙1、禁止防火墙和selinux修改/etc/sysconfig/selinux确保SELINUX=disabled,然后执行setenforce 0或者reboot服务器以生效 2、设置防火墙规则三、各节点之间主机名互相解析分别修改2台主机名分别为node1和node2,在centos 7中直接修改/etc/hostname加入本机主机名和主机表,然后重启网络服务即可。配置2台主机的主机表,在/etc/hosts中加入四、各节点之间时间同步在node1和node2分别进行时间同步,可以使用ntp实现。五、各节点之间配置ssh的无密码密钥访问。下面的操作需要在各个节点上操作。两台主机都要互相可以通信,所以两台主机都得互相生成密钥和复制公钥,相互的节点上的hosts文件是都要解析对方的主机名, 192.168.122.168 node1 192.168.122.169 node2六、通过pacemaker来管理高可用集群1、创建集群用户 为了有利于各节点之间通信和配置集群,在每个节点上创建一个hacluster的用户,各个节点上的密码必须是同一个。2、设置pcsd开机自启动3、集群各节点之间进行认证4、创建并启动集群5、设置集群自启动6、查看集群状态信息7、设置fence设备 这个可以参考Red Hat Enterprise Linux 7 High Availability Add-On Reference corosync默认启用了stonith,而当前集群并没有相应的stonith设备,因此此默认配置目前尚不可用,这可以通过如下命令验证:可以通过如下面命令禁用stonith:8、配置存储 高可用集群既可以使用本地磁盘来构建纯软件的镜像型集群系统,也可以使用专门的共享磁盘装置来构建大规模的共享磁盘型集群系统,充分满足客户的不同需求。 共享磁盘主要有iscsi或DBRD。本文并没有使用共享磁盘。 9、配置浮点IP 不管集群服务在哪运行,我们要一个固定的地址来提供服务。在这里我选择192.168.122.101作为浮动IP,给它取一个好记的名字ClusterIP并且告诉集群 每30秒检查它一次。10、配置apache服务 在node1和node2上安装httpd,确认httpd开机被禁用配置httpd监控页面(貌似不配置也可以通过systemd监控),分别在node1和node2上执行首先我们为Apache创建一个主页。在centos上面默认的Apache docroot是/var/www/html,所以我们在这个目录下面建立一个主页。 node1节点修改如下:node2节点修改如下:下面语句是将httpd作为资源添加到集群中:11、创建group 将VIP和WEB resource捆绑到这个group中,使之作为一个整体在集群中切换。(此配置为可选)12、配置服务启动顺序 以避免出现资源冲突,语法:(pcs resource group add的时候也可以根据加的顺序依次启动,此配置为可选)13、指定优先的Location(此配置为可选) Pacemaker并不要求你机器的硬件配置是相同的,可能某些机器比另外的机器配置要好。这种状况下我们会希望设置:当某个节点可用时,资源就要跑在上面之类的规则。为了达到这个效果我们创建location约束。同样的,我们给他取一个描述性的名字(prefer-node1),指明我们想在上面跑WEB这个服务,多想在上面跑(我们现在指定分值为50,但是在双节点的集群状态下,任何大于0的值都可以达到想要的效果),以及目标节点的名字:这里指定分值越大,代表越想在对应的节点上运行。 14、资源粘性(此配置为可选) 一些环境中会要求尽量避免资源在节点之间迁移。迁移资源通常意味着一段时间内无法提供服务,某些复杂的服务,比如Oracle数据库,这个时间可能会很长。 为了达到这个效果,Pacemaker有一个叫做“资源粘性值”的概念,它能够控制一个服务(资源)有多想呆在它正在运行的节点上。 Pacemaker为了达到最优分布各个资源的目的,默认设置这个值为0。我们可以为每个资源定义不同的粘性值,但一般来说,更改默认粘性值就够了。资源粘性表示资源是否倾向于留在当前节点,如果为正整数,表示倾向,负数则会离开,-inf表示负无穷,inf表示正无穷。常用命令汇总:查看集群状态:#pcs status 查看集群当前配置:#pcs config 开机后集群自启动:#pcs cluster enable –all 启动集群:#pcs cluster start –all 查看集群资源状态:#pcs resource show 验证集群配置情况:#crm_verify -L -V 测试资源配置:#pcs resource debug-start resource 设置节点为备用状态:#pcs cluster standby node1 这就是小编给大家带来的CentOS 7下怎么搭建高可用集群步骤,是不是很详细。

Pacemaker之高级资源类型:资源组,资源克隆和资源多状态

在Pacemaker集群中,各种功能服务通常被配置为 集群资源 ,接受资源管理器的调度与控制, 资源 是集群管理的最小单位对象。在集群资源配置中,由于不同高可用模式的需求, 资源通常被配置为不同的运行模式 ,如Active/Active模式、Active/ Passive模式以及Master/Master模式和Master/Slave模式, 而这些不同资源模式的配置均需要使用Pacemaker提供的高级资源类型 ,包括 资源组 、 资源克隆 和 资源多状态 等。

在Pacemaker集群中, 经常需要将多个资源作为一个资源组进行统一操作 ,如将多个相关资源全部位于某个节点或者同时切换到另外的节点,并且要求这些资源按照一定的先后顺序启动,然后以相反的顺序停止, 为了简化同时对多个资源进行配置,Pacemaker提供了高级资源类型——资源组 。通过资源组,用户便可并行配置多个资源,资源组的创建语法格式: pcs resource  group add group_name resource_id  [resource_id]  ...  [resource_id][--before resource_id | --after resource_id

使用该命令创建资源组时,如果指定的资源组不存在,则此命令会新建一个资源组,如果指定的资源组已经存在,则此命令会将指定的资源添加到该资源组中。 资源组中的资源会按照资源在该命令中出现的先后位置顺序启动,并以相反的顺序停止 。在该命令中,还可使用--before和--after参数指定所添加的资源与组中已有资源的相对启动顺序。

在为资源组添加资源时,不仅可以将已有资源添加到组中,还可以在创建资源的同时顺便将其添加到指定的资源组中,命令语法:pcs resource create resource_id  standard:provider:type|type [resource_options] [op operation_action operation_options] --group group_name

以下是资源组操作中经常使用的命令语法:

//将资源从组中删除,如果该组中没有资源,会将该组删除: pcs resource group  remove group_name resource_id...

//查看资源组:pcs resource group list

//创建名为 MyGroup的资源组,并添加资源 IPaddr和HAproxy:pcs resource group  add MyGroup IPaddr HAproxy

在Pacemaker集群中,资源组所包含的资源数目是不受限的,资源组中的资源具有如下的基本特性:

1) 资源按照其指定的先后顺序启动。

2) 资源按照其指定顺序的相反顺序停止。

3) 如果资源组中的某个资源无法在任何节点启动运行,那么在该资源后指定的任何资源都将无法运行。

4) 资源组中后指定资源不影响前指定资源的运行。

资源组具有组属性,并且资源组会继承组成员的部分属性 ,主要被继承的资源属性包括Priority、Target-role、Is-managed等,资源属性决定了资源在集群中的行为规范,以及资源管理器可以对其进行哪些操作。

资源属性介绍如下:

1) Priority :资源优先级,默认值是0,如果集群无法保证所有资源都处于运行状态,则低优先权资源会被停止,以便让高优先权资源保持运行状态。

2) Target-role :资源目标角色,默认值是Started,表示集群应该让这个资源处于何种状态,允许值为:

    Stopped:表示强制资源停止;

    Started:表示允许资源启动,但多状态资源的情况下不能将其提升为Master资源;

    Master:允许资源启动,并在适当时将其提升为Master。

3) is-managed :表示是否允许集群启动和停止该资源,默认值是true。

4) Resource-stickiness :表示该资源保留在原有位置节点的倾向程度值,默认值是0。

5) Requires :表示资源在什么条件下允许启动,默认值为fencing。

克隆资源是Pacemaker集群中的高级资源类型之一, 通过资源克隆,集群管理员可以将资源克隆到多个节点上并在启动时使其并行运行在这些节点上 ,例如通过资源克隆的形式在集群中的多个节点上运行冗余IP资源实例,并在多个处于Active状态的IP资源之间实现负载均衡。 通常凡是其 资源代理 支持克隆功能的资源都可以实现资源克隆 , 但只有已经规划为可以运行在Active/Active高可用模式的资源才能在集群中配置为克隆资源 。通常在创建资源的过程中同时对其进行资源克隆,克隆后的资源将会在集群中的全部节点上存在,并且克隆后的资源会自动在其后添加名为clone的后缀并形成新的资源ID,资源创建并克隆资源的语法如下:pcs resource  create  resource_id  standard:provider:type|type  [resource  options]--clone [meta clone_options]

克隆后的资源ID不再是语法中指定的Resource_id,而是Resource_id-clone,并且该资源会在集群全部节点中存在。在Pacemaker集群中,资源组也可以被克隆,但是资源组克隆不能由单一命令完成,必须先创建资源组然后再对资源组进行克隆,资源组克隆的命令语法如下:pcs resource clone resource_id | group_name [clone_options]...

克隆后资源的名称为Resource_id-clone或Group_name-clone。在资源克隆命令中,可以指定资源克隆选项(clone_options):

1) Priority/Target - role/Is-manage :从被克隆的资源中继承的,详见资源属性介绍。

2) Clone-max :该选项值表示需要存在多少资源副本才能启动资源,默认为该集群中的节点数。

3) Clone-node-max :表示在单一节点上能够启动多少个资源副本,默认值为1。

4) Notify :表示在停止或启动克隆资源副本时,是否在开始操作前和操作完成后告知其他所有资源副本,默认值为False。

5) Globally-unique :表示是否允许每个克隆副本资源执行不同的功能,允许值为False和True。如果其值为False,则不管这些克隆副本资源运行在何处,它们的行为都是完全相同的,因此每个节点中有且仅有一个克隆副本资源处于Active状态。如果其值为True,则运行在某个节点上的多个资源副本实例或者不同节点上的多个副本实例完全不一样。如果Clone-node-max取值大于1,即一个节点上运行多个资源副本,那么Globally-unique的默认值为True,否则为False。

6) Ordered :表示是否顺序启动位于不同节点上的资源副本,True为顺序启动,False为并行启动,默认值是False。

7) Interleave :该属性值主要用于改变克隆资源或者Masters资源之间的 Ordering约束行为。 如果Interleave值为False,则位于相同节点上的后一个克隆资源的启动或者停止操作需要等待前一个克隆资源启动或者停止完成才能进行;如果Interleave值为True,则位于相同节点上的后一个克隆资源不用等待前一个克隆资源启动或者停止完成便可进行启动或者停止操作,默认值为False。

在通常情况下, 克隆资源会在集群中的每个在线节点上都存在一个副本,即资源副本数目与集群节点数目相等 ,但集群管理员可以通过资源克隆选项Clone-max将资源副本数目设为小于集群节点数目, 如果资源副本数目小于节点数目,则需要通过资源位置约束(Location Constraint)将资源副本指定到相应的节点上 ,设置克隆资源的位置约束与设置常规资源的位置约束类似。例如要将克隆资源Web-clone限制在node1节点上运行,则命令语法如下:pcs constraint location  web-clone prefers node1

多状态资源是Pacemaker集群中实现资源Master/Master或Master/Slave高可用模式的机制 ,并且 多态资源是一种特殊的克隆资源,多状态资源机制允许资源实例在同一时刻仅处于Master状态或者Slave状态 。多状态资源的创建只需在普通资源创建的过程中指定--Master参数即可,Master/Slave多状态类型资源的创建命令语法:pcs resource  create  resource_id  standard:provider:type|type  [resource  options] --master  [meta master_options]

多状态资源是一种特殊的克隆资源,默认情况下,多状态资源创建后也会在集群的全部节点中存在,多状态资源创建后在集群中的资源名称格式为Resource_id-master。在Master/Slave高可用模式下,尽管在集群中仅有一个节点上的资源会处于Master状态,其他节点上均为Slave状态,但是全部节点上的资源在启动之初均为Slave状态,之后资源管理器会选择将某个节点的资源提升为Master。用户还可以将已经存在的资源或资源组创建为多状态资源,命令语法:pcs  resource master master/slave_name resource_id|group_name [master_options]

在多状态资源的创建过程中,可以通过Master选项(Master_options)来设置多状态资源的属性,Master_options主要有以下两种属性值:

1) Master-max :表示可将多少个资源副本由Slave状态提升至Master状态,默认值为1,即仅有一个Master。

2) Master-node-max :表示在同一节点中可将多少资源副本提升至Master状态,默认值为1。

在通常情况下, 多状态资源默认会在每个在线的集群节点中分配一个资源副本 ,如果希望资源副本数目少于节点数目,可通过资源的Location约束指定运行资源副本的集群节点,多状态资源的Location约束在实现的命令语法上与常规资源一样。在配置多状态资源的Ordering约束时,可以指定对资源进行的操作是提升(Promote)还是降级(Demote)操作:pcs constraint order [action]  resource_id then [action] resource_id  [options]

Promote操作将对应的资源(resource_id)提升为Master状态,Demote操作将资源(resource_id)降级为Slave状态,设定被提升或降级资源的顺序的方法是Ordering约束。

Linux命令行上传文件到百度网盘

在下边图示位置粘贴授权码,耐心等待一会即可(1-2分钟)

授权成功。

测试上传和同步本地文件到云盘

由于百度PCS API权限限制,程序只能存取百度云端/apps/bypy目录下面的文件和目录。我们可以通过:


当前文章:linuxpcs命令 linuxcp命令参数
文章位置:http://cdiso.cn/article/dosodii.html

其他资讯