成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【博文推薦】基于云端虛擬機的LVS/DR+Keepalived+nginx的高可用集群架構配置

云計算 系統運維
最近,公司要我部署一個集群架構,選來選去還是選擇了大家都很熟悉的基于DR的LVS+Keepalived做負載分發,然后使用輕量級的nginx做中間代理層。在這篇博文里介紹如何實現一個簡單web應用功能,對于代理功能和后續的web層部署、數據層安排將擇機更新。

最近,公司要我部署一個集群架構,選來選去還是選擇了大家都很熟悉的基于DR的LVS+Keepalived做負載分發,然后使用輕量級的nginx做中 間代理層,這里呢先暫時實現一個簡單web應用功能,對于代理功能和后續的web層部署、數據層安排將擇機更新!

首先看一下集群框架:

  wKiom1R9pDCBdH6DAAFs7SXE3aQ326.jpg  

下面開始我們的集群搭建行程:

一、IP規劃:

做一件事情需要想想怎么去做既簡單又有條理,我們做項目也應該如此。所以這里一定先做一個簡單的規劃,對于你后續測試的時候出現不能分發的情況有所解決。

               負載均衡層                            代理層                      WEB層(待定)

           LVS1:10.124.20.248       nginx1:10.124.20.250              web1

 

                                                  nginx2:10.124.20.251

 

           LVS2:10.124.20.249       nginx3:10.124.20.252               web2

          VIP:10.124.20.20   對應綁定的外網IP:117.78.3.253

備注:在云端虛擬機做架構,比在自己本地虛擬機做實驗,要略有不同。初次接觸云端虛擬機的同學可能有點犯迷糊,不知道這個ip地址是怎么分配的,怎么去管 理。我的老師教給一個最能解決問題的辦法:在任何服務之前,首先要了解整個網絡環境,然后根據環境部署服務,更改配置、規則等。關于云端虛擬機,它在整個 硬件防火墻和整個路由器封閉起來的一個大的局域網集群(這里為了好理解我們姑且認為云端就一個防火墻和一個路由器)。在這個集群中,又有很多網段的局域 網,每個企業在申請虛擬機的時候一般會建立一個虛擬機組,這個機組則對應著一個網段。

這里使用的網段是10.124.20.0/24, 給各臺服務器分配唯一的IP地址。這里要特別說明一下,華為云技術人員建議使用的服務器固定ip在32-254之間,在2-31之間的IP地址作為候補之 用,比如說VIP就選用這里面,還有臨時加虛擬機的話也可以選用。所以對于IP地址的規劃是很重要的。另外說一下,這也是在生產環境中的經驗吧,VIP必 須是和集群IP地址在一個網段,還要必須有別于集群IP地址,另外要提供網站訪問服務或者測試,則需要將內網的VIP與一個公網IP進行綁定,在外部網絡 瀏覽器訪問外網IP就會直接映射到內網VIP上,然后就會實現我們所熟悉的功能,VIP漂移,LVS分發。小技巧:公網IP與單純的一個內網ip做綁定是 不成功的,所以先把需要綁定公網IP的內網IP綁定到一個虛擬機上,然后再進行綁定,綁定完之后再進行更改IP地址。(比如說我要使用10.124.20.20做VIP,首先我把10.124.20.20綁定到一臺虛擬機上,通過后臺將外網IP117.78.3.253與10.124.20.20綁定,也就是做映射,最后再將10.124.20.20與虛擬解綁,這樣就實現了預期目的)

二、源碼安裝&&配置

1.LVS+Keepalived搭建 

1)LVS1:10.124.20.248&&LVS2:10.124.20.249

  1. cd /usr/local/src/ 
  2.  
  3. tar xf ipvsadm-1.24.tar.gz 
  4.  
  5. tar xf keepalived-1.1.20.tar.gz 

ipvsadm編譯安裝

  1. ln -s /usr/src/kernels/2.6.32-279.el6.x86_64/ /usr/src/linux  #創建軟連接 
  2.  
  3. cd /usr/local/src/ipvsadm-1.24 
  4.  
  5. make && make install 
  6.  
  7. #/sbin/ipvsadm -v  #檢測ipvsadm是否安裝成功(或者:#watch ipvsadm –ln) 
  8.  
  9.    ipvsadm v1.24 2005/12/10 (compiled with getopt_long and IPVS v1.2.1

將ipvsadm設置成開機自啟動服務

  1. chkconfig --add  keepalived 
  2.  
  3. chkconfig keepalived on 

Keepalived編譯安裝

  1. /usr/local/src/keepalived-1.1.20 
  2.  
  3. ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-279.el6.x86_64 
  4.  
  5. 返回信息: 
  6.  
  7. Keepalived configuration 
  8.  
  9. ------------------------ 
  10.  
  11. Keepalived version       : 1.1.20 
  12.  
  13. Compiler                 : gcc 
  14.  
  15. Compiler flags           : -g -O2 
  16.  
  17. Extra Lib                : -lpopt -lssl -lcrypto  
  18.  
  19. Use IPVS Framework       : Yes 
  20.  
  21. IPVS sync daemon support : Yes 
  22.  
  23. Use VRRP Framework       : Yes 
  24.  
  25. Use Debug flags          : No 
  26.  
  27. make && make install 
  28.  
  29. 返回信息: 
  30.  
  31. install -d /usr/local/keepalived/bin 
  32.  
  33. install -m 755 ../bin/genhash /usr/local/keepalived/bin/ 
  34.  
  35. install -d /usr/local/keepalived/share/man/man1 
  36.  
  37. install -m 644 ../doc/man/man1/genhash.1 /usr/local/keepalived/share/man/man1 

將Keepalived做成服務:

  1. cd /usr/local/keepalived/ 
  2.  
  3. cp etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ 
  4.  
  5. cp etc/sysconfig/keepalived /etc/sysconfig/ 
  6.  
  7. mkdir /etc/keepalived 
  8.  
  9. cp etc/keepalived/keepalived.conf /etc/keepalived/ 
  10.  
  11. cp sbin/keepalived /usr/sbin/ 

2)修改Keepalived.conf配置文件    

  1. #cat /etc/keepalived/keepalived.conf  #主LVS1:10.124.20.248 
  2.  
  3.     ! Configuration File for keepalived 
  4.  
  5.     global_defs { 
  6.  
  7.         notification_email { 
  8.  
  9.                qingbo.song@apicloud.com 
  10.  
  11.          } 
  12.  
  13.         notification_email_from qingbo.song@apicloud.com 
  14.  
  15.         smtp_server 127.0.0.1 
  16.  
  17.         # smtp_connect_timeout 30 
  18.  
  19.         router_id LVS_DEVEL          
  20.  
  21.     } 
  22.  
  23.       
  24.  
  25.     vrrp_sync_group VGM {     
  26.  
  27.         group { 
  28.  
  29.                VI_1  
  30.  
  31.               } 
  32.  
  33.       
  34.  
  35.     notify_master "/opt/shell/arp.sh" 
  36.  
  37.     notify_backup "/opt/shell/arp.sh" 
  38.  
  39.     } 
  40.  
  41.     vrrp_script chk_nginx {    
  42.  
  43.     script "/opt/shell/check_nginx.sh" 
  44.  
  45.     interval 1 
  46.  
  47.     weight -2 
  48.  
  49.     } 
  50.  
  51.     vrrp_script chk_nginx2 {      
  52.  
  53.     script "/opt/shell/check_nginx2.sh" 
  54.  
  55.     interval 1 
  56.  
  57.     weight -2 
  58.  
  59.     } 
  60.  
  61.     vrrp_script chk_nginx3 {      
  62.  
  63.     script "/opt/shell/check_nginx3.sh" 
  64.  
  65.     interval 1 
  66.  
  67.     weight -2 
  68.  
  69.     } 
  70.  
  71.     vrrp_instance VI_1 {        
  72.  
  73.         state MASTER   
  74.  
  75.         interface eth0       
  76.  
  77.         virtual_router_id 51  
  78.  
  79.         priority 100    
  80.  
  81.         advert_int 1      
  82.  
  83.         authentication {     
  84.  
  85.              auth_type PASS 
  86.  
  87.              auth_pass yzkjTest 
  88.  
  89.          } 
  90.  
  91.     track_script {    
  92.  
  93.     chk_nginx 
  94.  
  95.     chk_nginx2 
  96.  
  97.     chk_nginx3 
  98.  
  99.     } 
  100.  
  101.     virtual_ipaddress { 
  102.  
  103.         10.124.20.20    
  104.  
  105.         } 
  106.  
  107.     } 
  108.  
  109.     virtual_server 10.124.20.20 80 {    
  110.  
  111.         delay_loop 5 
  112.  
  113.         lb_algo sh 
  114.  
  115.         lb_kind DR  
  116.  
  117.         persistence_timeout 60 
  118.  
  119.         protocol TCP  
  120.  
  121.     real_server 10.124.20.250 80 {     
  122.  
  123.         weight 1     
  124.  
  125.         TCP_CHECK { 
  126.  
  127.            connect_timeout 10    
  128.  
  129.            nb_get_retry 3 
  130.  
  131.            delay_before_retry 3    
  132.  
  133.            connect_port 80 
  134.  
  135.                  } 
  136.  
  137.     } 
  138.  
  139.       
  140.  
  141.     real_server 10.124.20.251 80 {  
  142.  
  143.        weight 1 
  144.  
  145.        TCP_CHECK { 
  146.  
  147.           connect_timeout 10 
  148.  
  149.           nb_get_retry 3 
  150.  
  151.           delay_before_retry 3 
  152.  
  153.           connect_port 80 
  154.  
  155.                 } 
  156.  
  157.     } 
  158.  
  159.      
  160.  
  161.     real_server 10.124.20.252 80 {  
  162.  
  163.        weight 1 
  164.  
  165.        TCP_CHECK { 
  166.  
  167.           connect_timeout 10 
  168.  
  169.           nb_get_retry 3 
  170.  
  171.           delay_before_retry 3 
  172.  
  173.           connect_port 80 
  174.  
  175.                 } 
  176.  
  177.          } 
  178.  
  179.     } 
  180.  
  181.     #cat /etc/keepalived/keepalived.conf  #備LVS1:10.124.20.249 
  182.  
  183.     ! Configuration File for keepalived 
  184.  
  185.     global_defs { 
  186.  
  187.         notification_email { 
  188.  
  189.                qingbo.song@apicloud.com 
  190.  
  191.          } 
  192.  
  193.         notification_email_from qingbo.song@apicloud.com 
  194.  
  195.         smtp_server 127.0.0.1 
  196.  
  197.         # smtp_connect_timeout 30 
  198.  
  199.         router_id LVS_DEVEL          
  200.  
  201.     } 
  202.  
  203.       
  204.  
  205.     vrrp_sync_group VGM {     
  206.  
  207.         group { 
  208.  
  209.                VI_1  
  210.  
  211.               } 
  212.  
  213.       
  214.  
  215.     notify_master "/opt/shell/arp.sh" 
  216.  
  217.     notify_backup "/opt/shell/arp.sh" 
  218.  
  219.     } 
  220.  
  221.     vrrp_script chk_nginx {    
  222.  
  223.     script "/opt/shell/check_nginx.sh" 
  224.  
  225.     interval 1 
  226.  
  227.     weight -2 
  228.  
  229.     } 
  230.  
  231.     vrrp_script chk_nginx2 {      
  232.  
  233.     script "/opt/shell/check_nginx2.sh" 
  234.  
  235.     interval 1 
  236.  
  237.     weight -2 
  238.  
  239.     } 
  240.  
  241.     vrrp_script chk_nginx3 {      
  242.  
  243.     script "/opt/shell/check_nginx3.sh" 
  244.  
  245.     interval 1 
  246.  
  247.     weight -2 
  248.  
  249.     } 
  250.  
  251.     vrrp_instance VI_1 {        
  252.  
  253.         state BACKUP 
  254.  
  255.         interface eth0       
  256.  
  257.         virtual_router_id 51  
  258.  
  259.         priority 99    
  260.  
  261.         advert_int 1      
  262.  
  263.         authentication {     
  264.  
  265.              auth_type PASS 
  266.  
  267.              auth_pass yzkjTest 
  268.  
  269.          } 
  270.  
  271.     track_script {    
  272.  
  273.     chk_nginx 
  274.  
  275.     chk_nginx2 
  276.  
  277.     chk_nginx3 
  278.  
  279.     } 
  280.  
  281.     virtual_ipaddress { 
  282.  
  283.         10.124.20.20    
  284.  
  285.         } 
  286.  
  287.     } 
  288.  
  289.     virtual_server 10.124.20.20 80 {    
  290.  
  291.         delay_loop 5 
  292.  
  293.         lb_algo sh 
  294.  
  295.         lb_kind DR  
  296.  
  297.         persistence_timeout 60 
  298.  
  299.         protocol TCP  
  300.  
  301.     real_server 10.124.20.250 80 {     
  302.  
  303.         weight 1     
  304.  
  305.         TCP_CHECK { 
  306.  
  307.            connect_timeout 10    
  308.  
  309.            nb_get_retry 3 
  310.  
  311.            delay_before_retry 3    
  312.  
  313.            connect_port 80 
  314.  
  315.                  } 
  316.  
  317.     } 
  318.  
  319.       
  320.  
  321.     real_server 10.124.20.251 80 {  
  322.  
  323.        weight 1 
  324.  
  325.        TCP_CHECK { 
  326.  
  327.           connect_timeout 10 
  328.  
  329.           nb_get_retry 3 
  330.  
  331.           delay_before_retry 3 
  332.  
  333.           connect_port 80 
  334.  
  335.                 } 
  336.  
  337.     } 
  338.  
  339.      
  340.  
  341.     real_server 10.124.20.252 80 {  
  342.  
  343.        weight 1 
  344.  
  345.        TCP_CHECK { 
  346.  
  347.           connect_timeout 10 
  348.  
  349.           nb_get_retry 3 
  350.  
  351.           delay_before_retry 3 
  352.  
  353.           connect_port 80 
  354.  
  355.                 } 
  356.  
  357.          } 
  358.  
  359.     }

相關檢測腳本:

  1. #cat /opt/shell/arp.sh  
  2.  
  3. #!/bin/bash 
  4.  
  5. VIP=10.124.20.20 
  6.  
  7. GATEWAY=10.124.20.1 
  8.  
  9. /sbin/arping -I eth0 -c 5 -s $VIP $GATEWAY &>/dev/null 
  10.  
  11.  
  12.  
  13. #cat /opt/shell/check_nginx.sh  
  14.  
  15. !/bin/bash 
  16.  
  17. url="http://10.124.20.250"    
  18.  
  19. status=$(/usr/bin/curl -s --head "$url" | awk '/HTTP/ {print $2}'
  20.  
  21. if [ "$status" != "200" ]; then 
  22.  
  23. /opt/shell/arp.sh start 
  24.  
  25. fi 
  26.  
  27.  
  28.  
  29. #cat /opt/shell/check_nginx2.sh  
  30.  
  31. !/bin/bash 
  32.  
  33. url="http://10.124.20.251"    
  34.  
  35. status=$(/usr/bin/curl -s --head "$url" | awk '/HTTP/ {print $2}'
  36.  
  37. if [ "$status" != "200" ]; then 
  38.  
  39. /opt/shell/arp.sh start 
  40.  
  41. fi 
  42.  
  43.  
  44.  
  45. #cat /opt/shell/check_nginx3.sh  
  46.  
  47. !/bin/bash 
  48.  
  49. url="http://10.124.20.252"    
  50.  
  51. status=$(/usr/bin/curl -s --head "$url" | awk '/HTTP/ {print $2}'
  52.  
  53. if [ "$status" != "200" ]; then 
  54.  
  55. /opt/shell/arp.sh start 
  56.  
  57. fi

 3)Keepalived服務啟動(ifconfig eth0:1 10.124.20.248 netmask 255.255.255.255 up)

  1.   service keepalived start #服務啟動 
  2.  
  3.   #ps -aux|grep keepalived #檢測服務啟動狀態 
  4.  
  5. (/usr/local/keepalived/sbin/keepalived -D -f /etc/keepalived/keepalived.conf -D 顯示在日志記錄  -f 指定配置文件目錄) 
  6.  
  7.   Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ 
  8.  
  9.   root     21205  0.0  0.0  36776   732 ?        Ss   17:06   0:00 keepalived -D 
  10.  
  11.   root     21207  0.0  0.1  38880  1936 ?        S    17:06   0:00 keepalived -D 
  12.  
  13.   root     21208  0.0  0.1  38880  1232 ?        S    17:06   0:00 keepalived -D 
  14.  
  15.   root     21301  0.0  0.0 103240   840 pts/0    S+   17:07   0:00 grep keepalived 

 4)#設置開機啟動服務

  1. (##echo “/usr/local/keepalived/sbin/keepalived -D -f /etc/keepalived/keepalived.conf” >> /etc/rc.d/rc.local) 
  2.  
  3.  chkconfig --add  keepalived 
  4.  
  5.  chkconfig keepalived on 
  6.  
  7. service iptables stop 

5)添加防火墻規則:

  1. iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT   #使80端口提供對外服務 
  2.  
  3.  iptables -A INPUT -d 224.0.0.0/8 -j ACCEPT 
  4.  
  5.  iptables -A INPUT -p vrrp -j ACCEPT #基于DR模式,當用戶發出請求后,只有DR響應ARP廣播包,允許vrrp虛擬路由器冗余協議 
  6.  
  7.  /etc/rc.d/init.d/iptables save #保存規則到iptables文件,使重啟后生效) 

6)開啟轉發功能;

  1. #vim /etc/sysctl.conf  
  2.  
  3. net.ipv4.ip_forward = 1 
  4.  
  5. #sysctl -p  #使轉發能夠生效 

三、nginx服務器的搭建

1)安裝pcre-8.36.tar.gz

  1. cd /usr/local/src 
  2.  
  3.   tar xf pcre-8.36.tar.gz 
  4.  
  5.   cd pcre-8.36 
  6.  
  7.   ./configure --prefix=/usr/local/pcre 
  8.  
  9.   make && make install 

2)安裝nginx-1.5.1.tar.gz

  1. cd /usr/local/src 
  2.  
  3.   tar xf nginx-1.5.1.tar.gz 
  4.  
  5.   cd nginx-1.5.1 
  6.  
  7.   ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.36 --with-openssl=/usr/local/src/openssl-1.0.0c //這里跟的目錄是源碼目錄,而不是源碼安裝后的目錄 
  8.  
  9.   make && make install 

3)啟動

編寫啟動腳本:

  1. vim /etc/init.d/nginx      | chmod +x /etc/init.d/nginx 
  2.  
  3.      #!/bin/sh 
  4.  
  5.      # 
  6.  
  7.      # nginx - this script starts and stops the nginx daemin 
  8.  
  9.      # 
  10.  
  11.      # chkconfig:   - 85 15 
  12.  
  13.      # description:  Nginx is an HTTP(S) server, HTTP(S) reverse \ 
  14.  
  15.      #               proxy and IMAP/POP3 proxy server 
  16.  
  17.      # processname: nginx 
  18.  
  19.      # config:      /usr/local/nginx/conf/nginx.conf 
  20.  
  21.      # pidfile:     /usr/local/nginx/logs/nginx.pid 
  22.  
  23.      # Source function library. 
  24.  
  25.      . /etc/rc.d/init.d/functions 
  26.  
  27.      # Source networking configuration. 
  28.  
  29.      . /etc/sysconfig/network 
  30.  
  31.      # Check that networking is up. 
  32.  
  33.      [ "$NETWORKING" = "no" ] && exit 0 
  34.  
  35.      nginx="/usr/local/nginx/sbin/nginx" 
  36.  
  37.      prog=$(basename $nginx) 
  38.  
  39.      NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 
  40.  
  41.      lockfile=/var/lock/subsys/nginx 
  42.  
  43.      start() { 
  44.  
  45.          [ -x $nginx ] || exit 5 
  46.  
  47.          [ -f $NGINX_CONF_FILE ] || exit 6 
  48.  
  49.          echo -n $"Starting $prog: " 
  50.  
  51.          daemon $nginx -c $NGINX_CONF_FILE 
  52.  
  53.          retval=$? 
  54.  
  55.          echo 
  56.  
  57.          [ $retval -eq 0 ] && touch $lockfile 
  58.  
  59.          return $retval 
  60.  
  61.      } 
  62.  
  63.      stop() { 
  64.  
  65.          echo -n $"Stopping $prog: " 
  66.  
  67.          killproc $prog -QUIT 
  68.  
  69.          retval=$? 
  70.  
  71.          echo 
  72.  
  73.          [ $retval -eq 0 ] && rm -f $lockfile 
  74.  
  75.          return $retval 
  76.  
  77.      } 
  78.  
  79.      restart() { 
  80.  
  81.          configtest || return $? 
  82.  
  83.          stop 
  84.  
  85.          start 
  86.  
  87.      } 
  88.  
  89.      reload() { 
  90.  
  91.          configtest || return $? 
  92.  
  93.          echo -n $"Reloading $prog: " 
  94.  
  95.          killproc $nginx -HUP 
  96.  
  97.          RETVAL=$? 
  98.  
  99.          echo 
  100.  
  101.      } 
  102.  
  103.      force_reload() { 
  104.  
  105.          restart 
  106.  
  107.      } 
  108.  
  109.      configtest() { 
  110.  
  111.        $nginx -t -c $NGINX_CONF_FILE 
  112.  
  113.      } 
  114.  
  115.      rh_status() { 
  116.  
  117.          status $prog 
  118.  
  119.      } 
  120.  
  121.      rh_status_q() { 
  122.  
  123.          rh_status >/dev/null 2>&1 
  124.  
  125.      } 
  126.  
  127.      case "$1" in 
  128.  
  129.          start) 
  130.  
  131.              rh_status_q && exit 0 
  132.  
  133.              $1 
  134.  
  135.              ;; 
  136.  
  137.          stop) 
  138.  
  139.              rh_status_q || exit 0 
  140.  
  141.              $1 
  142.  
  143.              ;; 
  144.  
  145.          restart|configtest) 
  146.  
  147.              $1 
  148.  
  149.              ;; 
  150.  
  151.          reload) 
  152.  
  153.              rh_status_q || exit 7 
  154.  
  155.              $1 
  156.  
  157.              ;; 
  158.  
  159.          force-reload) 
  160.  
  161.              force_reload 
  162.  
  163.              ;; 
  164.  
  165.          status) 
  166.  
  167.              rh_status 
  168.  
  169.              ;; 
  170.  
  171.          condrestart|try-restart) 
  172.  
  173.              rh_status_q || exit 0 
  174.  
  175.                  ;; 
  176.  
  177.          *) 
  178.  
  179.              echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 
  180.  
  181.              exit 2 
  182.  
  183.      esac

service nginx start 啟動服務

4)RS配置腳本

 啟動RS配置:

  1. sh /opt/RS.sh start 

四、測試

瀏覽器訪問測試117.78.3.253,能夠返回想要的信息即為成功!

五、總結

使用LVS+Keepalived做負載均衡,首先先將內部各個服務器的iptables與selinux關閉,確保內部網絡通暢,一般而言,將上述防火 墻關閉之后,安裝上述配置文件提供的參數進行配置,是能夠實現預期功能的。我的文檔中可能提到過要設置iptables規則,這個要在測試通過之后,再打 開iptables,然后寫上防火墻規則。通過查閱很多資料,看到很多人都在防火墻關閉的情況實驗成功,看來防火墻與LVS的分發功能是多少有點沖突,對 于這方面的知識學習,有待于我們在今后的工作和學習中進行探索,我也將對后續知識在被人博客上做介紹,希望以后能在這個平臺與大家一起交流、學習、成長!

qingbo.song@apicloud.com

2014-12-02

原文鏈接:http://swht1278.blog.51cto.com/7138082/1585684

責任編輯:Ophira 來源: 51CTO
相關推薦

2019-10-09 16:02:16

NginxKeepalivedLvs

2023-05-15 08:20:56

2015-07-03 11:26:07

MySQL高可用架MHA

2019-10-31 09:03:12

Java集群微服務

2014-05-30 13:35:21

MySQL Clust架構

2012-02-15 00:01:34

2019-12-24 14:28:00

KeepalivedNginxTomcat

2019-09-09 09:53:52

K8s集群架構

2014-12-23 11:23:14

DRBDHeartbeatNFS

2011-11-28 21:01:03

NginxKeepalived高可用

2014-12-24 11:13:06

可用性集availabilitset

2020-10-28 07:10:07

Nginx高可用高并發

2015-04-24 09:06:43

云存儲故障切換虛擬化

2012-05-18 10:11:10

虛擬機VM

2017-11-13 11:07:32

Nginx搭建高可用

2015-10-21 12:58:58

keepalived集群Linux

2009-09-16 10:30:16

創建高可用虛擬機

2010-06-21 14:37:18

2013-07-17 09:32:58

2015-07-29 13:21:58

DockerRails 集群高可用架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产午夜精品一区二区三区嫩草 | 国产精品免费观看 | 日韩中文不卡 | 香蕉视频一区二区 | 成人午夜激情 | 成人免费观看男女羞羞视频 | 国产精品精品视频一区二区三区 | 久久久久一区二区三区四区 | 99精品在线观看 | av网站免费观看 | 久久久精品一区二区 | 国产一区二区三区久久久久久久久 | 国产成人在线一区 | 国产一区91精品张津瑜 | 欧美成人a∨高清免费观看 欧美日韩中 | 99热在线播放 | 日韩欧美精品在线 | 欧美日韩不卡在线 | 国产午夜影院 | 欧美成人影院在线 | 亚洲每日更新 | 欧美精品一区二区三区在线播放 | av黄色免费在线观看 | 久久99视频 | 日韩精品在线播放 | 国产高清视频 | 成人网在线观看 | 国产视频福利在线观看 | 国产综合在线视频 | 成人在线国产 | 夜夜爽99久久国产综合精品女不卡 | 免费看一区二区三区 | 台湾a级理论片在线观看 | 337p日本欧洲亚洲大胆 | 日韩成人影院在线观看 | 91精品国产一区 | 国产一区三区视频 | 国产高清在线观看 | 欧美另类视频在线 | 欧美日韩国产不卡 | 国产精品国产三级国产aⅴ原创 |