一个存储 三个realyserver LB 集群(cman + clvmd + gfs2)
cman RHCS集群的核心进程,维护整个集群包括心跳通信,其它进程都以cman为基础 集群管理
rgmanager 管理集群资源、service
集群配置管理工具RHCS可以通过Luci来配置和管理RHCS集群。Luci是一个基于Web的集群配置方式,通过Luci可以轻松的搭建一个功能强大的集群系统。
集群架构管理器是RHCS集群的一个基础套件,提供一个集群的基本功能,使各个节点组成集群一起工作,具体包括分布式集群管理器(CMAN)、成员关系管理、锁管理(DLM)、配置文件管理和栅设备(Fence)。
GFS (Gllobal File System)
GFS是Red Hat开发的一套集群文件系统,GFS文件系统允许多个服务同时读写一个磁盘分区,通过GFS可以实现数据的集中管理,免去了数据同步和复制的麻烦,但GFS并不能孤立的存在,安装GFS需要RHCS
的底层组件支持。
CLVM (Cluster Logical Volume Manager)
集群逻辑卷管理,是LVM的扩展,这种扩展允许集群中的机器使用LVM来管理共享存储。
gfs2-utils gfs文件系统格式化工具
sg3_utils 是一个Linux的开发包,用来直接使用 SCSI命令集访问设备
准备工作
静态IP
NetworkManager! service NetworkManager stop #rhcs集群不支持networkmanager管理,需要停掉
hostname!
hosts!
iptables
SELinux
ssh trust
ntp
yum(Server, HighAvailability, LoadBalancer,ResilientStorage, ScalableFileSystem)
yum -y install httpd
reboot
[root@storage ~]# cat /etc/yum.repos.d/rhel-source.repo
[HighAvailability]
name=for HighAvailability
baseurl=file:///mnt/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=for LoadBalancer
baseurl=file:///mnt/LoadBalancer
enabled=1
gpgcheck=0
[ResilientStorage]
name=for ResilientStorage
baseurl=file:///mnt/ResilientStorage
enabled=1
gpgcheck=0
[rhe6]
name=rhel6.5
baseurl=file:///mnt
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=for ScalableFileSystem
baseurl=file:///mnt/ScalableFileSystem
enabled=1
gpgcheck=0
/etc/hosts
192.168.2.129 web1
192.168.2.130 web2
192.168.2.131 web3
Ip规划
192.168.1.129 web1
192.168.1.130 web2
192.168.1.131 web3
+++++++++++++++++++++++++++存储服务器端+++++++++++++++++++++++++
storage 192.168.2.133
1. yum -y install scsi-target-utils
2. vim /etc/tgt/targets.conf
<target iqn.2016-11.com.uplook.com:server.target1>
backing-store /dev/sdb1
initiator-address ip
</target>
3. [root@storage ~]# /etc/init.d/tgtd restart
chkconfig tgtd on
tgt-admin --show
netstat -tnlp |grep :3260
+++++++++++++++++++++++++++++存储客户端++++++++++++++++++++++++++
tree /var/lib/iscsi/ 清除之前的配置
添加新的共享(当前有initiator端正在使用)
tgt-admin --force --update ALL 新增强制更新
web1 web2 web3
yum -y install iscsi-initiator-utils
发现存储web1 web2 web3
[root@web1 ~]# iscsiadm -m discovery -t st -p 192.168.2.133
正在启动 iscsid: [确定]
192.168.2.133:3260,1 iqn.2016-11.com.uplook.com:server.target1
[root@web1 ~]# /etc/init.d/iscsi restart
停止 iscsi: [确定]
正在启动 iscsi: [确定]
tree /var/lib/iscsi/ 节点发现信息
login登入存储
方法一:登入指定的存储
web1 iscsiadm -m node -T iqn. -l
方法二:登入所有的(/var/lib/iscsi/)
service iscsi restart
ll /dev/sda
brw-rw----. 1 root disk 8, 0 Aug 12 06:43 /dev/sda
集群级逻辑卷
随便一台安装Luci
storage
yum install luci -y 8084
[root@storage ~]# /etc/init.d/luci restart
web1/2/3上安装ricci
yum install ricci -y
[root@web1 ~]# /etc/init.d/ricci start ; chkconfig ricci on;echo 1 |passwd --stdin ricci (web1/web2/web3)
luci需要解析三个主机名
luci主机管理员密码
root
1
创建集群
manager clueter--create
无法创建集群 可能是Iptables 可能是没有hosts解析
The following errors occurred while creating cluster "web-server": Error receiving header from 192.168.2.129:11111, Error receiving header from 192.168.2.130:11111, Error receiving header from 192.168.2.131:11111
如果不选择down就选择Yum cman rgmenager lvm2-cluster sg3_utils gfs2-utils
会自动重启后端web1 web2 web3
cman Running
rgmanager Running
ricci Running
modclusterd Running
clvmd
集群进程
cman 集群管理
Cluster Manager,简称CMAN,是一个分布式集群管理工具,它运行在集群的各个节点上,为RHCS提供集群管理任务。
rgmanager 资源管理
RHCS通过rgmanager来管理集群服务,rgmanager运行在每个集群节点上,在服务器上对应的进程为clurgmgrd。
Conga是一种web集群配置工具,与system-config-cluster不同的是,Conga是通过web方式来配置和管理集群节点的。
Conga有两部分组成,分别是luci和ricci,luci安装在一台独立的计算机上,用于配置和管理集群,ricci安装在每个集群节点上,Luci通过ricci和集群中的每个节点进行通信。
modclusterd是Conga一个组件
luci安装在一台独立的计算机上,用于配置和管理集群
riccci 安装在每个集群节点上,Luci通过ricci和集群中的每个节点进行通信。
CMAN用于管理集群成员、消息和通知。它通过监控每个节点的运行状态来了解节点成员之间的clvmd 集群逻辑卷
CMAN用于管理集群成员、消息和通知。它通过监控每个节点的运行状态来了解节点成员之间的关系,当集群中某个节点出现故障,节点成员关系将发生改变,CMAN及时将这种改变通知底层,进而做出相应的调整。
clvmd:用在集群中的逻辑卷
The following errors occurred while creating cluster "web-server": web1 is already a member of a cluster named "web-server" 重复 删除配置文件
• 配置文件管理(CCS)
Cluster Configuration System,简称CCS,主要用于集群配置文件管理和配置文件在节点之间的同步。CCS运行在集群的每个节点上,监控每个集群节点上的单一配置文件/etc/cluster/cluster.conf的状态,当这
个文件发生任何变化时,都将此变化更新
到集群中的每个节点,时刻保持每个节点的配置文件同步。例如,管理员在节点A上更新了集群配置文件,CCS发现A节点的配置文件发生变化后,马上将此变化传播到其它节点上去。
==================================================================================================================================================
web1可以直接分区 也可以配置逻辑卷
/etc/init.d/clvmd status 有clvmd进程 有两种选择 要么直接格式化不能扩容 要么做逻辑卷
lv ---->web_lv
pvcreate /dev/sdc
vgcreate vg0 /dev/sdc
lvcreate -n web_lv -L 1G vg0
其它节点lvsan
cman _tool status
[root@web1 ~]# cman_tool status
Version: 6.2.0
Config Version: 1
Cluster Name: web-server
Cluster Id: 12240
Cluster Member: Yes
Cluster Generation: 16
Membership state: Cluster-Member
Nodes: 3
Expected votes: 3
Total votes: 3
Node votes: 1
Quorum: 2
Active subsystems: 9
Flags:
Ports Bound: 0 11 177
Node name: 192.168.2.129
Node ID: 1
Multicast addresses: 239.192.47.0
Node addresses: 192.168.2.129
cluster staus
[root@web1 ~]# clustat status
Cluster Status for web-server @ Sun Nov 6 23:08:42 2016
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
192.168.2.129 1 Online, Local
192.168.2.130 2 Online
192.168.2.131 3 Online
[root@web1 ~]# mkfs.gfs2 /dev/vg0/web_web -t web-server:lp -p lock_dlm -j 4 (-t锁表的名称 -p 分布式锁 -j日志数量)
8.在所有web上手动挂载测试
[root@web1 ~]# mount /dev/vg0/web_web /mnt/
只做存储集群 不做资源管理
gfs2_tool -h
gfs_jadd -h 添加日志
扩展:Iscsi 基于IQN实现访问控制
1. Targer授权指定的IQN连接
2. 客户端使用被授权的IQN连接
[root@uplook ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2015-08.com.uplook:client1
[root@uplook ~]# service iscsid restart
clustat #查看每个节点集群活动状
ccs_test connect #检测是否连接成功
ccs_tool检测运行状态是否正常
ccs_tool lsfence
提示:
1、每个节点上必须启动clvmd服务,不然无法挂载/dev/myvg1/halv到/data
2、确保每个节点的cman、rgmanager、ricci、modclusterd、clvmd服务能正常启动,若不能启动则要手动将服务启动起来;并设置开机自动启动。
Service cman status (start,stop)
Service rgmanager status (start,stop)
Service clvmd status (start,stop)
3、动态查看群集服务日志
tail –f /var/log/messages
lvmconf --enable-cluster #启动集群
service clvmd restart #重新加载集群