91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

集群介紹+用keepalived配置高可用集群(總結)

發布時間:2020-07-22 02:56:12 來源:網絡 閱讀:1156 作者:我不是瘦子 欄目:建站服務器

1、集群介紹

根據功能劃分為兩大類:高可用和負載均衡

高可用集群通常為兩臺服務器,一臺工作,另外一臺作為冗余,當提供服務的機器宕機,冗余將接替繼續提供服務
高可用集群,英文原文為High Availability Cluster,簡稱HACluster,簡單的說,集群(cluster)就是一組計算機,它們作為一個整體向用戶提供一組網絡資源。這些單個的計算機系統 就是集群的節點(node)
HA(High Available), 高可用性群集是通過系統的可靠性(reliability)和可維護性(maintainability)來度量的。工程上,通常用平均無故障時間(MTTF)來度量系統的可靠性,用平均維修時間(MTTR)來度量系統的可維護性。于是可用性被定義為:HA=MTTF/(MTTF+MTTR)*100%
==具體HA衡量標準:
99% 一年宕機時間不超過4天
99.9% 一年宕機時間不超過10小時
99.99% 一年宕機時間不超過1小時
99.999% 一年宕機時間不超過6分鐘==
實現高可用的開源軟件有:heartbeat、keepalived

負載均衡集群,需要有一臺服務器作為分發器,它負責把用戶的請求分發給后端的服務器處理,在這個集群里,除了分發器外,就是給用戶提供服務的服務器了,這些服務器數量至少為2
實現負載均衡的開源軟件有LVS、keepalived、haproxy、nginx,商業的有F5、Netscaler

2keepalived介紹

在這里我們使用keepalived來實現高可用集群,因為heartbeat在centos6上有一些問題,影響實驗效果
keepalived通過VRRP(Virtual Router Redundancy Protocl)來實現高可用。
Keepalived要有三個模塊,分別是core、check和vrrp。中core模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析,check模塊負責健康檢查,vrrp模塊是來實現VRRP協議的。

3、用keepalived配置高可用集群(總結)

環境:有A[root@chy01 ~],B[root@chy ~]#
兩個服務器,A為主服務器,B為備服務器。首先兩臺服務器都需要安裝keepalived。具體配置如下:
配置主:

[root@chy01 ~]# yum install -y keepalived
(A機器安裝keepalived)
[root@chy ~]# yum install -y keepalived
(B機器安裝keepalived)
[root@chy01 ~]# ps aux |grep nginx
root       2485  0.0  0.0  45484  1280 ?        Ss   05:15   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody     2492  0.0  0.2  47972  4172 ?        S    05:15   0:00 nginx: worker process
nobody     2493  0.0  0.2  47972  3916 ?        S    05:15   0:00 nginx: worker process
root       3041  0.0  0.0 112664   976 pts/0    R+   05:28   0:00 grep --color=auto nginx
(A機器上安裝過nginx,需要用nginx來做為負載均衡器)
[root@chy ~]# yum install -y nginx 
(B機器上用yum安裝的nginx,因為之前沒有安裝過)
[root@chy01 ~]# >!$
>/etc/keepalived/keepalived.conf
(清空master的keepalived的配置文件)
[root@chy01 ~]# vim /etc/keepalived/keepalived.conf 
global_defs {
   notification_email {
     chy@chy.com
   }
   notification_email_from root@chy.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_script chk_nginx {
    script "/usr/local/sbin/check_ng.sh"
    interval 3
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass chylinux>com
    }
    virtual_ipaddress {
        192.168.212.1
    }
    track_script {
        chk_nginx
    }
}
如上是主的配置文件:如下是詳解
1,全局定義(global definition)配置范例
global_defs {
   notification_email {
     chy@chy.com
   }
   notification_email_from root@chy.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}global_defs全局配置標識,表面這個區域{}是全局配置,表示keepalived在發生諸如切換操作時需要發送email通知,以及email發送給哪些郵件地址,郵件地址可以多個,每行一個
notification_email_from 
表示發送通知郵件時郵件源地址是誰
smtp_server 127.0.0.1
表示發送email時使用的smtp服務器地址,這里可以用本地的sendmail來實現
mtp_connect_timeout 30
連接smtp連接超時時間
router_id node1
機器標識
vrrp_script chk_nginx {
    script "/usr/local/sbin/check_ng.sh"
    interval 3
}
vrrp_instance VI_1 {
    state MASTER state 指定instance(Initial)的初始狀態,就是說在配置好后,這臺服務器的初始狀態就是這里指定的,但這里指定的不算,還是得要通過競選通過優 先級來確定,里如果這里設置為master,但如若他的優先級不及另外一臺,那么這臺在發送通告時,會發送自己的優先級,另外一臺發現優先級不如自己的 高,那么他會就回搶占為master
    interface ens33 實例綁定的網卡,因為在配置虛擬IP的時候必須是在已有的網卡上添加的
    virtual_router_id 51這里設置VRID,這里非常重要,相同的VRID為一個組,他將決定多播的MAC地
    priority 100這里設置VRID,這里非常重要,相同的VRID為一個組,他將決定多播的MAC地址
    advert_int 1檢查間隔,默認為1秒
    authentication {這里設置認證
        auth_type PASS認證方式,可以是PASS或AH兩種認證方式
        auth_pass chylinux>com
    }
    virtual_ipaddress {
        192.168.212.1
    }這里設置的就是VIP,也就是虛擬IP地址,他隨著state的變化而增加刪除,當state為master的時候就添加,當state為backup的時候刪除,這里主要是有優先級來決定的,和state設置的值沒有多大關系,這里可以設置多個IP地址
    track_script {
        chk_nginx
    }
}
[root@chy01 ~]# vim /usr/local/sbin/check_ng.sh
(編輯腳本)
#!/bin/bash
d=` date --date today +%Y%m%d_%H:%M:%S`
#計算nginx進程數量
n=`ps -C nginx --no-heading|wc -l`
#如果進程為0,則啟動nginx,并且再次檢測nginx進程數量,
#如果還為0,說明nginx無法啟動,此時需要關閉keepalived
if [ $n -eq "0" ]; then
        /etc/init.d/nginx start
        n2=`ps -C nginx --no-heading|wc -l`
        if [ $n2 -eq "0"  ]; then
                echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
                systemctl stop keepalived
        fi
fi
[root@chy01 ~]# chmod 755 /usr/local/sbin/check_ng.sh 
(增加腳本的權限)
[root@chy01 ~]# systemctl start keepalived
[root@chy01 ~]# ps aux |grep keep
root       3225  0.0  0.0 111708  1308 ?        Ss   06:13   0:00 /usr/sbin/keepalived -D
root       3226  0.0  0.1 111708  2560 ?        S    06:13   0:00 /usr/sbin/keepalived -D
root       3227  0.0  0.1 111708  1624 ?        S    06:13   0:00 /usr/sbin/keepalived -D
root       3254  0.0  0.0 112664   972 pts/0    S+   06:13   0:00 grep --color=auto keep
[root@chy01 ~]# ps aux |grep nginx
root       2485  0.0  0.0  45484  1280 ?        Ss   05:15   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody     2492  0.0  0.2  47972  4172 ?        S    05:15   0:00 nginx: worker process
nobody     2493  0.0  0.2  47972  3916 ?        S    05:15   0:00 nginx: worker process
root       3274  0.0  0.0 112668   972 pts/0    S+   06:13   0:00 grep --color=auto nginx
(啟動keepalive服務并且查看是否啟動)
[root@chy01 ~]# less /var/log/messages
(keepalive的log日志)
[root@chy01 ~]# ip add 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:13:b3:3b brd ff:ff:ff:ff:ff:ff
    inet 192.168.212.11/24 brd 192.168.212.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.100.1/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::243b:ddac:7a2b:a5b/64 scope link 
       valid_lft forever preferred_lft forever
(查看虛擬ip地址 ,需要用ipadd 查看)
(之后需要在主服務器,與備服務器上面都查看防火墻是否關閉,兩邊都需要關閉才可以)

配置從服務器

[root@chy ~]# >/etc/keepalived/keepalived.conf 
(清空備的配置文件)

global_defs {
   notification_email {
     aming@aminglinux.com
   notification_email_from root@aminglinux.com
   smtp_server 127.0.0.1
   notification_email {
     aming@aminglinux.com
   smtp_server 127.0.0.1
}  
     aming@aminglinux.com
   }
   notification_email_from root@aminglinux.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_script chk_nginx {
    script "/usr/local/sbin/check_ng.sh"
    interval 3
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass chylinux>com
    }
    virtual_ipaddress {
        192.168.212.1
    }
    track_script {
        chk_nginx
    }
}
(如上是備的配置文件)
[root@chy ~]# vim /usr/local/sbin/check_ng.sh
(編輯備的腳本文件)
!/bin/bash
時間變量,用于記錄日志
d=`date --date today +%Y%m%d_%H:%M:%S`
#計算nginx進程數量
n=`ps -C nginx --no-heading|wc -l`
#如果進程為0,則啟動nginx,并且再次檢測nginx進程數量,
#如果還為0,說明nginx無法啟動,此時需要關閉keepalived
if [ $n -eq "0" ]; then
        systemctl start nginx
        n2=`ps -C nginx --no-heading|wc -l`
        if [ $n2 -eq "0"  ]; then
                echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
                systemctl stop keepalived
        fi
fi
[root@chy ~]# chmod 755 /usr/local/sbin/check_ng.sh 
[root@chy ~]# source /usr/local/sbin/check_ng.sh 
(使腳本生效)
[root@chy ~]# systemctl start keepalived
[root@chy ~]# ps aux |grep keepalived
root       4484  0.0  0.0 111728  1308 ?        Ss   06:58   0:00 /usr/sbin/keepalived -D
root       4485  0.0  0.1 111728  2560 ?        S    06:58   0:00 /usr/sbin/keepalived -D
root       4486  0.0  0.1 111728  1644 ?        S    06:58   0:00 /usr/sbin/keepalived -D
root       4503  0.0  0.0 112664   980 pts/0    R+   06:58   0:00 grep --color=auto keepalived
(啟動keepalived并且查看是否啟動)
[root@chy ~]# cat /usr/share/nginx/html/index.html 
(yum安裝的nginx的默認主機的位置)

測試高可用

[root@chy01 ~]# /etc/init.d/nginx stop
Stopping nginx (via systemctl):                            [  確定  ]
(測試1關閉nginx)
[root@chy01 ~]# ps aux |grep nginx
root      10942  0.0  0.0  45484  1276 ?        Ss   07:13   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody    10944  0.0  0.2  47972  3912 ?        S    07:13   0:00 nginx: worker process
nobody    10945  0.0  0.2  47972  3912 ?        S    07:13   0:00 nginx: worker process
root      10961  0.0  0.0 112664   976 pts/0    S+   07:13   0:00 grep --color=auto nginx
(之后查看會自動啟動這個是因為寫的腳本check)
測試2:在master上增加iptabls規則 
[root@chy01 ~]# iptables -I OUTPUT -p vrrp -j DROP
[root@chy01 ~]# iptables -nvL
Chain INPUT (policy ACCEPT 58 packets, 3974 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 36 packets, 3394 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   30  1200 DROP       112  --  *      *       0.0.0.0/0            0.0.0.0/0           
(查看已經iptables的規則)
測試2并不能測試出keepvalied的是否可以速度切換)
測試3:當停止主的keepvalied服務時,到從的服務器上可以迅速的看到切換的速度。
[root@chy ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:70:77:62 brd ff:ff:ff:ff:ff:ff
    inet 192.168.212.10/24 brd 192.168.212.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.212.100/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::338e:589c:fa07:65e5/64 scope link 
       valid_lft forever preferred_lft forever
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安化县| 庆城县| 芮城县| 新泰市| 嘉定区| 从化市| 安庆市| 垦利县| 淮南市| 澄城县| 定结县| 凭祥市| 滦南县| 南宫市| 南京市| 桃园县| 富顺县| 九江县| 阳东县| 丹凤县| 吉林省| 南昌市| 保康县| 高州市| 靖西县| 宁南县| 鲁甸县| 武威市| 姚安县| 嘉禾县| 无为县| 凤城市| 额济纳旗| 延庆县| 翼城县| 富裕县| 富顺县| 红安县| 鄂温| 潜江市| 乌鲁木齐市|