阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

RHCS的CMAN分布式集群管理

121次阅读
没有评论

共计 6395 个字符,预计需要花费 16 分钟才能阅读完成。

这里可以忽略:(突然想到的小命令)
小知识点:
# 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  root@192.168.4.2:/etc/yum.repos.d/
#scp /etc/yum.repos.d/192.168.4.11_pub_iso_.repo  root@192.168.4.3:/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 root@201.1.1.2:/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/ 秒

[root@room1pc01 桌面]# scp /etc/cluster/fence_xvm.key root@201.1.2.1:/etc/cluster/

[root@room1pc01 桌面]# ^2.1^2.2

[root@room1pc01 桌面]# 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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141897.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6395字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中