由于种种原因,不能做实验,这里简述下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

fence使用