【HA】RHCS + IB + ISCSI+ext4/gfs2

封裝虛擬機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官方文檔)。
瀏覽器




 

緩存

相關文章
相關標籤/搜索