RHCS的CMAN分佈式集羣管理

————————————————————————————————————————————————————————————
這裏可以忽略:(突然想到的小命令)
小知識點:
# cat /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
# LANG=zh_CN.UTF-8
# yum grouplist
# yum list

# LANG=en
# yum grouplist

# yum provides */pxelinux.0

#yum -y install cmatrix-1.2a-1.i386.rpm(利用yum裝本地軟件包)

#dd if=/dev/zero of=/myfile bs=1024M count=2
#top -d 1
(按大M P 是按內存和cpu使用排序,按小k 輸入pid按兩個enter就直接殺死最高的進程)
#dd if=/dev/zero of=/file bs=10M count=2
# du -shl /file
20M    /file
# dd if=/dev/zero of=/mm bs=10 count=2 (默認字節)
記錄了2+0 的讀入
記錄了2+0 的寫出
20字節(20 B)已複製,0.000273531 秒,73.1 kB/秒
# du -shl /mm
4.0K    /mm

#pidof httpd
#kill $(pidof httpd)

lvm邏輯卷    clvm集羣邏輯卷

#vim /etc/lvm/lvm.conf 中可設置本地邏輯卷和集羣邏輯卷
locking_type=1 (本地邏輯卷)
locking_type=3 (集羣邏輯卷)
—————————————————————————————————————————————
___________________________________________________________________________________________

RHCS的CMAN分佈式集羣管理:

RHCS紅帽集羣套件
RHCS通過GF文件系統有16個日誌區,可以掛載16個地方最多
RHCS核心組件:cman-集羣管理器   rgmanger集羣資源管理器   corosync集羣間通信軟件 ricci集羣遠程管理器

CMAN(分佈式集羣管理器):運行在全部節點上,提供集羣管理任務,用於管理集羣成員,消息和通知。根據每個節點的運行狀態,統計法定節點數作爲集羣是否存活的依據
羣集管理要工作需要滿足法定節點(票數):n/2+1. 當一個共享的節點壞了,可以切換用電源Fence和存儲Fence   (所以一般最少法定接點爲雙節點,也就是三臺機器,羣集管理可以運行)
 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
heart-beat:心跳
集羣存活依據:法定節點計數
採用投票機制,默認每個節點投1票
集羣可以工作需要滿足的票數是:floor(n/2 + 1)



1.配置三臺虛擬機,前兩臺作爲集羣節點,第三臺用於存儲。192.168.4.0/24和192.168.2.0用於存儲網絡,201.1.1.0/24用於公共網絡,201.1.2.0/24用於內部管理

vh01.tedu.cn:
eth0:192.168.4.1/24
eth1:192.168.2.1/24
eth2:201.1.1.1/24
eth3:201.1.2.1/24
vh02.tedu.cn:
192.168.4.2/24
192.168.2.2/24
201.1.1.2/24
201.1.2.1/24
vh03.tedu.cn需要添加一塊額外硬盤
192.168.4.3/24
192.168.2.3/24
eth3:201.1.2.3/24

2.配置yum。
[192.168.4.11_pub_iso_]
name=added from: ftp://192.168.4.11/pub/iso/
baseurl=ftp://192.168.4.11/pub/iso/
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=ftp://192.168.4.11/pub/iso/HighAvailability
enabled=1
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=ftp://192.168.4.11/pub/iso/LoadBalancer
enabled=1
gpgcheck=0

[ResilientStorage]
name=ResilientStorage
baseurl=ftp://192.168.4.11/pub/iso/ResilientStorage
enabled=1
gpgcheck=0

[ScalableFileSystem]
name=ScalableFileSystem
baseurl=ftp://192.168.4.11/pub/iso/ScalableFileSystem
enabled=1
gpgcheck=0

# yum repolist
#scp /etc/yum.repos.d/192.168.4.11_pub_iso_.repo  [email protected]:/etc/yum.repos.d/
#scp /etc/yum.repos.d/192.168.4.11_pub_iso_.repo  [email protected]:/etc/yum.repos.d/
三臺yum搭好

3.配置名稱解析,在每個節點上都修改hosts文件
# vim /etc/hosts
201.1.1.1   vh01.public.tedu.cn
201.1.2.1   vh01.private.tedu.cn  vh01
201.1.1.2   vh02.public.tedu.cn
201.1.2.2   vh02.private.tedu.cn  vh02
201.1.2.3   vh03.private.tedu.cn  vh03
201.1.2.254  host.tedu.cn

## ping vh02.private.tedu.cn
PING vh02.private.tedu.cn (201.1.2.2) 56(84) bytes of data.

4.關閉NetworkManager


5.在vh03上配置iscsi服務
(添加的硬盤做共享存儲先分區)
#parted /dev/vdb
mktab
gpt
mkpart
primary
ext4
1M
-1
quit
(劃分這個磁盤所有空間)

#yum install -y scsi-target-utils
 
#vim  /etc/tgt/targets.conf
<target  iqn.2017-03.cn.tedu.nsd1611:clu>
            backing-store  /dev/vdb1
            initiator-address 192.168.4.1
            initiator-address 192.168.4.2
            initiator-address 192.168.2.1
            initiator-address 192.168.2.2

</target>
#service tgtd start;chkconfig tgtd on
#tgt-admin -s (必須能看到LUN1,說明共享了)

6.在vh01和vh02上配置iscsi客戶端
#yum install -y  iscsi-initiator-utils
#man iscsiadm
#iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.3 --discover
#iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.3 --discover
#service iscsi restart
#chkconfig iscsi on; chkconfig iscsid on

7。在vh01和vh02配置多路徑
vh01:
# yum -y install device-mapper-multipath
#mpathconf  --user_friendly_names n
# scsi_id --whitelisted --device=/dev/sda
1IET     00010001
#vim /etc/multipath.conf
 25 defaults {
 26         user_friendly_names no
 27       getuid_callout          "lib/udev/scsi_id --whitelisted --device=/dev/%n"
 28 }
 29
 30 multipaths {
 31        multipath {
 32      wwid    "1IET     00010001"
 33       alias   mpatha
 34 }
 35 }

#service multipathd restart; chkconfig multipathd on
#ls /dev/mapper
mpatha  。。。。
#lsblk


vh02:
#yum -y install device-mapper-multipath

vh01:
#scp /etc/multipath.conf [email protected]:/etc/

vh02:
#service multipathd restart; chkconfig multipathd on
#ls /dev/mapper
mpatha  。。。。
#lsblk (發現兩條路徑)

8.在vh01和vh02上安裝ricci
#yum -y install ricci
#echo 123456 |passwd --stdin ricci

#service ricci start; chkconfig ricci on
9.在vh03上安裝luci(web管理工具,想在哪管理就安裝在哪)
#yum -y install -y luci
service luci start; chkconfig ricci on
10.在物理機上(192.168.4.254)連接https://vh03.private.tedu.cn:8084/       ++++(8804?)
接受信任 用戶名是:vh03的root 還有密碼

在/etc/hosts/添加:(才能訪問)
201.1.1.1   vh01.public.tedu.cn
201.1.2.1   vh01.private.tedu.cn  vh01
201.1.1.2   vh02.public.tedu.cn
201.1.2.2   vh02.private.tedu.cn  vh02
201.1.2.3   vh03.private.tedu.cn  vh03
201.1.2.254  host.tedu.cn

11.
進入web頁面後(添加節點):
Node Name                 Password          Ricci Hostname          Ricci Port     
vh01.private.tedu.cn    123456      vh01.private.tedu.cn    
vh02.private.tedu.cn    123456        vh02.private.tedu.cn



12.在物理主機上(192.168.4.254)配置fence服務


# yum -y install fence-virtd fence-virtd-libvirt fence-virtd-multicast

#fence_virtd -c
一直默認出現下面再改
Interface [none]: public2

Backend module [checkpoint]: libvirt

Replace /etc/fence_virt.conf with the above [y/N]? y

# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=4k count=1  (urandom生成的一個4k隨機的字符,如果是zero生成的全部是0就是空白,安全係數不高)
記錄了1+0 的讀入
記錄了1+0 的寫出
4096字節(4.1 kB)已複製,0.00125856 秒,3.3 MB/秒

[root@room1pc01 桌面]# scp /etc/cluster/fence_xvm.key [email protected]:/etc/cluster/

[root@room1pc01 桌面]# ^2.1^2.2

[root@room1pc01 桌面]# service fence_virtd start; chkconfig fence_virtd on


13.在web頁面上配置Fence Devices,先配置Nodes(節點)
14.在web頁面上配置failover domain
15.配置web集羣資源Resources
1)在兩個節點上安裝apache,但是不要起服務
2)創建floating ip(vip)資源
3)共享存儲:
vh01:
# parted /dev/mapper/mpatha
(parted) mktab  gpt
(parted) mkpart primary ext4 1M  10%

(parted) quit

# mkfs.ext4 /dev/mapper/mpathap1

# lsblk

vh02:
# partprobe;multipath -rr

# lsblk



#mount /dev/mapper/mpathap1 /dvar/www/html

#vim /var/www/html/index.html
<marquee><font size="30" color="red">RHCS WEB SITE</font></marquee>


#umount /var/www/html/

16.把資源組合成資源組,資源組就是一個集羣服務
在web頁面上提交之前,先在vh02上運行
#clustat -i 1

17.驗證(當vh02在監控時,可以看到是哪一個節點在跑服務共享,當一臺節點掛了,另一臺馬上切換)
在vh01上查看相關資源
#ip a  s eth2(能看到虛ip)
#df
#netstat -anptu |grep :80
#ls  /etc/cluster/ 出現apache工作目錄
測試服務切換    vh01
#iptables -A INPTU -j DROP   (vh01會重啓,這時共享節點切在vh02上)

18.再加一個集羣管理mysql服務。

在web頁面上:1先添加一個mysql的 :failover domain
               2.添加mysql的resource: IP Address   Script  File System  (這個虛擬ip是用於內部管理的網段中的ip,也就是和管理接口在一個方向的)
vh01:
#yum -y install mysql-server  
# parted /dev/mapper/mpatha  
(parted) print

(parted) mkpart primary ext4 5369M  50%

(parted) quit

# mkfs.ext4 /dev/mapper/mpathap2

# lsblk

vh02:
#yum -y install mysql-server

# partprobe;multipath -rr

# lsblk

3.在web頁面上:爲mysql添加一個server group組,之後把前面所添加的三個資源放在一個組裏,提交前,先打開vh02監控頁面。再測試,像上面一樣

(這裏要注意:在2.選擇mysql中選擇Script 用腳本啓動  /etc/init.d/mysqld,設置虛擬ip時,子網掩碼用24, 選擇文件系統時: /var/lib/mysqld  /dev/mapper/mpathap2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章