集群之rhcs

集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。

 

  基本概念: 

Conga: 分为Luci(管理工具,Server端)及 Ricci(用于接收和传递Luci指令的服务程序,Agent)两部分,其中Luci安装在任一管理工作站上,Ricci安装在被管理的Cluster节点上.

 

 

脑裂(Head-split):当前激活的Cluster 节点因为处理器忙或者其他原因暂时停止响应时,其他节点可能误认为该节点”已死”,从而夺取共享磁盘的访问权,此时极有可能假死节点重新对共享文件系统产生读写操作,从而导致共享磁盘文件系统损坏. 

 

Fence:为了防止”脑裂”现象的产生,使用fence设备对”故障”节点进行”屏蔽”措施,如重启该设备,从而尝试恢复其节点功能. Fence 设备可以是交换机,或者IPMI等. 这里我们采用PE2900的BMC充当Fence设备. 

 

Cman:cluster manager,Cluster组件之一,该服务用于cluster的配置,控制,查询,仲裁计算等. 

 

Rgmanager:Resource group manager,Cluster组件之一,提供用户定义的资源组的切换服务. 

 

Failover domain: cluster 环境中服务failover的区域

 

cman集群管理器 

 cman是一个基于内核的对称通用集群管理器。它由两部分组成:连接管理器(cnxman),用于处理成员、消息、投票数、事件通知和过渡;服务管理器(SM),用于处理那些需要通过各种方式进行集群管理的应用及外部系统。cman是RHCS中最核心的服务,可通过系统中的serivce命令进行启/停操作;DLM、GFS、CLVM及Fence都依赖于cman群集管理器。 

 

rgmanager资料组管理器 

 rgmanager(Resource Group Manager)基于cman并使用DLM动态锁管理机制。与cman一样,rgmanager也是RHCS中的一个核心服务,可通过系统中的serivce命令进行启/停操作;rgmanager管理并为集群中的Service(服务)和Resources(资源)提供Failover错误切换功能。

 

  Service(服务) 

每个服务都被指定存在于一个Failover Domain中,并与多个Resources(资源)关联。每个服务可以理解为实际操作中的一个应用,如Web服务器、Java中间件、数据库、文件共享系统、邮件系统等。这些应用在运行时不但对应用程序本身有要求(如某个运行指令或多个运行脚本的组合),还要提供对诸如虚拟IP、文件系统等资源的支持。 

 

 Failover Domain(错误切换域)  每个Failover Domain都与两个或两个以上的Node(服务器节点)进行绑定,Failover Domain指定了集群中某个Service运行时的范围,也就是指定此Service将会由哪些服务器提供Failover错误切换功能。每个Node都允许与多个Failover Domain进行绑定,也就是说每个Node都可以为多个Service服务,因此可以实现"主动/主动(双活动)"方式的集群配置。 

 

Resources(资源)  Resources指的是组成一个应用所需的各种组件,通常包括:应用程序、虚拟IP、文件系统。资源与Service组合时,往往还会体现出一定的层次关系,例如:通常系统都要求确认虚拟IP及文件系统都已经正常连接及挂载后,才可以运行某个应用程序,这个顺序一旦调转,就会使应用程序运行出错。 

 

Fence机制  在RHCS集群运行时,为了避免因出现不可预知的情况而造成的"脑裂"现象(如:心跳线断连,此时两台服务器都无法找到对方,无法向对方发出操作指令,都各自认为自己是主节点;又或者主服务器系统崩溃,系统能接收到备用服务器的操作指令,但无法返回运行情况的确认信号,导致备用服务器无法获知系统资源的使用情况),系统要求通过Fence机制来保障系统切换时的I/O使用安全。  如上所述,Fence主要就是通过服务器或存储本身的硬件管理接口,又或者是外部电源管理设备,来对服务器或存储发起直接的硬件管理指令,控制服务器或存储链路的开关。因此,Fence机制也被称为"I/O屏障"技术。当"脑裂"发生时彻底断开问题服务器的所有I/O连接,保证问题服务器不能对集群中的I/O资源(共享的文件系统资源)进行任何操作,严格保证集群环境中企业核心数据的完整性。                  

           

 

 

 

 

       集群

关掉所有端口

 dvd.repo【

 

baseurl=http://172.25.9.250/yum

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

# HighAvailability rhel6.5

[HighAvailability]

name=Instructor HighAvailability Repository

baseurl=http://172.25.9.250/yum/HighAvailability

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

# LoadBalancer packages

[LoadBalancer]

name=Instructor LoadBalancer Repository

baseurl=http://172.25.9.250/yum/LoadBalancer

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

# ResilientStorage

[ResilientStorage]

name=Instructor ResilientStorage Repository

baseurl=http://172.25.9.250/yum/ResilientStorage

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

# ScalableFileSystem

[ScalableFileSystem]

name=Instructor ScalableFileSystem Repository

baseurl=http://172.25.9.250/yum/ScalableFileSystem

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

                                                                                                                                    

 

 

 

 

 

 

将所有 server1/2/3 yum原都改为dvd.repo 内容

 

集群    server1  server2  

yum install ricci -y    ricci端口:11111

/etc/init.d/ricci  start

chkconfig  ricci on

/etc/init.d/iptables stop

chkconfig  iptables off   

passwd ricci  用户密码westos】

注意事项

1  date  时间差不多

2  iptables 关掉 ,(设置为开机关掉  )

3  /etc/hosts   真机dns解析

 

 

 

 控制端:server3    yum install luci -y     luci端口:8084

 

/etc/init.d/luci  start

 

 

访问 https//server3.example.com:8084

用户root  秘密redhat

点击 Manage Cluster

add  添加集群

Node Name :server1/2.example.com

hostname :server1/2.example.com

密码westos

 

  

fence

systemctl stop  NetworkManager 关掉,因为和fence不兼容    

真机 yum install fence-virtd* -y【yum search  fence-virtd  来查看要下的包  fence-virtd.x86_64  fence-virtd-libvirt.x86_64  fence-virtd-multicast.x86_64  fence-virtd-serial.x86_64我们的物理机要一个一个来安装】

 

(如果有 /etc/cluster/   rm -f fence_xvm.key )

mkdir  /etc/cluster  

fence_virtd -c

 

Module search path [/usr/lib64/fence-virt]:

 

Available backends:

libvirt 0.1

Available listeners:

multicast 1.0

 

Listener module [multicast]:

 

Multicast IP Address [225.0.0.12]:

 

Multicast IP Port [1229]:

 

Interface [none]: br0

 

Key File [/etc/cluster/fence_xvm.key]

 

Backend module [libvirt]:

 

Libvirt URI [qemu:///system]:

 

 

 dd if=/dev/urandom【没有urandom也可以random】  of=fence_xvm.key bs=128 count=1

 

file fence_xvm.key

systemctl start fence_virtd

systemctl status fence_virtd

netstat -anulp |grep 1229   fence的端口时udp:1229

 

scp fence_xvm.key root@172.25.19.1:/etc/cluster/  key为server1/server2断电时需要(/dev/random此为真机虚拟机管理器的一部分)

scp fence_xvm.key root@172.25.19.2:/etc/cluster/

物理机: virsh list 查看开启的虚拟机

访问 https//server3.example.com:8084

登陆

点击 Fence Devices

add  添加

切回 Nodes  

点击server1/2.example.com

点击  Add Fence install

domain : server1/2或者ID

 

server1/2: clustat 查看集群节点,rgmanager节点管理

分别在 server2/1   fence_node  sever1/2.example.com  给server1/2断电开起

fence 建好    

 

访问 https//server3.example.com:8084

 

登陆

点击  Failover DOmains

Add 添加

 

对勾 Prioritized Order the nodes to which services failover.

对勾 Restricted Service can run only on nodes specified.

对勾 No Failback Do not send service back to 1st priority node when it becomes available again.

Services

httpd

        Members

                Member Priority

server1.example.com     对勾 1

server2.example.com 对勾 10

 点击  Resources

 Name/IP     Type In Use

172.25.9.100/24     IP Address Yes

httpd             Script Yes

点击   Service Groups

Name Status      Autostart                  Failover Domain

httpd Running on  server1.example.com webfail

[

Service Name                       httpd

Automatically Start This Service 对勾

Run Exclusive                         对勾

Failover Domain                webfail

Recovery Policy                        Relocate

]

添加【httpd  vip:172.25.9.100】  为一组

 

 

   

   

添加【httpd  vip:172.25.9.100】  为一组。访问vip,集群会开启优先级高的节点

clustat    查看工作机器(按优先级  priority)

/etc/init.d/httpd        stop   停掉httpd服务

ip addr del 172.25.19.100/24 dev eth0  删掉ip

/etc/init.d/network  stop  停网卡

echo c > /proc/sysrq-trigger  破坏内核

 

 

磁盘/储存分享

 

 

server1/2 客户端

安装  yum install iscsi-* -y

 

/etc/init.d/iscsi start

server3  输出端

 yum install scsi-* -y

cd  /etc/tgt

 

vim  targets.conf  打开配置文件

 

<target iqn.2008-09.comsadieample:server.disk>  名字

    backing-store /dev/sda                 要分享的磁盘位置

        initiator-address 172.25.9.1      二个客户端

        initiator-address 172.25.9.2

</target>

 

 

 

/etc/init.d/tgtd start  打开scsi服务

 

server1/2 客户端          

iscsiadm  -m  discovery -t st -p  172.25.9.3  激活客户端

 

 iscsiadm -m node -l  登陆,才会有分享的磁盘

fdisk -l  查看有无分享的磁盘   (server3个server1/2分享的磁盘的名字必须要相同)

 clusvcadm -d apache 关掉  ( clusvcadm -r  apache  -m server1/2.example.com  切换apache服务的主节点,此为切换到那个机子上)

 

/etc/init.d/clvmd  status  必须开启

 pvcreate /dev/sda   创建pv物理卷     pv        s查看

  vgcreate clustervg /dev/sda  创建物理卷组vg名字叫clustervg   vgs   vgdisplay clustervg查看vg详细信息

lvcreate  -l 2047 -n demo clustervg   总共2047块  名字demo  逻辑卷

 

 mkfs.ext4 /dev/clustervg/demo  格式化ext4 的格式  

 mount /dev/clustervg/demo /mnt/  可以挂载了

此时可以将 磁盘信息 加入luci的图形界面 的 group 里   添加【  vip:172.25.9.100 /dev/clustervg/demo  httpd  】 一组

umount /mnt

 lvremove /dev/clustervg/demo

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值