封装虚拟机BASE(母机):
1. 删除自启动项 /etc/udev/rules.d/70-persistent-net.rules 这样网络设备就为eth0,而不是eth1
2. 更改网络配置文件 vi /etc/sysconfig/selinux 设置为不启用
3. 禁止网络功能 chkconfig iptables off
3.1 网络启动方式:/etc/init.d/iptavlesstop|start|restart
service iptablesstop|start|*
4.配置 yum源并下载ssh
5.更更名称 hostnameXXX.example.com 文件更改 vi /etc/sysconfig/network
6.删除ssh公钥 rm -fr/ssh_host_*
7.删除缓存 rm -fr /tmp/* rm -fr /var/cache/*
8.切记 关闭后再也不启动
***********************************************
一. **************** HA(高可用架构) *************
************** RHCS + IB 高可用+负载均衡 ************
*******************************************************
html
简介:该高可用构架使用的RHCS套件,其中服务设定为httpd。启用了fence,并使用ISCSI存储。文件共享机制使用的是ext4 或 gfs2,两种方式有操做和演示。在文档中即有原理解释,并且还有细节操做。node
(一)
linux
1. M
/ \
/ \
/ \
HA1 <---------> HA2
1.配置好yum,经过iso(rhel6.5)将yum中的组件,Server,HighAvailability,LoadBalancer,ResilientStorage,ScalableFileSystem,写入yum源。 【每一个集群机器都要 配置好,包括管理机】
[Server]
name=Red Hat Enterprise LinuxServer
baseurl=http://172.25.254.251/pub/rhel6.5
enabled=1
gpgcheck=0
[HighAvailability]
name=Red Hat Enterprise LinuxHighAvailability
baseurl=http://172.25.254.251/pub/rhel6.5/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=Red Hat Enterprise LinuxLoadBalancer
baseurl=http://172.25.254.251/pub/rhel6.5/LoadBalancer
enabled=1
gpgcheck=0
[ScalableFileSystem]
name=Red Hat Enterprise LinuxScalableFileSystem
baseurl=http://172.25.254.251/pub/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=0
[ResilientStorage]
name=Red Hat Enterprise LinuxResilientStorage
baseurl=http://172.25.254.251/pub/rhel6.5/ResilientStorage
enabled=1
gpgcheck=0
2. 集群机 HA1,HA2
(1)下载 yuminstall -y ricci
(2)设置 ricci 密码,ricci端口(11111)
(3)启动服务/etc/init.d/ricci start; chkconfig ricci on
(4)clustat 命令能够查看 集群上的运行点
3. 管理机
(1)下载 yuminstall -y luci(8084)
(2)启动luci
使用Conga 管理
4. 域名对应 写在/etc/hosts中 (把所用的HA1,HA2,管理机的ip和hostname相对性)
172.25.254.161 server1.example.com
172.25.254.162 server2.example.com
172.25.254.163 server3.example.com
172.25.254.60 foundation60.ilt.example.com
5. 用浏览器访问管理机的8084端口
https://server3.example.com:8084
(1)用root用户登陆
(2)create集群,把HA1,HA2添加进去 (在建立HA1,HA2用的是相应 ricci 的密码)
6.全部的操做都在文件记录下
/etc/cluster/cluster.conf
(二)配置Fence守护进程属性
Fence守护程序,防止Storage(存储)损坏,因为机群中某节点异常,处于不能彻底断开网络转入其它节点的状态。至此,添加Fance,防止节点异常影响Storage发生错误崩溃。
1.在Fance Devices中添加 Fencevirt(Multicast Mode)(虚拟Fence多波设备),而且添加相应的名称。
设置的信息会自动载入/etc/cluster
2.在主机上下载fence软件,即用来控制虚拟机的状态
基本软件: fence-virtd-multicast-0.3.2-2.el7.x86_64
fence-virtd-libvirt-0.3.2-2.el7.x86_64
fence-virtd-0.3.2-2.el7.x86_64
3.初始化 fence_virtd -c 【其它的默认,但在网络设备设置时使用主机的话就要设置 br0】
4.开启服务 libvirtd 和 fence_virtd
5.在主机中建立 /etc/cluster 目录。
制做一个 key 发送给本身的 HA1 和 HA2,以保护 HAcluster
dd if=/dev/urandomof=/etc/cluster/fence_xvm.key bs=128 count=1
6.着手在 HA1 和 HA2 中添加 fence设备,分别命名为 fence-1,fence-2。
7.查看虚拟机的 uuid 而且写入Add FenceDevice 信息中。
查看uuid的方法,(1)打开虚拟管理软件 查看虚拟机信息
(2)virsh list --uuid (应该是按照启动的机器顺序所显示的)
【切记添加完成以后 重启fence_virtd 服务】
8.关闭节点机器方式 fence_node + 主机名称
fence_node server1.example.com
(三)Add FailoverDomain to Cluster 添加机群机组
Prioritized 优先级
Restricted 只在指定节点切换
NO Failback (恢复回切)[节点fence启动后,是否将服务换回来]
Run Exclusive 独占(上面只能运行一个服务)
启动:先启动IP 再启动服务,如果启动服务里有存储,先启动存储再启动服务。
(1) 填写名称,
勾选,Prioritized(数字越小越高,正整数),Restricted,NO Failback。
却认选择节点,而且设置优先级。
(四)Add Resource to Cluster,向集群添加资源
(1)添加 IP Address和掩码, 添加同网段IP。选择sleep重启时间(小点也能够)。
(2)添加服务,(测试选择 Script),在节点上下载(httpd服务),
Name:httpd
Full Path to ScriptFile:/etc/init.d/httpd
(5)Add Service Group to Cluster,添加服务
Name : web
~Service(自启): 勾选
~Exclusive(独占): 勾选
~Domain:webfail
~Policy(策略):Relocate
【在下面的添加里 再添加本身设定的 *IP 和 *服务】
*用命令在有服务的节点中启动 clusvcadm -e web [关闭命令是 -d]
(6)测试,在节点中写 .html 文件,看浏览器访问到的内容;人为中止服务,测试fence是否其效果,切换时长等。
方法: echo c> /proc/sysq-trigger 用夯主服务器的方式使得fence起效果,并查看集群是否成功切换节点服务。
(五)增长 ISCSI存储
(1)在管理机上添加一个虚拟存储设备
(2)在管理机上:yum install -y scsi-target-utils.~
节点机上:yuminstall -y iscis-initiator-utils.~
(3)在管理机/etc/tgt/targets.conf 配置文件,并开启/etc/init.d/tgtd 服务。
38 <target iqn.2017-02.com.example:server.target1>
39 backing-store /dev/vdb
40 initiator-address 172.25.254.161
41 initiator-address 172.25.254.162
42 </target>
测试:tgt-admin-s [查看,载入配置文件信息]
(4)在节点机上,iscsiadm -m discovery -t st -p172.25.254.163,同步163机上分享的设备块。
iscsiadm -m node -l 链接到分享的设备节点上,供其使用
(5)建立存储(LVM)分区在一个节点机上 fdisk -cu /dev/sda,在分区类型选择时,选择8e(LVM类型)。
(6)须要在两台节点机都同步分区表(partprobe),而且能够 cat /proc/partitions 能够查看设备是否同步。
(六)在ISCSI上面附加Apache服务,存储方式位ext4,使用clvmd,自动挂载
(1)/etc/init.d/clvmd status (这个应该在上述操做中默认开启)
(2)/etc/lvm/lvm.conf (其中类型变成3)
(3)制做lvm(一个节点机就可):
pvcreate /dev/sda1 (pvs查看)
vgcreate clustervg /dev/sda1(vgs查看)
lvcreate -L 4G -n demo clustervg (lvs查看)
mkfs.ext4/dev/clustervg/demo
(4)Add Resource to Cluster
添加: Filesystem
Name: webdate
~ Type:ext4
MountPoint:/var/www/html
~or UUID:/dev/clustervg/demo
..
~ Unmount(容许强制卸载):勾选
..
~ Checks:勾选
~ Fails :勾选
(5)关闭服务,并把Filesystem加入策略中,先加入这个存储(webdate),再加入服务(Script)
clusvcadm -d web 关闭服务
clusvcadm -e web 开启服务
(6)作切换节点机测试(查看服务是否能够在两个节点机同时进行)
1.在此以前你能够在挂载点 写一个index.html文件
2.切换命令 clusvcadm -r web -mserver2.example.com
(7)LVM扩容文件系统
lvextend -L +4G/dev/clustervg/demo
resize2fs /dev/clustervg/demo
(七)在机群上使用gfs2(共享文件系统)作存储
(1)首先关闭服务
(2)在Service Groups中 移除Filesystem,而且在 Resources 中 删除webdate
(3)卸载并移除lvremove /dev/clustervg/demo,将其制做为gfs2文件系统(所用协议为:lock_dlm;日志为3个,日志个数=集群节点+1,名称=集群名称+文件系统名)
mkfs.gfs2 -p lock_dlm -j 3-t hxl_HA:mygfs2 /dev/clustervg/demo
(4)两台机器都挂载: mount /dev/clustervg/demo /mnt/
确保开启clvmd服务。
开机自动挂载(/etc/fstab)【网络文件类型:_netdev】
/dev/clustervg/demo /var/www/html gfs2 _netdev 0 0
(5)测试,在此挂载点/mnt/写的文件 两个节点机 是相同的。
关闭web。
gfs2_tool sb/dev/clustervg/demo all [查看信息]
gfs2_tool journals/dev/clustervg/demo [查看日志信息]
gfs2_jad -j 3/dev/clustervg/demo [再添加3个日志文件]
mount -a [从新加在]
df -h [查看,近尺寸单位有问题]
这个文件系统也支持 lvextend扩充,用gfs_grow扩充
web
【常见问题概括】
1.tgt首先启动在管理机上 , 这样集群的 iscsi(iscsid是它的后台系统)才能起来。
2.cman便是“心跳传递(corosync)”
corosync -> heartbeat v1 v2 v3keepalived(vrrp协议) [“心跳版本”]
【总结】
1.cman(corosync) (ccsd保证配置文件一至)/etc/cluster/cluster.conf
2.存储iscsi,文件系统 afs2,ext4
3.fence
4.faildomain(故障切换域)
CCS命令 也能够命令操做配置文件的更改(详情请看RedHat6.5 Cluster官方文档)。
浏览器
。
缓存