Linux ·

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/秒

[root@room1pc01 桌面]# scp /etc/cluster/fence_xvm.key [email protected]:/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

参与评论