由于种种原因,不能做实验,这里简述下GUI的虚拟化集群
nat:宿主机要打开ip_forward功能,这样才能与外网通信。 进入/etc/libvirt/qemu/network/default.xml cp default.xml net1.xml vim net1.xml 修改的地方name=net1,uuid,bridge name,mac,ip address真机的ip,range虚拟机的ip分配范围 cd autostart目录下ln -s ../net1.xml ./ service libvirtd restart 进入虚拟机对应的xml文件,修改网络部分即可
桥接:1.关闭NetworkManager 2.cp ifcfg-eth0 ifcfg-br0 3.vim ifcfg-br0 DEVICE=br0 TYPE=Bridge 4.vim ifcfg=eth0 IPADDR,NETMASK,GATEWAY,DNS全部删掉先 添加:BRIDGE=br0 5.service network restart 进入虚拟机对应的文件,修改网络部分即可 *(修改虚拟机文件是需先关闭虚拟机)
基于GUI的虚拟集群
selinux和iptables关闭,然后做下ntp时间同步
1.yum install -y luci ricci(第二个节点只需要安装ricci)
或者yum groupinstall -y "High Availablity"(两个节点都做)
2.service luci start(luci是图形化管理)
3.service ricci start(两个节点都设密码)
4./etc/cluster/cluster.conf(主配置文件)
或者访问https://你机器的ip:8084
你机器的用户和密码
接下来全是在GUI里配置,鼠标点点
5.create (创建集群)
cluster name---集群名称
node name 节点名
选择download packages自动装包
6.clustat(查看集群状态)
7.fence devices(创建两个虚拟fence设备与真机相关联)
fence virt
8.点击节点名称进入设置,添加一个虚拟fence,取名选择之前创建好的fence(两节点都做)
9.添加failover domain(失效域)
name
restricted(勾选上)
两个节点勾选上
10.resources(资源)
ip address x.x.x.100 (VIP)
netmask 24
再添加一个script
name httpd
full path /etc/init.d/httpd
11.service groups
service name
automatically start this service (勾选上)
failover domain
recovery policy 选择一种操作即可
add child resource
VIP
http (节点上要先装好包)
12 打开网页,访问x.x.x.100 即可访问到某一节点的网站
GUI结束
13.故障切换前,要做一个fence验证(这里给个链接去看下怎么配置,提醒一点)
1.必须在你的宿主机做此操作,然后将key文件分别复制到对应节点的路径下,路径一定不能错
14.命令行添加节点
1.修改/etc/cluster/cluster.conf
版本号+1
下面的节点文件增加一个新节点
15.cman_tool version -r(同步版本号)
16.新加节点启动三个服务,cman rgmanager modclusterd
17.clusvcadm -r web名 -m 新节点(将服务迁移到新节点上)
18新节点将fence设备拉取过来
19.发现问题,当连续关闭两个节点后,第三台节点不会向外提供服务,这里就牵扯到权重问题
20.仲裁盘:
新开一台机器,添加一块磁盘,分区给他100M空间
yum install -y scsi*
vim /etc/tgt/targets.conf
在第38行左右将backing-store的路径改成你的分区,上下两行也同时开启,三行为一个例子。
service tgtd start
chkconfig tgtd on
21.node1-3
安装iscsi*
iscsiadm -m discovery -t st -p node4
iscsiadm -m node -l
mkqdisk -c /dev/你的新盘 -l 仲裁盘名称
22.service luci stop
rm -f /var/lib/luci/data/luci.db
service luci start
GUI
23.直接add一个集群,然后点击最后的configure
qdisk 添加使用quorum disk
by device label--仲裁盘名称
heuristics
/bin/ping 宿主机ip -c 1
interval 10 (每10秒ping一次)
score 1 (ping通加一分)
tko 2 (ping两次ping不通就废掉他)
minimum total score 1 (最小值为1)
24.共享存储
1.每个节点都去挂接nfs,给对应的用户权限
2.哪个节点对外提供服务就挂接nfs
在GUI里,点解resources,添加nfs/cifs mount
name --起个名
mount point---挂接本地那?
host ---nfs服务器ip(走内网最好)
nfs export directory name or cifs share(nfs服务器的哪个文件?)
25.service groups添加resources的nfs名称即可
26.高可用已完成,然而怎么保证高可用的基础上实现负载均衡呢?硬件的负载均衡排除,在linux系统上做lvs也可以做负载均衡,实现成本降低。
27.lvs是基于内核工作,在编译内核时将lvs功能加进去,可以以文件的形式存在,也可以使用模块的方式加载起立使用。软件是用来定义规则,内核用来定义功能。
28.lvs-nat(两个节点都要做)
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
yum groupinstall -y "Load Balancer"(如果没有该组包,自己找yum源)
piranha-passed(设密码)
service piranha-gui start
29.打开网页ip:3636访问
GLOBAL SETTINGS
公网ip
内网ip
模式--nat
router ip 内网ip最后一位改成254
device eth1:1
REDUNDANCY
另一台机器的公网内网ip
VIRTUAL SERVERS
添加规则,打开规则,编辑规则
name
port
protocol
VIP
device eth0:1(子接口)
REAL SERVER
添加两个内网网口
MONITORING SCRIPTS
第一个 /bin/ceshi %h
第三个 yes
在本机
yum install -y links(两台都装)
vim /bin/ceshi
#!/bin/bash
/usr/bin/links -dump 1 $1 > /dev/null 2>&1
if [ 0 -eq $? ] ; then
echo yes
else
echo no
fi
chmod +x ceshi
scp /etc/sysconfig/ha/lvs.cf 另一台机器
scp /bin/ceshi 另一台机器
service pulse start(两台都起)
通过eth1登录到机器(两台机器一样)
ifdown eth0
route add default gw x.x.x.1
route add default gw x.x.x.254
service httpd start