菜鸟学Linux 第091篇笔记 RHCS-阿里云开发者社区

开发者社区> 开发与运维> 正文

菜鸟学Linux 第091篇笔记 RHCS

简介:

菜鸟学Linux 第091篇笔记 RHCS




内容总览

RHCS功能

Cluster Infrastructure 集群基础设施

gfs, clvm, ccs

分布式文件系统

浅谈网站的架构

架设RHCS

云的描述







RHCS (Red Hat Cluster Suite)

也是一个集群管理软件的一个套件,由redhat提供,除了基本的集群管理,它还包含了一些

其它套件

主要功能ha 高可用

也有负载均衡 lvs

GFS (global file system)

cLVM

ccs (cluster configuration system)



Cluster Infrastructure 集群基础设施

heartbeat

corosync

keepalived(工作机制不同)

cman (cluster manager) RHCS


CRM (Cluster Resource Manager)

heartbeat v1: haresources 

heartbeat v2: crm

heartbeat v3, corosync: pacemaker

rhcs: rgmanager (resource group manager)


RA (Resource Agent)

lsb(/etc/init.d/)

ocf(providers)

legacy heartbeat v1

stonith




RHCS

cman

rgmanager

ra

internal

script: lsb (linux standard base)

/etc/rc.d/init.d/*


rhcs rhel4.* cman 是一个独立的组件

rhcs rhel5.* cman 不是一个底层的组件,只是一个openais的一个模块

但配置文件是/etc/cluster/cluster.conf 而不是/etc/openais/openais.conf

管理功能是rgmanager

rhcs rhel6.* cman可以不使用, 而是corosync, 资源管理pacemaker



corosync 2.3.0 (needle) votequorum



gfs

可以提供集群文件锁,将锁通知到其它节点(最多支持16个节点)


dlm (distributed lock manager) 需要运行在各个节点中

块级别 DAS SAN 

创建多个日志区域

gfs (google file system)分布式文件系统 


ocfs2 (oracle cluster file system)


clvm (cluster logical volume manager) 

借助于ha的功能,将某节点对lvm操作通知给其它节点

/etc/lvm.conf


cman /etc/cluster/cluster.conf

ccs cluster configuration system 自动同步集群配置文件到其它节点中(不再需要手动cp)


failover domain

服务故障转移域, 当一个服务故障时,可以限制其转移节点范围 相对于服务来定义区域


luci/rici  luci控制端  rici客户端




布曙一个集群

软件、系统安装 cobbler, pxe

命令 for  ssh   fabric

配置文件管理、软件分发 puppet


cobbler可以实现网络式安装系统 (自行研究)

puppet重量级的软件 配置文件管理,软件分发,等



分布式文件系统

可以实现将多台电脑组合成一个,然后前端有一台主服务器,负责存储元数据,而后端有多台

服务器来负责存储真正的数据,此种结合方式,即可将超大文件进行快速存储等。 但也需要解决

请多方面的问题比如读取这样的超大型文件如何将其加载到内存,前端存储元数据的服务器如果

出现故障怎么办(高可用ha)等




浅谈网站的架构


1. 前端lvs服务器做高可用 (如果对网站写操作非数据库扭伤还需要用nginx或haproxy做七层策略,

使其定向到一台主的rsync服务器上,写操作完成后,此节点再同步到其它web节点)

2. 后边多台realserver-web (或者在此些节点做集群的文件系统SAN或DAS即集群文件锁)

3. 数据库做集群高可用让其所有节点都可以访问该数据库







架设RHCS

每个集群必须有自己的集群名称

至少有一个fence设备

至少应该有三个节点,两个节点的场景中要使用qdisk



0. 三台节点电脑 11.121 11.122 11.123    跳板机 11.220

跳板机和其它三台节点已经进行建立ssh密钥连接

时间同步


1.安装cman, rgmanager, system-config-cluster

# aliase ha='for I in {1..3}; do'

# ha ssh node$I 'yum -y install cman rgmanager system-config-cluster'; done



2. 图形化配置cman

进入某台节点后再进入图形配置

# system-config-cluster &

进入后添加节点,添加manual fencing设备 (添加节点时注意要添加票数) 

/etc/cluster/cluster.conf xml格式的配置文件


启动cman服务

# service cman start  (三台节点都得手动启动)


进入跳板机启动rgmanager

# ha ssh node$I 'service rgmanager start'; done  (我这里配置了别名)



3. 节点安装httpd 

跳板机执行

# ha ssh node$I 'yum -y install httpd'; done

# ha ssh 'echo node$I > /var/www/html/index.html'; done

(此种方式节点上执行的$I是没有值的需要手动添加,所以还得手动修改每个节点)

手动测试每台节点httpd服务启动是否正常,并且能够访问目录网站

并将httpd的开机启动关闭



4. 查看集群状态信息命令

# cman_tool status

# clustat


管理集群命令

# clusvcadm -h



5. 配置服务或资源

# system-config-cluster &

添加IP

添加的虚拟IP使用 ip addr show可以查看

添加httpd服务 (script)

添加服务  (资源不可启动,服务才可以,一个服务可以包含多个资源)

配置完成后需要点击发送按钮将配置文件自动发送到其它节点中


查看服务信息

# clustat


转移某服务到其它节点

# clusvcadm -r service-name -m node-name 

service-name 要替换为真正定义的服务名

node-name 要替换为真正的节点名称

如不加-m可以自己转移到其它节点中


# clusvcadm -d service-name 禁用某服务

# clusvcadm -e service-name 启用某服务

# clusvcadm -R service-name 重启某服务

# clusvcadm -s service-name 停止某服务



6. 配置RHCS 使用共享文件系统nfs

我这里就用跳板机做nfs-server  具体配置就不细说了前边章节有,共享目录为/webdocs


配置集群服务

# system-config-cluster &

 nfs mount

配置完成后需要点击发送按钮将配置文件自动发送到其它节点中


关闭SElinux

# setenforce 0



7. 关闭服务并以命令行方式来创建cman基本配置

跳板机执行

# ha ssh node$I 'service rgmanager stop'; done

# ha ssh node$I 'service cman stop'; done

# ha ssh node$I 'rm -rf /etc/cluster/*'; done


命令创建集群配置文件/etc/cluster/cluster.conf

其中一台节点机执行

# ccs_tool create cluster-name (cluster-name要设置为自己要定义的集群名称)

# css_tool addfence -h

# ccs_tool addfence meatware fence_manual   添加fence设备

# ccs_tool lsfence

# ccs_tool addnode -h

# ccs_tool addnode -v 1 -n 1 -f meatware node-name  

添加节点(node-name要添加为具体的节点名称)


此上操作完成即命令行基本配置完成 即可启动 




云是类似于ha服务器里运行了多台虚拟机,而当其ha服务器出现故障时,此虚拟机不会受到影响

而是将此多台虚拟机迁移到其它ha服务器的节点上,而这些虚拟机的文件是保存到共享存储的

节点中,或者说是专用的设备中。 这一台台虚拟机有一个接口这个便是为每个用户访问该虚拟

机的一个入口,   此种方式的优点为当用户在某虚拟机做了http服务或其它服务,即使真的服务

器出现故障时,业务数据也不会中断的就直接转移到其它节点,具体原理现在还不会解释,

个人理解的简单的云架构呵呵 




下去自行研究集群配置软件  luci/rici

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1894997如需转载请自行联系原作者


Winthcloud

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章