集群学习笔记
集群是由一组在同一个网段下的计算机组成,运行着同样的操作系统,由统一的管理计算机进行配置和管理。所以,首先第一步按照我们的需求,在VMWARE下配制出3台计算机,一台负责管理,另外两台跑集群(同一个网段)。计算机名需要FQDN,并且集群和管理计算机使用同一个域名。
1.1集群架构
这是红帽官方给出的集群架构,每台集群里的计算机配置2个网卡,分别连接外网的交换机和内网的交换机,存储部分由统一的光纤交换机接入存储设备。我使用的VMware虚拟机,所以模拟此存储架构采用iscsi。而外网和内网也统一使用VMware自带的虚拟交换机,并采用NAT方式,外网测试直接由宿主系统(windows xp)访问进行测试,内网管理则由另一台管理计算机来实现。
此图表示的是集群的工作模式,其中node1和node2共同跑的是service1 ,node3和node4跑的是service2,各个node由fencing device来进行管理,我们也将模拟此设备。
1.2iscsi的配置与使用
Iscsi我的理解是一种提供远程调用磁盘的服务,来完成无盘工作站以及达到类似上图光纤交换机存储架构的效果。在RHEL5中由tgtd来提供服务,安装包为scsi-target-utils-版本号.rpm。
A.启动tgtd服务 :service tgtd start
B.设置开机自启动tgtd服务 chkconfig tgtd on
C.服务启动后, 可以查看监听端口: # netstat -tunlp |grep tgtd tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN 2295/tgtd tcp 0 0 :::3260 :::* LISTEN 2295/tgtd 可以看到,默认target server使用的服务端口是tcp 3260。
D.建立target device 利用tgtadm命令来设置
设置一个iqn(iscsi qualified name)命名规范如下表:
新增target device 命令如下: #tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-9.com.clustertest:iscsi-cluster
E.查看 target device
#tgtadm --lld iscsi --op show --mode target
F将磁盘(或者raid 或者逻辑卷)添加到 target device中去
#tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1
G 定义ACL
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.10.101
到这里因为以上命令的配置结果,重新开机后便会消失,而且现版本的target server,Redhat尚未修改成System V服务,如果需要系统重新启动后上述配置仍然有效,只能将以上配置写入/etc/rc.local,让系统每次开机都自动执行一次:
tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-9.com.clustertest:iscsi-cluster
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1
tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.10.101
(客户端配置)
H 安装客户端工具
yum install iscsi-initiator-utils.i386 -y ##安装iscsi客户端
#chkconfig iscsi on &&/etc/iscsi start ##启服务
#iscsiadm --mode discovery --type sendtargets --portal 192.168.10.1 ##发现存储
#iscsiadm --mode node --targetname iqn.2010-9.com.clustertest:iscsi-cluster --portal 192.168.10.1 --login ##连接存储
下面我们来做实验
以及截图:
下面是客户端的连接实验。安装好客户端后:
我们可以看到多了一块sdb。。
试验成功。将命令写入到rc.local中
重启服务器和客户端
服务端,测试成功。
2.1 配置集群
先来看看红帽的官方文档
在RHEL中有两个工具可以用来配置红帽集群:Conga和system-config-cluster,在网上普遍认为system-config-cluster要比conga更好用,conga的反应速度实在是不敢恭维,,尤其是机器配置不是特别高的情况下。。下面都来了解下两种工具的使用情况。
2.1.1
The primary components in Conga are luci and ricci, which are separately installable. luci is a server
that runs on one computer and communicates with multiple clusters and computers via ricci. ricci is
an agent that runs on each computer (either a cluster member or a standalone computer) managed by
Conga.
首先是conga,conga由两部分组成,luci和ricci,luci是跑在集群管理机器上的服务,而Ricci则是跑在各集群节点上的服务,集群的管理和配置由这两个服务进行通信,这有点像iscsi的tgtd服务和iscsi-inivator服务之间的关系
在管理机器上安装luci ,yum源配置为Cluster文件夹就行
在集群节点上安装ricci,yum源不仅是Cluster文件夹还必须有Server文件夹。。(包的依赖性关系),安装完后一定记得要chkconfig on和启动服务
安装完成后打开firefox,在url栏输入https://server1.cluster.com:8084进入下面这个界面,有一种情况无法进入就是证书的识别,可以自己添加信任的证书来跳过此步骤。
选择cluster标签,Create New Cluster菜单如上图,添加集群名字和节点名,如果节点未开启ricci的话,SSL测试会报错的。
点击submit确认,
集群创建界面
出问题了,上图。Google都不知道问题出在哪里,有人提出把share storage 前面的勾去掉,然后继续,结果成功了。。估计是红帽的bug
集群创建完成后出现上图界面,有四个待选页面,general ,fence, mulicast, quorum partition
General ----- 显示集群名称、集群配置的版本号、高级集群属性。
Fence ----- 提供配置 Fence daemon 属性参数的接口。
Multicast ---- 提供配置多播配置属性的接口,这些属性包括:让集群选择默认多播
地址与手工指定多播地址
Quorum Partition ---- 提供配置集群仲裁分区属性的接口
Fence 列表内容:
Multicast 列表内容:
仲裁分区列表内容:
点击 Clusters 栏中的 cluster list ,然后点击集群名称 cluster-001,在左边栏里显示 cluster-001 的配置栏,点击配置功能下节点名称:rs-01.cqh.com 显示节点名称:rs-01.cqh.com的状态:
点击节点:rs-02.cqh.com 显示其状态信息
状态信息显示,当前的状态为 cluster member ,闭幕式显示 cman、rgmanager 当前正在运行 ,并在集群启动时自动启用,如果这两个程序没有运行可以手工在节点上运行启动。
下面开始创建集群的步骤,这里创建的流程步骤如下:Failover domain → cluster resource→ service → Fence device 。
创建 failover domain,点击顶端的 cluster ,在Cluster list 中点击集群:cluster-001,在左下端的 cluster-001 栏中点击 Failover domain | Add a Failover domain ,显示新增 Failover domain 编辑页面:
参数解析:
Failover domain name :Failover domain 名称,建议使用一个易记有代表性的的词语。
Prioritized :在 Failover domain 中启用域中成员优先级设置
Restrict Failover to this domain’s member :在 Failover domain 中启用服务故障切换限制在这个域中的成员。
Do not fail back services in this domain :在这个域中不使用故障回复服务
在Failover domain member 区域勾选 member 处的复选项框,将节点加入 Failover domain,在 priority 处设置成员的优先级别,优先级1的优先级别最高。
点击 submit 按钮提交确定,新增 Failover domain 成功。
创建 resource
在左下端的 cluster-001 栏中点击 Resource | Add a Resource ,显示新增资源页面,在选择资源类型下拉框中选择一个资源类型,这里根据实际情况,选择 IP Address、Scripts\File Systerm
选择IP地址
IP资源创建成功
然后创建 File System resource
创建 scripts resource
创建 service
在左下端的 cluster-001 栏中点击 Service | Add a Service ,显示新增服务编辑页面,在 service name 处输入服务的名称,启用 automatically start this serivce 选项,在Failover domain 中选择Failover domain ,Recovery policy 处选择 Relocate ,分别将IP Address、Scripts、File system 资源添加进服务里面。
添加 Fence Device
在左下端的 cluster-001 栏中点击 Shared Fence Device | Add a Fence Device 显示新增 Fence Device 页面,在 Select a shared fence device 下拉框选择一下Fence Device
这里由于是使用 vmware workstation 进行,所以选择 Virtual machine Fencing
应用 Fence Device
点击Update main fence properties
测试fencing
我晚启动了node1结果集群的状态为
可以看到web service跑在node2上面,重启node2
服务被迁移到node1上面了,实验成功!
PS:由于本人第一次尝试的时候找了好多资料,官方的,个人的才勉强做成功,所以这是为了做笔记第二次重新搭载,有些地方借用了一些资料的原文和内容,如果您在本文看到有些地方和您写过的或者读过的地方类似请见谅!