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