Zabbix運(yùn)維平臺高可用模式部署手冊_第1頁
Zabbix運(yùn)維平臺高可用模式部署手冊_第2頁
Zabbix運(yùn)維平臺高可用模式部署手冊_第3頁
Zabbix運(yùn)維平臺高可用模式部署手冊_第4頁
Zabbix運(yùn)維平臺高可用模式部署手冊_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Zabbix 運(yùn)維平臺高可用模式部署手冊目錄 TOC o 1-3 h z u HYPERLINK l _Toc487396150 1 zabbix運(yùn)行條件 PAGEREF _Toc487396150 h 6 HYPERLINK l _Toc487396151 1.2 zabbix功能 PAGEREF _Toc487396151 h 6 HYPERLINK l _Toc487396152 1.3 優(yōu)劣勢 PAGEREF _Toc487396152 h 6 HYPERLINK l _Toc487396153 2. zabbix配置文件 PAGEREF _Toc487396153 h 7 HYPER

2、LINK l _Toc487396154 2.1 說明 PAGEREF _Toc487396154 h 7 HYPERLINK l _Toc487396155 2.2 zabbix架構(gòu) PAGEREF _Toc487396155 h 8 HYPERLINK l _Toc487396156 3. 系統(tǒng)規(guī)劃 PAGEREF _Toc487396156 h 8 HYPERLINK l _Toc487396157 4. zabbix server安裝 PAGEREF _Toc487396157 h 9 HYPERLINK l _Toc487396158 4.1 同步授時(shí)中心時(shí)間 PAGEREF _To

3、c487396158 h 9 HYPERLINK l _Toc487396159 4.2 網(wǎng)卡服務(wù)配置 PAGEREF _Toc487396159 h 11 HYPERLINK l _Toc487396160 4.3 建立LAMP環(huán)境 PAGEREF _Toc487396160 h 11 HYPERLINK l _Toc487396161 4.3.1 CentOS5.6 PAGEREF _Toc487396161 h 11 HYPERLINK l _Toc487396162 4.3.2 RHEL 6.2 PAGEREF _Toc487396162 h 12 HYPERLINK l _Toc48

4、7396163 4.4 禁用SELINUX PAGEREF _Toc487396163 h 15 HYPERLINK l _Toc487396164 4.5 新建zabbix組和用戶 PAGEREF _Toc487396164 h 16 HYPERLINK l _Toc487396165 4.6 編譯安裝zabbix PAGEREF _Toc487396165 h 16 HYPERLINK l _Toc487396166 4.6.1 編譯安裝 PAGEREF _Toc487396166 h 16 HYPERLINK l _Toc487396167 4.6.2 創(chuàng)建zabbix數(shù)據(jù)庫 PAGER

5、EF _Toc487396167 h 17 HYPERLINK l _Toc487396168 4.6.3 復(fù)制配置文件到zabbix安裝目錄 PAGEREF _Toc487396168 h 19 HYPERLINK l _Toc487396169 4.6.4 添加服務(wù)端口 PAGEREF _Toc487396169 h 19 HYPERLINK l _Toc487396170 4.6.5 修改zabbix目錄用戶屬性 PAGEREF _Toc487396170 h 20 HYPERLINK l _Toc487396171 4.6.6 配置軟連接 PAGEREF _Toc487396171 h

6、 20 HYPERLINK l _Toc487396172 4.6.7 配置zabbix啟動腳本 PAGEREF _Toc487396172 h 20 HYPERLINK l _Toc487396173 4.6.8 添加開機(jī)啟動服務(wù) PAGEREF _Toc487396173 h 21 HYPERLINK l _Toc487396174 4.6.9 web相關(guān)配置 PAGEREF _Toc487396174 h 22 HYPERLINK l _Toc487396175 4.7 解決zabbix圖中出現(xiàn)中文亂碼 PAGEREF _Toc487396175 h 26 HYPERLINK l _To

7、c487396176 4.8 更改監(jiān)控項(xiàng)類型 PAGEREF _Toc487396176 h 27 HYPERLINK l _Toc487396177 4.9 防火墻設(shè)置 PAGEREF _Toc487396177 h 27 HYPERLINK l _Toc487396178 5. mysql數(shù)據(jù)庫雙主同步配置說明 PAGEREF _Toc487396178 h 28 HYPERLINK l _Toc487396179 5.1 服務(wù)器A、B的ip地址 PAGEREF _Toc487396179 h 28 HYPERLINK l _Toc487396180 5.2 備份zabbix庫 PAGER

8、EF _Toc487396180 h 29 HYPERLINK l _Toc487396181 5.3 分別在兩臺服務(wù)器上建立同步用戶 PAGEREF _Toc487396181 h 29 HYPERLINK l _Toc487396182 5.4 修改服務(wù)器的數(shù)據(jù)庫配置文件/etc/f PAGEREF _Toc487396182 h 30 HYPERLINK l _Toc487396183 5.5 進(jìn)入數(shù)據(jù)庫查看服務(wù)器A、B作為主服務(wù)器的狀態(tài) PAGEREF _Toc487396183 h 32 HYPERLINK l _Toc487396184 5.6 分別在兩個(gè)服務(wù)器上設(shè)置并啟動slav

9、e PAGEREF _Toc487396184 h 33 HYPERLINK l _Toc487396185 6. 安裝heartbear&pacemaker PAGEREF _Toc487396185 h 36 HYPERLINK l _Toc487396186 6.1 概念組成及工作原理 PAGEREF _Toc487396186 h 36 HYPERLINK l _Toc487396187 6.1.1 heartbeat的概念 PAGEREF _Toc487396187 h 36 HYPERLINK l _Toc487396188 6.1.2 HA集群相關(guān)術(shù)語 PAGEREF _Toc4

10、87396188 h 36 HYPERLINK l _Toc487396189 6.1.3 Heartbeat的組成 PAGEREF _Toc487396189 h 38 HYPERLINK l _Toc487396190 6.2 安裝heartbeat PAGEREF _Toc487396190 h 41 HYPERLINK l _Toc487396191 6.3 配置heartbeat PAGEREF _Toc487396191 h 42 HYPERLINK l _Toc487396192 6.3.1 主配置文件(/etc/ha.d/ha.cf) PAGEREF _Toc487396192

11、 h 42 HYPERLINK l _Toc487396193 6.3.2 資源文件(/etc/ha.d/haresources) PAGEREF _Toc487396193 h 45 HYPERLINK l _Toc487396194 6.3.3 認(rèn)證文件(/etc/ha.d/authkeys) PAGEREF _Toc487396194 h 47 HYPERLINK l _Toc487396195 6.3.4 配置備用節(jié)點(diǎn)的heartbeat PAGEREF _Toc487396195 h 48 HYPERLINK l _Toc487396196 6.4 啟動heartbeat PAGER

12、EF _Toc487396196 h 48 HYPERLINK l _Toc487396197 6.5 配置crm PAGEREF _Toc487396197 h 49 HYPERLINK l _Toc487396198 6.5.1 附錄一、crm常用命令參考 PAGEREF _Toc487396198 h 52 HYPERLINK l _Toc487396199 6.5.2 附錄二、安裝過程中異常處理 PAGEREF _Toc487396199 h 54 HYPERLINK l _Toc487396200 6.6 故障模擬 PAGEREF _Toc487396200 h 54 HYPERLI

13、NK l _Toc487396201 6.7 防火墻設(shè)置 PAGEREF _Toc487396201 h 55 HYPERLINK l _Toc487396202 7. 安裝cman&pacemaker PAGEREF _Toc487396202 h 55 HYPERLINK l _Toc487396203 7.1 簡介 PAGEREF _Toc487396203 h 56 HYPERLINK l _Toc487396204 7.2 安裝cman PAGEREF _Toc487396204 h 58 HYPERLINK l _Toc487396205 7.3 配置cman PAGEREF _T

14、oc487396205 h 59 HYPERLINK l _Toc487396206 7.4 啟動集群 PAGEREF _Toc487396206 h 61 HYPERLINK l _Toc487396207 7.5 配置pcs PAGEREF _Toc487396207 h 62 HYPERLINK l _Toc487396208 7.5.1 附錄一、pcs常用命令參考 PAGEREF _Toc487396208 h 65 HYPERLINK l _Toc487396209 7.6 故障模擬 PAGEREF _Toc487396209 h 66 HYPERLINK l _Toc4873962

15、10 7.7 防火墻設(shè)置 PAGEREF _Toc487396210 h 67 HYPERLINK l _Toc487396211 8. 防火墻設(shè)置 PAGEREF _Toc487396211 h 67 HYPERLINK l _Toc487396212 9. 腳本安裝和卸載zabbix PAGEREF _Toc487396212 h 70 HYPERLINK l _Toc487396213 9.1 腳本安裝zabbix server PAGEREF _Toc487396213 h 70 HYPERLINK l _Toc487396214 9.2 腳本卸載zabbix server PAGER

16、EF _Toc487396214 h 711 zabbix運(yùn)行條件Server:zabbix server需運(yùn)行在LAMP(Linux+Apache+Mysql+PHP)環(huán)境下,對硬件要求低。Agent:目前已有的agent基本支持市面常見的OS,包含Linux、HPUX、Solaris、Sun、windows。SNMP:支持各類常見的網(wǎng)絡(luò)設(shè)備。1.2 zabbix功能具備常見的商業(yè)監(jiān)控軟件所具備的功能(主機(jī)的性能監(jiān)控、網(wǎng)絡(luò)設(shè)備性能監(jiān)控、數(shù)據(jù)庫性能監(jiān)控、FTP等通用協(xié)議監(jiān)控、多種告警方式、詳細(xì)的報(bào)表圖表繪制)支持自動發(fā)現(xiàn)網(wǎng)絡(luò)設(shè)備和服務(wù)器,支持分布式,能集中展示、管理分布式的監(jiān)控點(diǎn),擴(kuò)展性強(qiáng),s

17、erver提供通用接口,可以自己開發(fā)完善各類監(jiān)控1.3 優(yōu)劣勢優(yōu)點(diǎn):開源,無軟件成本投入Server對設(shè)備性能要求低支持設(shè)備多支持分布式集中管理開放式接口,擴(kuò)展性強(qiáng)缺點(diǎn):出現(xiàn)問題如需原廠支持需支付費(fèi)用需在被監(jiān)控主機(jī)上安裝agent2. zabbix配置文件2.1 說明Server:指安裝zabbix服務(wù)的服務(wù)器(以下簡稱服務(wù)器端),是最重要的部份,主要安裝在linux系統(tǒng)上(支持多種操作系統(tǒng)),采用mysql存儲監(jiān)控?cái)?shù)據(jù)并使用apache+php的方式呈現(xiàn)。Agent:指安裝在被監(jiān)控設(shè)備上的zabbix代理(以下簡稱代理),被監(jiān)控設(shè)備上的數(shù)據(jù)由代理收集后統(tǒng)一上傳到服務(wù)器端由服務(wù)器端收集、整理并

18、呈現(xiàn)。SNMP:也是agent的一種,指支持SNMP協(xié)議的設(shè)備(也可以是服務(wù)器),通過設(shè)定SNMP的參數(shù)將相關(guān)監(jiān)控?cái)?shù)據(jù)傳送至服務(wù)器端(大部份的交換機(jī)、防火墻等網(wǎng)絡(luò)設(shè)備都支持SNMP協(xié)議)。IPMI:Agent的另一種方式,主要應(yīng)用于設(shè)備的物理性能監(jiān)控,例如設(shè)備的溫度、風(fēng)扇的轉(zhuǎn)速等。2.2 zabbix架構(gòu)zabbix支持多種網(wǎng)絡(luò)方式下的監(jiān)控,可通過分布式的方式部署和安裝監(jiān)控代理,整個(gè)架構(gòu)如圖所示。3. 系統(tǒng)規(guī)劃系統(tǒng)環(huán)境:CentOS5.6 32bit、RHEL6.2 64bit每個(gè)節(jié)點(diǎn)服務(wù)器都有兩塊網(wǎng)卡,一塊用作連接公用網(wǎng)絡(luò),另一塊通過以太網(wǎng)交叉線連接兩個(gè)節(jié)點(diǎn),作為心跳監(jiān)控,網(wǎng)絡(luò)以及IP地址規(guī)

19、劃如表所示:節(jié)點(diǎn)類型IP地址規(guī)劃主機(jī)名類型主用節(jié)點(diǎn)eth0:3/24server01Public IPeth1:/24private01private IPeth0:0:9無Virtual IP備用節(jié)點(diǎn)eth0:4/24server02Public IPeth1:/24private02private IP配置每個(gè)節(jié)點(diǎn)的/etc/hosts文件,保證兩個(gè)節(jié)點(diǎn)內(nèi)容一致,/etc/hosts文件內(nèi)容如下:3 server014 server02 private01 private02系統(tǒng)拓?fù)洌?. zabbix server安裝zabbix版本: 同步授時(shí)中心時(shí)間同步授時(shí)中心的時(shí)間

20、,強(qiáng)制把系統(tǒng)時(shí)間寫入CMOS。ntpdate clock -w注意:這里說的是系統(tǒng)時(shí)間,是由linux操作系統(tǒng)維護(hù)的。在系統(tǒng)啟動時(shí),Linux操作系統(tǒng)將時(shí)間從CMOS中讀到系統(tǒng)時(shí)間變量中,以后修改時(shí)間通過修改系統(tǒng)時(shí)間實(shí)現(xiàn)。為了保持系統(tǒng)時(shí)間與CMOS時(shí)間的一致性,Linux每隔一段時(shí)間會將系統(tǒng)時(shí)間寫入CMOS。由于該同步是每隔一段時(shí)間(大約是11分鐘)進(jìn)行的,在我們執(zhí)行date -s后,如果馬上重起機(jī)器,修改時(shí)間就有可能沒有被寫入CMOS。每天凌晨、6點(diǎn)、12點(diǎn)和18點(diǎn)與授時(shí)中心同步時(shí)間,并將結(jié)果保存至/var/log/ntpdate.log文件中。crontab -u root -e添加:0

21、0,6,12,18 * * * /usr/sbin/ /var/log/ntpdate.log查詢一下服務(wù)crond的情況:chkconfig -list crond查詢一下用戶root的cron的配置情況:crontab -u root -l注意:linux下防火墻規(guī)則如果極嚴(yán)格的話可能會影響 ntpd 對時(shí),打開 sport 123 即可(假設(shè) OUTPUT鏈全 ACCEPT):iptables -A INPUT -p udp -sport 123 -j ACCEPT4.2 網(wǎng)卡服務(wù)配置停止NetworkManager服務(wù),這樣網(wǎng)卡就不受NetworkManage的控制。/etc/init

22、.d/NetworkManager stopchkconfig NetworkManager off4.3 建立LAMP環(huán)境4.3.1 CentOS5.6安裝rpmforge-release-0.5.3-1.el5.rfrpm -ivh rpmforge-release-0.5.3-1.el5.rf.i386.rpm備注:zabbix編譯安裝中的選項(xiàng)“-with-ssh2”對libssh2的版本要求為=1.0.0,epel源的版本為0.18不符合需求,rpmforge源的版本為1.2.9符合需求。注意:64位系統(tǒng)請安裝此包rpm -ivh rpmforge-release-0.5.3-1.el

23、5.rf.x86_64.rpmLAMP環(huán)境:yum -y install httpd mysql-server php安裝相關(guān)依賴包:yum install -y gcc mysql-devel net-snmp-devel net-snmp-utils php-gd php-mysqlphp-common php-bcmath php-mbstring php-xml curl-devel iksemel* OpenIPMIOpenIPMI-devel fping libssh2 libssh2-devel unixODBC unixODBC-develmysql-connector-odb

24、c openldap openldap-devel java java-devel配置http不隨系統(tǒng)啟動:chkconfig httpd offchkconfig mysqld on注意:apache屆時(shí)由heartbeat啟動。4.3.2 RHEL 6.2使用安裝光盤建立本地yum源:卸載已掛載的光盤:umount /dev/sr0掛載光盤并寫入配置文件:mount /dev/sr0 /media/vi /etc/fstab末尾添加:/dev/sr0 /media iso9660 defaults 0 0創(chuàng)建yum配置文件:vi /etc/yum.repos.d/rhel6.repo添加:

25、basename=basebaseurl=file:/media/enabled=1gpgcheck=0gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release安裝epel-release-6-8.noarch.rpm:rpm -ivh epel-release-6-8.noarch.rpm導(dǎo)入key:rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6添加163上的CentOS6源:wget -O /etc/yum.repos.d/CentOS6-Base-163.repo/.help/CentO

26、S6-Base-163.repo編輯CentOS6-Base-163.repo把文件里面的$releasever全部替換為6:vi /etc/yum.repos.d/CentOS6-Base-163.repoLAMP環(huán)境:yum -y install httpd mysql-server php安裝相關(guān)依賴包:yum install -y gcc mysql-devel net-snmp-devel net-snmp-utils php-gd php-mysqlphp-common php-bcmath php-mbstring php-xml curl-devel iksemel* Open

27、IPMIOpenIPMI-devel fping libssh2 libssh2-devel unixODBC unixODBC-develmysql-connector-odbc openldap openldap-devel java java-devel配置http不隨系統(tǒng)啟動:chkconfig httpd offchkconfig mysqld on注意:apache屆時(shí)由pacemaker啟動。4.4 禁用SELINUXsetenforce 0修改/etc/selinux/config文件中設(shè)置SELINUX=disabledsed -i s/SELINUX=enforcing/S

28、ELINUX=disabled/ /etc/selinux/config備注:設(shè)置SELinux 成為enforcing模式setenforce 1設(shè)置SELinux 成為permissive模式setenforce 04.5 新建zabbix組和用戶/usr/sbin/groupadd zabbix/usr/sbin/useradd -g zabbix zabbix4.6 編譯安裝zabbix4.6.1 編譯安裝下載解壓zabbix:wget /projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz/d

29、ownloadtar zxvf zabbix-2.0.6.tar.gz編譯安裝:cd /root/zabbix-2.0.6/./configure -prefix=/usr/local/zabbix -enable-server -enable-agent -enable-proxy -with-mysql -enable-java -enable-ipv6 -with-net-snmp -with-libcurl -with-ldap -with-ssh2 -with-jabber -with-openipmi -with-unixodbcmake & make installconfigu

30、re:error: Invalid NET-SNMP directory - unable to find net-snmp-config編譯安裝zabbix時(shí),配置時(shí)報(bào)以上錯(cuò),導(dǎo)致檢測系統(tǒng)環(huán)境不成功。提示unableto find net-snmp-config,說明缺少相關(guān)的依賴性。這是因?yàn)?,在linux中,大多數(shù)軟件都是開源的,并且可以自由使用。因此在開發(fā)時(shí)可以用到其他的軟件包時(shí)我們直接就拿來了,不用在花功夫去重新編寫,這就造成了所謂的依賴性。那么怎么解決該問題那?解決辦法一:找出net-snmp-config屬于哪個(gè)軟件包,然后安裝即可。yum search net-snmp-conf

31、ig,發(fā)現(xiàn)net-snmp-config屬于軟件包net-snmp-devel,yum安裝該軟件包,解決該問題。解決辦法二:在配置時(shí),我們加上了-with-net-snmp這個(gè)選項(xiàng),因此需要檢查系統(tǒng)環(huán)境是否有該軟件包支持。因此,在配置時(shí),不要加上-with-net-snmp這個(gè)選項(xiàng)即不會報(bào)如下錯(cuò)誤configure:error: Invalid NET-SNMP directory - unable to find net-snmp-config。參考文獻(xiàn):zabbix中文文檔/zabbix2/4.6.2 創(chuàng)建zabbix數(shù)據(jù)庫開啟mysql,修改mysql root密碼為123456(實(shí)際使

32、用環(huán)境中可自定義密碼):/etc/init.d/mysqld start/usr/bin/mysqladmin -u root password 123456創(chuàng)建zabbix庫,設(shè)置字符為utf8:/usr/bin/mysql -uroot -p123456create database zabbix character set utf8;grant all privileges on zabbix.* to zabbix9 identified by 123456;grant all privileges on zabbix.* to zabbixlocalhost identified b

33、y 123456;開啟zabbix用戶遠(yuǎn)程連接權(quán)限(可選):grant all privileges on zabbix.* to zabbix% identified by 123456;quit備注:zabbix數(shù)據(jù)庫可以和zabbix服務(wù)器分離,采用后端數(shù)據(jù)層的mysql服務(wù)器存儲數(shù)據(jù)提高安全,本例因?qū)嶓w機(jī)僅有二臺,故zabbix server和mysql server還在同一臺物理機(jī)中。注意:本例為heartbeat的VIP地址。(請按實(shí)際環(huán)境設(shè)置VIP地址):導(dǎo)入數(shù)據(jù)庫:cd /root/zabbix-2.0.6/database/mysql/mysql -uzabbix -h 9

34、-p123456 zabbix schema.sqlmysql -uzabbix -h 9 -p123456 zabbix images.sqlmysql -uzabbix -h 9 -p123456 zabbix zabbix.sql5.3 分別在兩臺服務(wù)器上建立同步用戶設(shè)置數(shù)據(jù)庫同步帳戶:mysql -u root -p123456服務(wù)器A:grant replication slave,file on *.* to tongbu identified by tongbu;flush privileges;服務(wù)器B:grant replication slave,file on *.* t

35、o tongbu identified by tongbu;flush privileges;查看已建立的同步賬戶:use mysql;select user,host from user;5.4 修改服務(wù)器的數(shù)據(jù)庫配置文件/etc/f服務(wù)器A的f配置:注意:server-id默認(rèn)為1,一般主從同步中,主服務(wù)器server-id為1,雙主同步原則上兩臺同步服務(wù)器server-id不同即可。vi /etc/f在user=mysql后添加:log-bin=mysql-binrelay-log=relay-binrelay-log-index=relay-bin-indexserver-id = 1

36、master-connect-retry=30binlog-do-db=zabbixreplicate-do-db=zabbixbinlog-ignore-db=mysqlreplicate-ignore-db=mysqlbinlog-ignore-db=testreplicate-ignore-db=testbinlog-ignore-db=largedatereplicate-ignore-db=largedatebinlog-ignore-db=information_schemareplicate-ignore-db=information_schemabinlog-ignore-db

37、=performance_schemareplicate-ignore-db=performance_schemalog-slave-updatesslave-skip-errors=alllserver-id = 1 服務(wù)器ID號lmaster-connect-retry=30 斷點(diǎn)重試間隔為30秒lbinlog-do-db=zabbix 表示同步zabbix數(shù)據(jù)庫lreplicate-do-db=zabbix 表示同步zabbix數(shù)據(jù)庫lbinlog-ignore-db=mysql 不同步mysql數(shù)據(jù)庫llog-slave-updates 在從服務(wù)器上將復(fù)制過來的更新操作寫入二進(jìn)制日志,

38、從而可以得到完整的二進(jìn)制日志,便于數(shù)據(jù)恢復(fù)和重現(xiàn)。lslave-skip-errors=alll跳過復(fù)制錯(cuò)誤,該參數(shù)目前設(shè)置值為all,即跳過所有復(fù)制錯(cuò)誤,實(shí)際使用時(shí)也可以縮小跳過錯(cuò)誤的范圍。備注:binlog-ignore-db和replicate-ignore-db表示不需要同步的數(shù)據(jù)庫,可以不設(shè)置(不設(shè)置時(shí),mysql也只會同步binlog-do-db中設(shè)置的數(shù)據(jù)庫),但是為了安全起見,建議設(shè)置該參數(shù)。yum安裝的mysql實(shí)際只需要不同步mysql和test庫即可,如果從官網(wǎng)下載rpm包安裝mysql5.5則不同。注意:很多案例會將同步賬戶設(shè)置在此配置文件中,個(gè)人不建議這樣做。服務(wù)器B

39、的f配置與服務(wù)器A一樣,只需要將server-id改為2。重啟服務(wù)器A和服務(wù)器B的mysql:/etc/init.d/mysqld restart5.5 進(jìn)入數(shù)據(jù)庫查看服務(wù)器A、B作為主服務(wù)器的狀態(tài)服務(wù)器A:進(jìn)入數(shù)據(jù)庫mysql -u root -p123456查看服務(wù)器A作為主服務(wù)器的狀態(tài):show master status;服務(wù)器B:進(jìn)入數(shù)據(jù)庫mysql -u root -p123456查看服務(wù)器B作為主服務(wù)器的狀態(tài):show master status;5.6 分別在兩個(gè)服務(wù)器上設(shè)置并啟動slave服務(wù)器A:進(jìn)入數(shù)據(jù)庫設(shè)置slave參數(shù),其中master_user和master_pas

40、sword為在服務(wù)器B上面設(shè)置的同步賬號的名稱和密碼;master_host為服務(wù)器B的IP地址;master_log_file和master_log_pos為服務(wù)器B中查看作為主服務(wù)器狀態(tài)時(shí)顯示的File和Position;change master to master_user=tongbu,master_password=tongbu,master_host=,master_port=3306,master_log_file=mysql-bin.000001,master_log_pos=106;啟動slave進(jìn)程:start slave;服務(wù)器B上的slave設(shè)置與服務(wù)器A相同,只是c

41、hange master命令中的master屬性均為服務(wù)器A。查看slave狀態(tài),其中Slave_IO_Running和Slave_SQL_Running均為Yes即說明同步啟動成功。show slave statusG;在服務(wù)器B上查看slave進(jìn)程,檢查其狀態(tài),看到Slave_IO_Running和Slave_SQL_Running均為Yes,至此雙主同步配置成功。在兩臺服務(wù)器的zabbix庫中任意添加數(shù)據(jù),都可以同步到對端服務(wù)器上。注意:l如果出現(xiàn)Slave_IO_Running: No或啟動slave出現(xiàn)Could not initialize master info structur

42、e;的錯(cuò)誤,分別在兩個(gè)服務(wù)器上重新設(shè)置并啟動slave。stop slave;reset slave;l如果出現(xiàn)Last_IO_Error: error connecting to master tongbu:3306 -retry-time: 30 retries: 86400的錯(cuò)誤,請檢查防火墻配置。在mysql中可通過以下命令來查看主從狀態(tài)l查看master狀態(tài)show master status;l查看slave狀態(tài)show slave status;l查看當(dāng)前進(jìn)程show processlist G;l停止slave進(jìn)程stop slave;l開始slave進(jìn)程start slave

43、;l重置slave進(jìn)程reset slave;6. 安裝heartbear&pacemaker系統(tǒng)環(huán)境:CentOS5.6 32bit注意:CentOS6.x和RHEL6.x請使用cman&pacemaker的模式創(chuàng)建集群。6.1 概念組成及工作原理6.1.1 heartbeat的概念Heartbeat是Linux-HA項(xiàng)目中的一個(gè)組件,也是目前開源HA項(xiàng)目中最成功的一個(gè)例子, Linux-HA的全稱是High-Availability Linux,這個(gè)開源項(xiàng)目的目標(biāo)是:通過社區(qū)開發(fā)者的共同努力,提供一個(gè)增強(qiáng)linux可靠性(reliability)、可用性(availability)和可服務(wù)

44、性(serviceability)(RAS)的群集解決方案。Heartbeat提供了所有 HA 軟件所需要的基本功能,比如心跳檢測和資源接管、監(jiān)測群集中的系統(tǒng)服務(wù)、在群集中的節(jié)點(diǎn)間轉(zhuǎn)移共享 IP 地址的所有者等。Linux-HA的官方網(wǎng)站: 6.1.2 HA集群相關(guān)術(shù)語(1)節(jié)點(diǎn)(node)運(yùn)行heartbeat進(jìn)程的一個(gè)獨(dú)立主機(jī),稱為節(jié)點(diǎn),節(jié)點(diǎn)是HA的核心組成部分,每個(gè)節(jié)點(diǎn)上運(yùn)行著操作系統(tǒng)和heartbeat軟件服務(wù),在heartbeat集群中,節(jié)點(diǎn)有主次之分,分別稱為主節(jié)點(diǎn)和備用/備份節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)擁有唯一的主機(jī)名,并且擁有屬于自己的一組資源,主節(jié)點(diǎn)上一般運(yùn)行著一個(gè)或多個(gè)應(yīng)用服務(wù)。而備用節(jié)

45、點(diǎn)一般處于監(jiān)控狀態(tài)。(2)資源(resource)資源是一個(gè)節(jié)點(diǎn)可以控制的實(shí)體,并且當(dāng)節(jié)點(diǎn)發(fā)生故障時(shí),這些資源能夠被其它節(jié)點(diǎn)接管,heartbeat中,可以當(dāng)做資源的實(shí)體有:磁盤分區(qū)、文件系統(tǒng)、IP地址、應(yīng)用程序服務(wù)、NFS文件系統(tǒng)(3)事件(event)也就是集群中可能發(fā)生的事情,例如節(jié)點(diǎn)系統(tǒng)故障、網(wǎng)絡(luò)連通故障、網(wǎng)卡故障、應(yīng)用程序故障等。這些事件都會導(dǎo)致節(jié)點(diǎn)的資源發(fā)生轉(zhuǎn)移,HA的測試也是基于這些事件來進(jìn)行的。(4)動作(action)事件發(fā)生時(shí)HA的響應(yīng)方式,動作是由shell腳步控制的,例如,當(dāng)某個(gè)節(jié)點(diǎn)發(fā)生故障后,備份節(jié)點(diǎn)將通過事先設(shè)定好的執(zhí)行腳本進(jìn)行服務(wù)的關(guān)閉或啟動。進(jìn)而接管故障節(jié)點(diǎn)的資

46、源。6.1.3 Heartbeat的組成(1) Heartbeat的結(jié)構(gòu) Heartbeat1.x和2.0.x版本的結(jié)構(gòu)十分簡單,各個(gè)模塊都集中在heartbeat中,到了3.0版本后,整個(gè)heartbeat項(xiàng)目進(jìn)行了拆分,分為不同的項(xiàng)目來分別進(jìn)行開發(fā)。 Heartbeat2.0.x之前的版本具有的模塊: heartbeat: 節(jié)點(diǎn)間通信檢測模塊 ha-logd: 集群事件日志服務(wù) CCM(Consensus ClusterMembership):集群成員一致性管理模塊 LRM (Local ResourceManager):本地資源管理模塊 Stonith Daemon: 使出現(xiàn)問題的節(jié)點(diǎn)從

47、集群環(huán)境中脫離 CRM(Cluster resourcemanagement):集群資源管理模塊 Cluster policy engine: 集群策略引擎 Cluster transition engine:集群轉(zhuǎn)移引擎Heartbeat3.0拆分之后的組成部分: Heartbeat:將原來的消息通信層獨(dú)立為heartbeat項(xiàng)目,新的heartbeat只負(fù)責(zé)維護(hù)集群各節(jié)點(diǎn)的信息以及它們之前通信; Cluster Glue:相當(dāng)于一個(gè)中間層,它用來將heartbeat和pacemaker關(guān)聯(lián)起來,主要包含2個(gè)部分,即為LRM和STONITH。 Resource Agent:用來控制服務(wù)啟停,

48、監(jiān)控服務(wù)狀態(tài)的腳本集合,這些腳本將被LRM調(diào)用從而實(shí)現(xiàn)各種資源啟動、停止、監(jiān)控等等。 Pacemaker:也就是Cluster Resource Manager (簡稱CRM),用來管理整個(gè)HA的控制中心,客戶端通過pacemaker來配置管理監(jiān)控整個(gè)集群。Pacemaker 提供了多種用戶管理接口,分別如下:1)crm shell:基于字符的管理方式;2)一個(gè)使用Ajax Web配置方式的web konsole窗口;3)hb_gui ,即heartbeat的gui圖形配置工具,這也是原來2.1.x的默認(rèn)GUI配置工具;4)DRBD-MC,一個(gè)基于Java的配置管理工具。(2) Pacemak

49、er內(nèi)部組成及與各模塊之間關(guān)系(3) Heartbeat3.x內(nèi)部組成及之間關(guān)系(4) Heartbeat各個(gè)版本之間的異同與1.x風(fēng)格相比,Heartbeat2.1.x版本之后功能變化如下:1)保留原有所有功能如,網(wǎng)絡(luò),heartbeat ,機(jī)器down時(shí)均可切換資源。2)自動監(jiān)控資源默認(rèn)情況下每2分鐘檢測資源運(yùn)行情況,如果發(fā)現(xiàn)資源不在,則嘗試啟動資源,如果60s后還未啟動成功,則資源切換向另節(jié)點(diǎn)。時(shí)間可以修改。3) 可以對各資源組實(shí)現(xiàn)獨(dú)立監(jiān)控.比如apache運(yùn)行在node1上,tomcat運(yùn)行在node2上,Heartbeat可同時(shí)實(shí)現(xiàn)兩臺主機(jī)的服務(wù)監(jiān)控。4)同時(shí)監(jiān)控系統(tǒng)負(fù)載可以自動將資

50、源切換到負(fù)載低的node上。 Heartbeat官 方最后一個(gè)STABLE release 2.x 版本是2.1.4,Heartbeat 3官方正式發(fā)布的首個(gè)版本是3.0.2,Heartbeat 3與Heartbeat2.x的最大差別在于,Heartbeat3.x按模塊把的原來Heartbeat2.x拆分為多個(gè)子項(xiàng)目,但是HA實(shí)現(xiàn)原理與 Heartbeat2.x基本相同。配置也基本一致。(5) Heartbeat集群的一般拓?fù)鋱D參考文獻(xiàn):/2895551/7452286.2 安裝heartbeat卸載rpmforge-release-0.5.3-1.el5.rfrpm -e rpmforge-

51、release-0.5.3-1.el5.rf備注:清除rpmforge源后才可安裝heartbeat,否則會有沖突。安裝epel-release-5-4.noarch.rpmrpm -ivh epel-release-5-4.noarch.rpm導(dǎo)入key:rpm -import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL添加Cluster Labs repo:wget -O /etc/yum.repos.d/pacemaker.repo /rpm/epel-5/clusterlabs.repo清除yum緩存:yum clean all安裝heartbeat:yum i

52、nstall -y pacemaker corosync heartbeat6.3 配置heartbeat6.3.1 主配置文件(/etc/ha.d/ha.cf)注意:heartbeat安裝后,3個(gè)配置文件默認(rèn)存放在/usr/share/doc/heartbeat-3.0.3/目錄中,需將其拷貝至/etc/ha.d/目錄中。cp /usr/share/doc/heartbeat-3.0.3/ha.cf /etc/ha.d/cp /usr/share/doc/heartbeat-3.0.3/haresources /etc/ha.d/cp /usr/share/doc/heartbeat-3.0

53、.3/authkeys /etc/ha.d/配置主配置文件:vi /etc/ha.d/ha.cf下面對ha.cf文件的每個(gè)選項(xiàng)進(jìn)行詳細(xì)介紹,其中“#”號后面的內(nèi)容是對選項(xiàng)的注釋說明。#debugfile /var/log/ha-debuglogfile /var/log/ha-log #指名heartbeat的日志存放位置。#crm on #是否開啟ClusterResourceManager(集群資源管理)功能。bcast eth1 #指明心跳方式使用以太廣播方式,并且是在eth1接口上進(jìn)行廣播。keepalive 2 #指定心跳間隔時(shí)間為2秒(即每兩秒鐘在eth1上發(fā)送一次廣播)。dead

54、time30 #指定備用節(jié)點(diǎn)在30秒內(nèi)沒有收到主節(jié)點(diǎn)的心跳信號后,則立即接管主節(jié)點(diǎn)的服務(wù)資源。warntime10 #指定心跳延遲的時(shí)間為十秒。當(dāng)10秒鐘內(nèi)備份節(jié)點(diǎn)不能接收到主節(jié)點(diǎn)的心跳信號時(shí),就會往日志中寫入一個(gè)警告日志,但此時(shí)不會切換服務(wù)。initdead120 #在某些系統(tǒng)上,系統(tǒng)啟動或重啟之后需要經(jīng)過一段時(shí)間網(wǎng)絡(luò)才能正常工作,該選項(xiàng)用于解決這種情況產(chǎn)生的時(shí)間間隔。取值至少為deadtime的兩倍。ucasteth0 3 #使用網(wǎng)卡eth0的udp單播來通知心跳udpport 694 #設(shè)置廣播通信使用的端口,694為默認(rèn)使用的端口號。baud 19200 #設(shè)置串行通信的波特率。#se

55、rial/dev/ttyS0 #選擇串行通信設(shè)備,用于雙機(jī)使用串口線連接的情況。如果雙機(jī)使用以太網(wǎng)連接,則應(yīng)該關(guān)閉該選項(xiàng)。auto_failbackoff #用 來定義當(dāng)主節(jié)點(diǎn)恢復(fù)后,是否將服務(wù)自動切回,heartbeat的兩臺主機(jī)分別為主節(jié)點(diǎn)和備份節(jié)點(diǎn)。主節(jié)點(diǎn)在正常情況下占用資源并運(yùn)行所有的服務(wù),遇到故 障時(shí)把資源交給備份節(jié)點(diǎn)并由備份節(jié)點(diǎn)運(yùn)行服務(wù)。在該選項(xiàng)設(shè)為on的情況下,一旦主節(jié)點(diǎn)恢復(fù)運(yùn)行,則自動獲取資源并取代備份節(jié)點(diǎn),如果該選項(xiàng)設(shè)置為off, 那么當(dāng)主節(jié)點(diǎn)恢復(fù)后,將變?yōu)閭浞莨?jié)點(diǎn),而原來的備份節(jié)點(diǎn)成為主節(jié)點(diǎn)。#stonith baytech /etc/ha.d/conf/stonith.b

56、aytech # stonith的主要作用是使出現(xiàn)問題的節(jié)點(diǎn)從集群環(huán)境中脫離,進(jìn)而釋放集群資源,避免兩個(gè)節(jié)點(diǎn)爭用一個(gè)資源的情形發(fā)生。保證共享數(shù)據(jù)的安全性和完整性。#watchdog/dev/watchdog #該選項(xiàng)是可選配置,是通過Heartbeat來監(jiān)控系統(tǒng)的運(yùn)行狀態(tài)。使用該 特性,需要在內(nèi)核中載入softdog內(nèi)核模塊,用來生成實(shí)際的設(shè)備文件,如果系統(tǒng)中沒有這個(gè)內(nèi)核模塊,就需要指定此模塊,重新編譯內(nèi)核。編譯完成輸 入insmod softdog加載該模塊。然后輸入grepmisc /proc/devices(應(yīng)為10),輸入cat /proc/misc |grepwatchdog(應(yīng)為1

57、30)。最后,生成設(shè)備文件:mknod /dev/watchdog c10130 。即可使用此功能。node node1 #主節(jié)點(diǎn)主機(jī)名,可以通過命令“uanme -n”查看。node node2 #備用節(jié)點(diǎn)主機(jī)名。ping #選擇ping的節(jié)點(diǎn),ping 節(jié)點(diǎn)選擇的越好,HA集群就越強(qiáng)壯,可以選擇固定的路由器作為ping節(jié)點(diǎn),但是最好不要選擇集群中的成員作為ping節(jié)點(diǎn),ping節(jié)點(diǎn)僅僅用來測試網(wǎng)絡(luò)連接。respawnhacluster /usr/lib/heartbeat/ipfail #該 選項(xiàng)是可選配置,列出與heartbeat一起啟動和關(guān)閉的進(jìn)程,該進(jìn)程一般是和heartbeat集成

58、的插件,這些進(jìn)程遇到故障可以自動重新啟動。最常 用的進(jìn)程是ipfail,此進(jìn)程用于檢測和處理網(wǎng)絡(luò)故障,需要配合ping語句指定的ping node來檢測網(wǎng)絡(luò)的連通性。其中hacluster表示啟動ipfail進(jìn)程的身份。檢查配置:egrep -v $|# /etc/ha.d/ha.cf保證ipfail的可執(zhí)行屬性chmod +x /usr/lib/heartbeat/ipfail6.3.2 資源文件(/etc/ha.d/haresources)Haresources文件用于指定雙機(jī)系統(tǒng)的主節(jié)點(diǎn)、集群IP、子網(wǎng)掩碼、廣播地址以及啟動的服務(wù)等集群資源,文件每一行可以包含一個(gè)或多個(gè)資源腳本名,資源之

59、間使用空格隔開,參數(shù)之間使用兩個(gè)冒號隔開,在兩個(gè)HA節(jié)點(diǎn)上該文件必須完全一致,此文件的一般格式為:node-name network node-name表示主節(jié)點(diǎn)的主機(jī)名,必須和ha.cf文件中指定的節(jié)點(diǎn)名一致,network用于設(shè)定集群的IP地址、子網(wǎng)掩碼、網(wǎng)絡(luò)設(shè)備標(biāo)識等,需要注意的是,這里指定的IP地址就是集群對外服務(wù)的IP地址,resource-group用來指定需要heartbeat托管的服務(wù),也就是這些服務(wù)可以由heartbeat來啟動和關(guān)閉,如果要托管這些服務(wù),必須將服務(wù)寫成可以通過start/stop來啟動和關(guān)閉的腳本,然后放到/etc/init.d/或者/etc/ha.d/re

60、source.d/目錄下,heartbeat會根據(jù)腳本的名稱自動去/etc/init.d或者/etc/ha.d/resource.d/目錄下找到相應(yīng)腳本進(jìn)行啟動或關(guān)閉操作。下面對配置方法進(jìn)行具體說明:vi /etc/ha.d/haresources末尾添加:server01 IPaddr:9/24/eth0 httpd zabbix_server其中,zabbix是HA集群的主節(jié)點(diǎn),heartbeat首先將執(zhí)行/etc/ha.d/resource.d/9/24 start的操作,也就是虛擬出一個(gè)子網(wǎng)掩碼為,IP為9的地址,此IP為heartbeat對外提供服務(wù)的網(wǎng)絡(luò)地址,同時(shí)指定此IP使用的網(wǎng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論