HA 集羣配置

HAhtml

實驗環境node

server1  172.25.23.1 ricci ( 集羣配置 )  客戶端mysql

server2  172.25.23.2 ricci              客戶端linux

server3  172.25.23.3 luci ( 管理集羣 ) 服務端sql

注意 iptables selinux 關掉apache

       三臺機器所有加上解析 vim

 Rhel6.5瀏覽器

###############################################負載均衡

安裝軟件dom

1.配置yumserver1 server2 server3 

[root@server1 ~]# cat /etc/yum.repos.d/rhel-source.repo

[Server]

name=localserver

baseurl=http://172.25.23.23/rhel

gpgcheck=0

 

[HighAvailability]------ 高可用

name=localserver

baseurl=http://172.25.23.23/rhel/HighAvailability

gpgcheck=0

 

[LoadBalancer]------ 負載均衡

name=localserver

baseurl=http://172.25.23.23/rhel/LoadBalancer

gpgcheck=0

 

[ResilientStorage]------ 存儲

name=localserver

baseurl=http://172.25.23.23/rhel/ResilientStorage

gpgcheck=0

 

[ScalableFileSystem]------ 大型文件系統

name=localserver

baseurl=http://172.25.23.23/rhel/ScalableFileSystem

gpgcheck=0

 

[root@server1 ~]# yum repolist  ----- 列出可用的包

--> 可查看到有3819可用

 

2.安裝軟件

server1 server2 

[root@server1 ~]# yum list ricci

[root@server1 ~]# yum install ricci -y

[root@server1 ~]# chkconfig ricci on

[root@server1 ~]# id ricci

[root@server1 ~]# echo westos | passwd --stdin ricci

[root@server1 ~]# /etc/init.d/ricci start

 

server3

[root@server3 ~]# yum install luci -y

[root@server3 ~]# /etc/init.d/luci start

 

二建立集羣

1.在瀏覽器中打開  https://172.25.23.3:8084

wKiom1fVIt_wI7JHAAAd-FStJwU522.png 

  密碼爲172.25.23.3的密碼

 2.建立集羣

wKiom1fVIuDjSPmlAACk2AwHea4282.png

集羣名字不可超過15個字符其餘選項如圖所示

3.建立成功後會生成相應的配置文件/etc/cluster/cluster.conf

wKioL1fVIuCAtMvXAAC5bkBE0fo541.png 

 

建立fense

1.fence_xvm.key   

在物理機(物理機中有虛擬機管理器物理機控制虛擬機可讓虛擬機強制斷電有force off , shutdown ...)

[root@foundation23 ~]# yum search fence

[root@foundation23 ~]# yum install fence-virtd-libvirt.x86_64 -y

[root@foundation23 ~]# yum install fence-virtd.x86_64 -y

[root@foundation23 ~]# yum install fence-virtd-multicast.x86_64 -y

[root@foundation23 ~]# systemctl start fence_virtd

[root@foundation23 ~]# netstat -antlpe | grep fence_virtd 

# 查不到由於fence_virtdudp通訊

[root@foundation23 ~]# netstat -anulpe | grep fence_virtd

# 可看到端口是1229

[root@foundation23 ~]# fence_virtd -c (主要修改br0)

Module search path [/usr/lib64/fence-virt] ...

Listener module [multicast]...

Multicast IP Address [225.0.0.12]...

Multicast IP Port [1229]...

Interface [br0] 

Key File [/etc/cluster/fence_xvm.key]

Backend module [libvirt]

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

 

[root@foundation23 ~]# mkdir -p /etc/cluster

[root@foundation23~]# dd if=/dev/urandom of=fence_xvm.key bs=128 count=1

# fence_xvm.key是截取的不是自動生成

[root@foundation23 ~]# scp fence_xvm.key root@172.25.23.1:/etc/cluster/

[root@foundation23 ~]# scp fence_xvm.key root@172.25.23.2:/etc/cluster/

[root@foundation23 ~]# systemctl restart fence_virtd.service

2.瀏覽器中打開圖形界面https://172.25.23.3:8084

(1) Fence Devices -> Add -> Fence virt (Multicast Mode) -> Name=vmfence

   Fence類型虛擬型fence

wKiom1fVIuHwvaa4AABoaK-B5Mk034.png 

 (2) 作映射

wKioL1fVIuHxMTdgAABnhmKov3Q406.png 

 

wKioL1fVIuGzlYfTAABWdOWLrYQ978.png 

Domain 能夠是base1也能夠是base1UUIDUUID惟一性最好

(3) server2同上

 

3.測試

[root@server1 ~]# clustat

[root@server1 ~]# fence_node server2.example.com  

# 殺死server2即斷電重啓

[root@server1 ~]# clustat  

# server2啓動以後恢復正常再次加入到集羣中 

 

四添加http服務

1.server1 server2

[root@server1 ~]# yum install httpd -y

2.server3的圖形界面

(1) 添加Failover Domains 

wKiom1fVIuKwtERmAABpiuGOjyI939.png 

Restricted:是否在失敗轉移域成員中啓用服務故障切換限制

No failback:主節點故障備節點會自動接管相關業務當主節點恢復正常不恢復到主節點

(2) 添加Resources

    wKiom1fVIuKivhXMAABQuZzCtVU848.png

 

  IP設爲未使用 (未被佔用) IP ,VIP

wKioL1fVIuOyxdf2AAAy525raL8638.png 

(3) 添加Service Groups

  wKioL1fVIuPyHpmnAAB2Wm41Rpk780.png

  Add Resource 先加IP再加httpd  ( 加的順序就是啓動的順序 )

3.測試 訪問 172.25.23.100

(1) 會先訪問server1 (優先級高 ) server1的服務掛掉以後 自動訪問 server2 , 而且系統會將server1httpd 重啓server1再次加入集羣

 

 

wKiom1fVIuTi_yY7AADMNsjAGJA046.png 

/etc/init.d/httpd stop

wKioL1fVIuSw-rGTAADLe3GW0xE333.png 

   

Server1的服務掛掉能夠是 /etc/init.d/httpd stop,  /etc/init.d/network stop ......

 

(2)

[root@server1 ~]# clusvcadm -r apache -m server2.example.com

httpd服務轉移到server2

(3)

server1 echo c > /proc/sysrq-trigger   ------ 使內核崩掉

server1 崩掉後fence機制force重啓

 

 

 

五存儲分離 部署iscsci

server3 中 創建存儲分離的服務端

server 1 , server2 中爲存儲分離的客戶端

1.server3

(1) 先新建一個新的磁盤 

wKiom1fVIuWDHGz3AAFJm123-gg206.png添加後會多出來一個vda

(2) 新的磁盤建立分區

[root@server3 ~]# fdisk /dev/vda

  ....

[root@server3 ~]# partx -d /dev/vda

[root@server3 ~]# partx -a /dev/vda

(3) 分享出新的分區

[root@server3 ~]# yum install scsi-target-utils.x86_64 -y

[root@server3 ~]# vim /etc/tgt/targets.conf

  ....

<target iqn.2016-07.com.example:storage1>

    backing-store /dev/vda1

    initiator-address 172.25.23.1

    initiator-address 172.25.23.2

  </target>

....

[root@server3 ~]# /etc/init.d/tgtd start

[root@server3 ~]# tgt-admin -s  查看是否配置好

wKiom1fVIuaC2AKPAAA_G9lZth4364.png 

2. server1 server2鏈接共享設備

[root@server1 ~]# yum install iscsi-* -y

[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.23.3

wKioL1fVIubA8ZdTAABLBNpqL6E434.png 

[root@server1 ~]# iscsiadm -m node -l

# server2同時進行

[root@server1 ~]# fdisk -l

[root@server1 ~]# fdisk /dev/sdb

.... ( 注意修改標籤爲8e )

[root@server1 ~]# cat /proc/partitions

[root@server1 ~]# partprobe

[root@server1 ~]# pvcreate /dev/sdb1

[root@server1 ~]# vgcreate clustervg /dev/sdb1

[root@server1 ~]# lvcreate -L 2G -n data1 clustervg

[root@server1 ~]# mkfs.ext4 /dev/clustervg/data1

3.將新建的加入到集羣中 (先將服務disabled 而且注意前後順序)

[root@server1 ~]# clusvcadm -d apache

訪問https://172.25.23.3:8084

-> 添加resources

wKiom1fVIuaR-IJ9AAB7C2Vx8jc774.png 

-> 修改Service Groups

先加IP Addr Filesystem 最後httpd (scripts)

4.測試

(1) [root@server1 ~]# echo hello > /var/www/html/index.html

(2) 訪問172.25.23.100 顯示的界面一直是hello。若server1掛掉server2接管 仍爲原先的訪問界面hello

5.若創建的集羣是關於mysql 服務的則掛載點是mysql的存儲目錄

cat /etc/my.cnf 查看mysql 的存儲目錄

   [mysqld]

  datadir=/var/lib/mysql

   socket=/var/lib/mysql/mysql.sock

   user=mysql

   ...

在掛載前先將mysql裏面的文件備份一份

gfs2 文件系統

分佈式集羣管理同時掛載時 可支持同時讀寫 拉神擴容

1.中止服務將集羣中的Filesystem刪除

[root@server1 ~]# clusvcadm -d apache

Service Groups中將Filesystem remove

2.建立gfs2的文件系統

[root@server1 ~]# mkfs.gfs2 -p lock_dlm -t cluster_wj:mygfs2 -j 3 /dev/clustervg/data1

-j 指定日誌的份數通常爲節點數量+1

-p鎖協議名

-t 集羣名

[root@server1 ~]# gfs2_tool sb /dev/clustervg/data1 all

wKioL1fVIufgrB_iAAD82Wj2kJ0153.png 

[root@server1 ~]# mount /dev/clustervg/data1 /mnt

[root@server2 ~]# mount /dev/clustervg/data1 /mnt

# /mnt裏面修改數據兩邊會同步

[root@server1 ~]# gfs2_tool journals /dev/clustervg/data1

wKioL1fVIueyD6wdAABX2f2dtcY370.png 

[root@server1 ~]# df -h

wKiom1fVIu3CnTTPAAArNDZ_En8136.png 

[root@server1 ~]# blkid

[root@server1 ~]# vim /etc/fstab

wKioL1fVIu2CYo1uAAApY4a5A94712.png 

注意如果mysql服務則在掛載後須要

 chown mysql.mysql /var/lib/mysql/

[root@server1 ~]# clustat

[root@server1 ~]# clusvcadm -e mysql

3.擴展gfs2的容量

[root@server1 ~]# lvextend -L +2G /dev/clustervg/data1

# 有可能容量不夠能夠減少擴展的容量 

wKiom1fVIu7Ru0c3AADywT8B5KA339.png 

[root@server1 ~]# gfs2_grow /dev/clustervg/data1

# 同步

wKioL1fVIu-R-7hrAAEyD-xQE3o743.png 

 

4.增長日誌數量

[root@server1 ~]# gfs2_jadd -j 3 /dev/clustervg/data1

wKiom1fVIvCxWa4MAABUHkP2e-0797.png 

 

七集羣的刪除

1.中止相關服務

 clusvcadm  -d httpd #中止服務

2.若是有掛載還要先卸載相應的掛載

umount /mnt編輯/etc/fstab的掛載項

3.刪除

wKiom1fVIvDxspHmAAB_WNiO4Kg371.png 

(1)如上選中所有節點點擊Leave Cluster出現以下界面

wKioL1fVIvGTyAD6AABMV6e6hFM535.png 

(2)而後選中節點點擊Delete進行刪除

delete主要完成兩部分

A.刪除主配置文件  /etc/cluster/cluster.conf

B.關閉相應的啓動項   cman ramanager clvmd  modclusterd

查看全部的相關服務是否所有中止沒停的手動中止

wKioL1fVIvLiBs-QAADDRnLrxhY567.png 

只有modclusterd須要手動進行關閉以及中止開機自啓動項

4.存儲的退出

Ricci節點的主機都須要退出

[root@server1 ~]# iscsiadm -m node -u

[root@server1 ~]# iscsiadm -m node -o delete

[root@server1 ~]# fdisk -l

[root@server1 ~]# /etc/init.d/ricci stop

[root@server1 ~]# chkconfig ricci off

相關文章
相關標籤/搜索