RHCS的CMAN分布式集群管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHCS的CMAN分布式集群管理相关的知识,希望对你有一定的参考价值。
————————————————————————————————————————————————————————————这里可以忽略:(突然想到的小命令)
小知识点:
# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
# LANG=zh_CN.UTF-8
# yum grouplist
# yum list
# LANG=en
# yum grouplist
# yum provides */pxelinux.0
#yum -y install cmatrix-1.2a-1.i386.rpm(利用yum装本地软件包)
#dd if=/dev/zero of=/myfile bs=1024M count=2
#top -d 1
(按大M P 是按内存和cpu使用排序,按小k 输入pid按两个enter就直接杀死最高的进程)
#dd if=/dev/zero of=/file bs=10M count=2
# du -shl /file
20M /file
# dd if=/dev/zero of=/mm bs=10 count=2 (默认字节)
记录了2+0 的读入
记录了2+0 的写出
20字节(20 B)已复制,0.000273531 秒,73.1 kB/秒
# du -shl /mm
4.0K /mm
#pidof httpd
#kill $(pidof httpd)
lvm逻辑卷 clvm集群逻辑卷
#vim /etc/lvm/lvm.conf 中可设置本地逻辑卷和集群逻辑卷
locking_type=1 (本地逻辑卷)
locking_type=3 (集群逻辑卷)
—————————————————————————————————————————————
___________________________________________________________________________________________
RHCS的CMAN分布式集群管理:
RHCS红帽集群套件
RHCS通过GF文件系统有16个日志区,可以挂载16个地方最多
RHCS核心组件:cman-集群管理器 rgmanger集群资源管理器 corosync集群间通信软件 ricci集群远程管理器
CMAN(分布式集群管理器):运行在全部节点上,提供集群管理任务,用于管理集群成员,消息和通知。根据每个节点的运行状态,统计法定节点数作为集群是否存活的依据
群集管理要工作需要满足法定节点(票数):n/2+1. 当一个共享的节点坏了,可以切换用电源Fence和存储Fence (所以一般最少法定接点为双节点,也就是三台机器,群集管理可以运行)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
heart-beat:心跳
集群存活依据:法定节点计数
采用投票机制,默认每个节点投1票
集群可以工作需要满足的票数是:floor(n/2 + 1)
1.配置三台虚拟机,前两台作为集群节点,第三台用于存储。192.168.4.0/24和192.168.2.0用于存储网络,201.1.1.0/24用于公共网络,201.1.2.0/24用于内部管理
vh01.tedu.cn:
eth0:192.168.4.1/24
eth1:192.168.2.1/24
eth2:201.1.1.1/24
eth3:201.1.2.1/24
vh02.tedu.cn:
192.168.4.2/24
192.168.2.2/24
201.1.1.2/24
201.1.2.1/24
vh03.tedu.cn需要添加一块额外硬盘
192.168.4.3/24
192.168.2.3/24
eth3:201.1.2.3/24
2.配置yum。
[192.168.4.11_pub_iso_]
name=added from: ftp://192.168.4.11/pub/iso/
baseurl=ftp://192.168.4.11/pub/iso/
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=ftp://192.168.4.11/pub/iso/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=ftp://192.168.4.11/pub/iso/LoadBalancer
enabled=1
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=ftp://192.168.4.11/pub/iso/ResilientStorage
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=ScalableFileSystem
baseurl=ftp://192.168.4.11/pub/iso/ScalableFileSystem
enabled=1
gpgcheck=0
# yum repolist
#scp /etc/yum.repos.d/192.168.4.11_pub_iso_.repo [email protected]:/etc/yum.repos.d/
#scp /etc/yum.repos.d/192.168.4.11_pub_iso_.repo [email protected]:/etc/yum.repos.d/
三台yum搭好
3.配置名称解析,在每个节点上都修改hosts文件
# vim /etc/hosts
201.1.1.1 vh01.public.tedu.cn
201.1.2.1 vh01.private.tedu.cn vh01
201.1.1.2 vh02.public.tedu.cn
201.1.2.2 vh02.private.tedu.cn vh02
201.1.2.3 vh03.private.tedu.cn vh03
201.1.2.254 host.tedu.cn
## ping vh02.private.tedu.cn
PING vh02.private.tedu.cn (201.1.2.2) 56(84) bytes of data.
4.关闭NetworkManager
5.在vh03上配置iscsi服务
(添加的硬盘做共享存储先分区)
#parted /dev/vdb
mktab
gpt
mkpart
primary
ext4
1M
-1
quit
(划分这个磁盘所有空间)
#yum install -y scsi-target-utils
#vim /etc/tgt/targets.conf
<target iqn.2017-03.cn.tedu.nsd1611:clu>
backing-store /dev/vdb1
initiator-address 192.168.4.1
initiator-address 192.168.4.2
initiator-address 192.168.2.1
initiator-address 192.168.2.2
</target>
#service tgtd start;chkconfig tgtd on
#tgt-admin -s (必须能看到LUN1,说明共享了)
6.在vh01和vh02上配置iscsi客户端
#yum install -y iscsi-initiator-utils
#man iscsiadm
#iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.3 --discover
#iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.3 --discover
#service iscsi restart
#chkconfig iscsi on; chkconfig iscsid on
7。在vh01和vh02配置多路径
vh01:
# yum -y install device-mapper-multipath
#mpathconf --user_friendly_names n
# scsi_id --whitelisted --device=/dev/sda
1IET 00010001
#vim /etc/multipath.conf
25 defaults {
26 user_friendly_names no
27 getuid_callout "lib/udev/scsi_id --whitelisted --device=/dev/%n"
28 }
29
30 multipaths {
31 multipath {
32 wwid "1IET 00010001"
33 alias mpatha
34 }
35 }
#service multipathd restart; chkconfig multipathd on
#ls /dev/mapper
mpatha 。。。。
#lsblk
vh02:
#yum -y install device-mapper-multipath
vh01:
#scp /etc/multipath.conf [email protected]:/etc/
vh02:
#service multipathd restart; chkconfig multipathd on
#ls /dev/mapper
mpatha 。。。。
#lsblk (发现两条路径)
8.在vh01和vh02上安装ricci
#yum -y install ricci
#echo 123456 |passwd --stdin ricci
#service ricci start; chkconfig ricci on
9.在vh03上安装luci(web管理工具,想在哪管理就安装在哪)
#yum -y install -y luci
service luci start; chkconfig ricci on
10.在物理机上(192.168.4.254)连接https://vh03.private.tedu.cn:8084/ ++++(8804?)
接受信任 用户名是:vh03的root 还有密码
在/etc/hosts/添加:(才能访问)
201.1.1.1 vh01.public.tedu.cn
201.1.2.1 vh01.private.tedu.cn vh01
201.1.1.2 vh02.public.tedu.cn
201.1.2.2 vh02.private.tedu.cn vh02
201.1.2.3 vh03.private.tedu.cn vh03
201.1.2.254 host.tedu.cn
11.
进入web页面后(添加节点):
Node Name Password Ricci Hostname Ricci Port
vh01.private.tedu.cn 123456 vh01.private.tedu.cn
vh02.private.tedu.cn 123456 vh02.private.tedu.cn
12.在物理主机上(192.168.4.254)配置fence服务
# yum -y install fence-virtd fence-virtd-libvirt fence-virtd-multicast
#fence_virtd -c
一直默认出现下面再改
Interface [none]: public2
Backend module [checkpoint]: libvirt
Replace /etc/fence_virt.conf with the above [y/N]? y
# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=4k count=1 (urandom生成的一个4k随机的字符,如果是zero生成的全部是0就是空白,安全系数不高)
记录了1+0 的读入
记录了1+0 的写出
4096字节(4.1 kB)已复制,0.00125856 秒,3.3 MB/秒
[[email protected] 桌面]# scp /etc/cluster/fence_xvm.key [email protected]:/etc/cluster/
[[email protected] 桌面]# ^2.1^2.2
[[email protected] 桌面]# service fence_virtd start; chkconfig fence_virtd on
13.在web页面上配置Fence Devices,先配置Nodes(节点)
14.在web页面上配置failover domain
15.配置web集群资源Resources
1)在两个节点上安装apache,但是不要起服务
2)创建floating ip(vip)资源
3)共享存储:
vh01:
# parted /dev/mapper/mpatha
(parted) mktab gpt
(parted) mkpart primary ext4 1M 10%
(parted) quit
# mkfs.ext4 /dev/mapper/mpathap1
# lsblk
vh02:
# partprobe;multipath -rr
# lsblk
#mount /dev/mapper/mpathap1 /dvar/www/html
#vim /var/www/html/index.html
<marquee><font size="30" color="red">RHCS WEB SITE</font></marquee>
#umount /var/www/html/
16.把资源组合成资源组,资源组就是一个集群服务
在web页面上提交之前,先在vh02上运行
#clustat -i 1
17.验证(当vh02在监控时,可以看到是哪一个节点在跑服务共享,当一台节点挂了,另一台马上切换)
在vh01上查看相关资源
#ip a s eth2(能看到虚ip)
#df
#netstat -anptu |grep :80
#ls /etc/cluster/ 出现apache工作目录
测试服务切换 vh01
#iptables -A INPTU -j DROP (vh01会重启,这时共享节点切在vh02上)
18.再加一个集群管理mysql服务。
在web页面上:1先添加一个mysql的 :failover domain
2.添加mysql的resource: IP Address Script File System (这个虚拟ip是用于内部管理的网段中的ip,也就是和管理接口在一个方向的)
vh01:
#yum -y install mysql-server
# parted /dev/mapper/mpatha
(parted) print
(parted) mkpart primary ext4 5369M 50%
(parted) quit
# mkfs.ext4 /dev/mapper/mpathap2
# lsblk
vh02:
#yum -y install mysql-server
# partprobe;multipath -rr
# lsblk
3.在web页面上:为mysql添加一个server group组,之后把前面所添加的三个资源放在一个组里,提交前,先打开vh02监控页面。再测试,像上面一样
(这里要注意:在2.选择mysql中选择Script 用脚本启动 /etc/init.d/mysqld,设置虚拟ip时,子网掩码用24, 选择文件系统时: /var/lib/mysqld /dev/mapper/mpathap2
本文出自 “12336621” 博客,请务必保留此出处http://12346621.blog.51cto.com/12336621/1907736
以上是关于RHCS的CMAN分布式集群管理的主要内容,如果未能解决你的问题,请参考以下文章