集群管理高可用(HA)

                         (红帽企业6.5系统)

在做集群节点之前,要将每个节点的火墙刷掉,selinux关掉。集群的节点至少两个。

iptables -F 
 /etc/init.d/iptables save 
 要在每个节点及管理的主机上做解析  vim /etc/hosts 
 将yum源重新配置,因为现在的yum源默认的是镜像中的server包,而集群配置所需要的包在“高可用”包中。 
 cd /etc/yum.repos.d/
      ls
     lftp i   get dvd.repo
      ls
      rm -fr yum.repo 
     rm -fr rhel-source.repo 
      ls 
      yum clean all
 现在需要在两个集群节点上安装集群配置的服务 ricci,两个节点的时间必须同步 
  yum install ricci -y 图形化的配置集群的服务 
 需要给ricci服务设置密码 
 passwd ricci 
 现在将ricci启动,并将它设置为开机启动 
 /etc/init.d/ricci start 
 chkconfig ricci on 
 在集群节点管理机上安装luci服务,它可以提供一个web网页来管理集群节点 
 yum install luci -y图形化的配置集群的服务 
 将此服务启动 /etc/init.d/luci start      
  
 在web上打开这个链接 https://desktop14.example.com:8084 这是luci的开启自动给出的 ,然后用超户密码登录,再给其他用户授权,这些用户必须是 
 本机有的。 
  
 
   
 
  
   
隔离设备 
  
 
fence device 隔离设备   用kvm虚拟机来做这个隔离设备,可以进行forceoff的
 这个只是模拟的 
 需要在管理集群节点的机子上安装隔离设备的包 
 yum install fence-virt fence-virtd fence-virtd-libvirt fence-virtd-multicast -y

 # fence_virtd -c 设置隔离设备
 Module search path [/usr/lib64/fence-virt]:
 Available backends:
 libvirt 0.1
 Available listeners:
 multicast 1.0
 Listener modules are responsible for accepting requests
 from fencing clients.
 Listener module [multicast]:
 The multicast listener module is designed for use environments
 where the guests and hosts may communicate over a network using
 multicast.
 The multicast address is the address that a client will use to
 send fencing requests to fence_virtd.
 Multicast IP Address [225.0.0.12]:
 Using ipv4 as family.
 Multicast IP Port [1229]:
 Setting a preferred interface causes fence_virtd to listen only
 on that interface. Normally, it listens on all interfaces.
 In environments where the virtual machines are using the host
 machine as a gateway, this *must* be set (typically to virbr0).
 Set to 'none' for no interface.
 Interface [none]: br0
 The key file is the shared key information which is used to
 authenticate fencing requests. The contents of this file must
 be distributed to each physical host and virtual machine within
 a cluster.
 Key File [/etc/cluster/fence_xvm.key]:
 Backend modules are responsible for routing requests to
 the appropriate hypervisor or management layer.
 Backend module [libvirt]:
 The libvirt backend module is designed for single desktops or
 servers. Do not use in environments where virtual machines
 may be migrated between hosts.
 Libvirt URI [qemu:///system]:
 Configuration complete.
 === Begin Configuration ===
 backends {
 libvirt {
 uri = "qemu:///system";
 }
 }
 listeners {
 multicast {
 key_file = "/etc/cluster/fence_xvm.key";
 interface = "br0";
 port = "1229";
 address = "225.0.0.12";
 family = "ipv4";
 }
 }
 fence_virtd {
 backend = "libvirt";
 listener = "multicast";
 module_path = "/usr/lib64/fence-virt";
 }
 === End Configuration ===
 Replace /etc/fence_virt.conf with the above [y/N]? y
 注:以上设置除“Interface”处填写虚拟机通信接口外,其他选项均可回车保持默认。
 dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1
 scp /etc/cluster/fence_xvm.key node1:/etc/cluster
 scp /etc/cluster/fence_xvm.key node2:/etc/cluster
 service fence_virtd start         chkconfig fence_virtd on
 # netstat -anulp |grep fence
 udp
 0
 0 0.0.0.0:1229


现在在网页管理上添加隔离设备

可以手动隔离一个节点,另一各节点可以热接管

fence_xvm -H joan

添加错误维护域

添加资源

黑群晖docker 小雅 黑群晖 apu_ci

添加服务组

黑群晖docker 小雅 黑群晖 apu_黑群晖docker 小雅_02

再节点上执行的命令,

clusvcadm -d sss   关闭此服务组
   clustat  查看节点和服务的状态
   clusvcadm -e sss  开启此服务组

刚刚添加了apache服务

所以要在每个节点上安装apache服务

为了区分两台内容可以重新编辑一下默认访问主页

cd /var/www/html/

 echo `hostname` > index.html

ok现在可以在web网页上访问 刚刚添加的那个ip服务,他是一个浮动ip

192.168.2.77

就可以看到你做的那个优先级高的再接管服务

如果将这个节点上的http关掉,那末那个优先级低的候补立马接管

如果ifconfig eth0 down 是这个节点的网可关掉,他会尝试恢复,如果恢复不了,他就会被集群forceoff,然后重启当替补,如果优先级高的话,那末他就会立即接管

   给集群管理加存储服务

在一个存储服务器上共享一块硬盘,作为存储(在实验中,就直接在集群管理的那台服务器上共享一块硬盘)

yum install scsi-*
 vgs
 lvcreate -L 1G -n iscsi cinder-volumes
  lvs
 vim /etc/tgt/targets.conf

黑群晖docker 小雅 黑群晖 apu_ci_03

 /etc/init.d/tgtd start

chkconfig tgtd on

在节点上要可以发现这个共享的存储设备 ,在所有的节点上都得执行

yum install iscsi-*

iscsiadm -m discovery -t st -p 192.168.2.14

fdisk -l /dev/dev

  iscsiadm -m node -l   激活设备

 1.现在在一个节点上给此设备做 分区和格式化 (做本地文件系统 ext4)

fdisk -cu /dev/sda

mkfs.ext4 /dev/sda1

现在将此设备先挂载到/var/www/html下

给设备上写入东西,方便访问

现在解挂 umount /var/www/html

交给集群管控,哪台工作,哪台被挂

在web管理界面上添加存储设备资源和资源组  先关闭资源组


再去资源组添加此资源

ok现在开启服务组

clusvcadm -e sss

   2.现在在一个节点上给此设备做 分区和格式化 (做网络文件系统 gfs2)

clusvcadm -d sss   先停掉服务组

删掉服务组里的文件系统资源去掉,再到资源里删掉存储设备资源

fdisk -cu /dev/sda  把它做成LVM形式

t 8e p  w

pvcreate /dev/sda1

lvmconf --enble-cluster 在 /etc/lvm/lvm.conf做更改,使它可以支持集群

重启服务  /etc/init.d/clvmd restart

格式化为gfs2的格式 -t跟更集群的名字:后是标签

(1)这中挂载是开机自动挂载 直接写入/etc/fstab 在所有节点都做这个操作

查看系统设备信息

黑群晖docker 小雅 黑群晖 apu_黑群晖docker 小雅_04

vim /etc/fstab 
  
 现在mount -a 刷此文件,同时挂载 
 cd /var/www/html 
 vim index.html  写东西来测试web测试  
 访问集群配的ip资源 的ip 192.168.2.77可以看到 
   
  ok现在开启服务组  
 
   
 
 clusvcadm -e sss 
 
   
 
 (2)直接在web管理上面添加 
 clusvcadm -d sss   先停掉服务组  
  在/etc/fstab中注释掉gfs2设备的挂载  ,解挂 
 现在在资源加存储设备资源,集群管控 加服务组 
  
 
 
   
  ok现在开启服务组  
 
   
 
 clusvcadm -e sss 
 
   
  
 
 现在哪个节点工作,那个节点挂载 
 前提:clusvcadm -d sss 删掉原来的存储设备
     lvs
     vgs
     vgremove clustervg
     lvs
     pvs
    pvremove /dev/sda1
    iscsiadm -m node -u
     iscsiadm -m node -o delete
      多路经存储(在一做存储的服务器上共享一快存储磁盘设备,在这个服务器上加一块虚拟磁盘,加一个虚拟网卡) 
 将这个虚拟磁盘共享出去 
 yum install scsi-* 
 vim /etc/tgt/targets.conf 
 
    /etc/init.d/tgtd start
 配置另一快网卡cd /etc/sysconfig/network-scripts/
    ls
    cp ifcfg-eth0 ifcfg-eth1 
 /etc/init.d/network restart 
  在所有节点上 登入这个共享设备 多路登入 做冗余 
 iscsiadm -m discovery -t st -p 192.168.2.43
   iscsiadm -m node -p 192.168.2.43 -l
   iscsiadm -m discovery -t st -p 192.168.2.245
    iscsiadm -m node -p 192.168.2.245 -l
    fdisk -l
    device-mapper-multipath
    yum install device-mapper-multipath
    ( multipath --enable(这个只需要在一个节点上做,其他的复制这个配置文件)
 vim /etc/multipath.conf  
  
 ) 
 /etc/init.d/multipathd start   启动多路映射服务
  scp /etc/multipath.conf 192.168.2.49:/etc/ 复制给另一节点 
 multipath -l 查看多路映射设备信息 
 fdisk -cu /dev/mapper/mpatha  在这个设备上做主分区(在一个节点上做,其他节点会同步) 
 cat /proc/partitions 看是否分区刷新成功(所有节点都做) 
   partprobe 没有的话刷新就刷新 
  
 mkfs.ext4 /dev/mapper/mpathap1 格式化 
  mount /dev/mapper/mpathap1 /var/www/html挂载测试 写个东西
    cd /var/www/html
    ls
    vim index.html
 在web管理上添加 存储设备资源 和服务组 
  
  
   
  ok现在开启服务组  
 
   
 
 clusvcadm -e sss 
 
  测试 192.168.0.77

如果一个网卡down掉的话 存储就会跳到另一条路。