デュアルアクティブ負荷分散のインストールと構成には、Haproxy Keepalived を使用します。

デュアルアクティブ負荷分散のインストールと構成には、Haproxy Keepalived を使用します。

保存しました!

環境の準備

1. 4 つの仮想マシンを起動します (ここでは Centos を例として使用します)。IP は次のとおりです。

192.168.130

192.168.132

192.168.128

192.168.129

2. haproxyをインストールする

これら2台のマシンの対応するポート130と132の外部ネットワークアクセス権を開きます。

1 2 3 4 5 /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT /etc/rc .d /init .d /iptables restart インストールの実行 /etc/rc .d /init .d /iptables save /etc/rc .d /init .d /iptables restart

マシン 130 と 132 にそれぞれ haproxy をインストールします。

1 yum -y haproxy install

両方のマシンをインストールしたら、ファイル構成を実行し、132 の構成ファイルを変更します。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #vi /etc/haproxy/haproxy.cfg global    log 127.0.0.1 local2    chroot /var/lib/haproxy    pidfile /var/run/haproxy    maxconn 4000    user haproxy    group haproxy    daemon    stats socket /var/lib/haproxy/stats defaults    mode http    log global    option httplog    option dontlognull    option http-server-close    option forwardfor except 127.0.0.0 /8    option redispatch    retries 3    timeout http-request 10s    timeout queue 1m    timeout connect 10s    timeout client 1m    timeout server 1m    timeout http-keep-alive 10s    timeout check 10s    maxconn 3000    stats refresh 5s    stats uri /haproxy    stats realm baison- test -Haproxy    stats auth admin:admin123    stats hide-version    option dontlognull    option http-server-close    option forwardfor except 127.0.0.0 /8    option redispatch    retries 3    timeout http-request 10s    timeout queue 1m    timeout connect 10s    timeout client 1m    timeout server 1m    timeout http-keep-alive 10s    timeout check 10s    maxconn 3000    stats refresh 5s    stats uri /haproxy #haproxy監控界面    stats realm baison- test -Haproxy    stats auth admin:admin123    stats hide-version frontend main *:80 #監聽80端口    acl url_static path_beg -i /static /images /javascript /stylesheets    acl url_static path_end -i .jpg .gif .png .css .js    use_backend static if url_static #匹配url_static條件的url使用static轉發    default_backend web #其他的url使用后面定義的web轉發backend static #static轉發服務を使用します    balance roundrobin    server static1 192.168.230.128:8080 check inter 2000 fall 3 weight 30 #128這臺機器上運行8080端口的tomcat,用于提供靜態文件訪問    server static2 192.168.230.129:8080 check inter 2000 fall 3 weight 30 #129這臺機器上運行8080端口的tomcat,用于提供靜態文件訪問backend web #定義名為”web“的轉發服務    balance roundrobin    server web1 192.168.230.128:8081 check inter 2000 fall 3 #128這臺機器上運行8081端口的tomcat,用于提供非靜態資源訪問    server web2 192.168.230.129:8081 check inter 2000 fall 3 #129這臺機器上運行8081端口的tomcat,用于提供非靜態資源訪問

構成ファイルを 130 サーバー上の同じディレクトリにコピーし、130 サーバー上で次の操作を実行します。

1 2 rm /etc/haproxy/haproxy .cfg //刪除130自己的配置文件scp [email protected]: /etc/haproxy/haproxy .cfg /etc/haproxy/

2 つのサーバーの haproxy のインストールと構成が完了しました。

3. 132 と 130 にそれぞれ keepalived をインストールします。

まずopenssl-develをインストールしてください

1 yum openssl-devel install

keepalived インストール ディレクトリを作成し、ダウンロードしてインストールします。

1 2 3 4 5 6 7 mkdir /usr/local/ha install cd . /usr/local/ha /configure tar .gz三w.keepalived.org wget http: // tar .gz /software/keepalived-1 zxvf keepalived-1.2.23. .2.23. tar keepalived-1.2.23 cd & make make

両方のマシンをインストールしたら、keepalived (132 台のマシン) を構成します。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #mkdir /etc/keepalived/ #cp /usr/local/ha/keepalived-1.2.23/doc/samples/keepalived.conf.sample /etc/keepalived/keepalived.conf #vi /etc/keepalived/keepalived.conf ! Configuration File keepalived global_defs { for設定ファイル {  router_id Node_132 ###名稱隨便取} vrrp_script chk_http_port {  script "/opt/check_haproxy.sh" ###檢測腳本防止不自動切換的問題,接下來會創建  interval 2  weight 2 } vrrp_instance VI_1 {    state MASTER ###主服務,表示訪問下面虛擬ip 200時,映射到當前機器    interface eth1 ###你的網卡名稱,使用ip a命令查看,并修改    virtual_router_id 50 ###路由id,主從保持一致    priority 100 ###權重,比從服務器大    advert_int 1    track_script {        chk_http_port ### 執行監控的服務    }    virtual_ipaddress {        192.168.230.200 ###虛擬ip地址    } } vrrp_instance VI_2 {    state BACKUP ###從服務,當另一臺機器不工作時,訪問下面虛擬ip 201就映射到當前臺機器    interface eth1    virtual_router_id 52 ###路由id,主從保持一致    priority 99 權重,比主服務器小    advert_int 1    virtual_ipaddress {       192.168.230.201 ###虛擬ip地址    } }

検出ファイルを作成する

1 2 3 4 5 6 7 8 #vi /opt/check_haproxy.sh f [ $( ps -C haproxy --no-header | wc -l) - eq 0 ]; then     /etc/init .d /haproxy start fi sleep 2 if [ $( ps -C haproxy --no-header | wc -l) - eq 0 ]; then       /etc/init /keepalived .d

構成ファイルと検出ファイルを別のサーバーにコピーし、130 で次の操作を実行します。

1 2 3 mkdir /etc/keepalived/ scp [email protected]: /etc/keepalived/keepalived .conf /etc/keepalived/ scp [email protected]: /opt/check_haproxy .sh /opt/check_haproxy .sh

ここでkeepalivedがインストールされます。

4. tomcatサービス環境をインストールする

128 に 2 つの tomcat をコピーします。1 つはポート 8080、もう 1 つはポート 8081 です。

a. Tomcat ポートが低すぎるため、ポートを変更します。操作を実行します。

b. テストと検証を容易にするために、Tomcat ポート 8080 の Tomcat ページを変更します。

1 vi webapps /ROOT/index .jsp
  • ヘッドに js をインポートします: <script type="text/javascript" src="test.js"></script>
  • 本文の下にサーバーの説明 HTML を追加します: <h1>web-128:8080</h1><h1 id="js_h">js の場所</h1> (これはホスト 128 のポート 8080 のサービス ページであることを示します)
  • index.jsp と同じディレクトリに新しい test.js を作成します: window.onload = function(){document.getElementById("js_h").innerHTML='js-128:8080′;}

js ファイルは「js location」の内容を変更し、この js ファイルが 128 ホストの 8080 ポート サービスからのものであることを示します。

c. Tomcat ポート 8081 でも同様の変更を行います。

  • ヘッドに js をインポートします: <script type="text/javascript" src="test.js"></script>
  • 本文の下にサーバーの説明 HTML を追加します: <h1>web-128:8081</h1><h1 id="js_h">js の場所</h1>
  • test.js: window.onload = function() {document.getElementById("js_h").innerHTML='js-128:8081';}

同様に、129 サーバーに 2 つの tomcat をコピーします。1 つはポート 8080、もう 1 つはポート 8081 です。tomcat ファイルを変更するときは、ip 128 を 129 に変更するだけです。

これで環境がインストールされました。

4台のTomcatを実行する

haproxyを実行します: service haproxy start

keepalived を実行します:

1 keepalived -D -f /etc/keepalived/keepalived .conf

haproxy 監視ページを表示するには、次のページを開きます: http://192.168.230.132/haproxy、http://192.168.230.130/haproxy

モニタリングを通じて、訪問回数やその他のメッセージを確認できます

http://192.168.230.200 または http://192.168.230.201 にアクセスしてページを複数回更新します。

js ファイルとページのソースの変更を観察すると、js ファイルはポート 8080、128、129 のサーバーから取得され、ページはポート 8081、128、129 のサーバーから取得されていることがわかります。ページと静的ファイルの読み込みに使用されるさまざまな haproxy サービス ルールについて説明します。

http://192.168.230.200、http://192.168.230.201 にアクセスしてください。ページ上のデータの変更を監視すると、200は132サーバーによって転送され、アクセス201は130によって転送されていることがわかります。

実際のシナリオでは、動的リソースにアクセスする場合は 200 アドレスが使用され、静的リソースにアクセスする場合は 201 アドレスが使用されます。Tomcat または haproxy をシャットダウンすると、サーバーの切り替えを確認できます。これにより、デュアルマスターバックアップが実現され、高可用性が確保されるとともに、サーバーの使用率も向上します。

全文は http://www.javaseo.cn/article/63/ から。

<<:  Netcup: 本人確認を通過するための詳細なヒント [最近は本人確認が緩和されているので、行うことをお勧めします]

>>:  Java Photo Station Beauty インストール チュートリアル

推薦する

月額 4 ドル / 256M / 30G スペース / 500G トラフィック / OpenVZ VPS —— カスタマイズされた VPS

Tailored VPS は 2011 年 2 月に設立され、VPS を提供し始めたのはごく最近の...

HostUS: $35/年/512MB RAM/10GB SSD/750GB/OpenVZ/香港

HostUS、香港データセンターの価格が上昇しました。以前のパッケージとレビュー:はじめに: Hos...

Dynadot.com ホスティング紹介

Dynadot.com は、Web ホスティングおよびドメイン登録サービスを提供しています。この記事...

DMIT: 月額 14.9 ドル / メモリ 1GB / SSD スペース 20GB / トラフィック 1.2TB / DDOS / KVM / 香港

DMIT はアメリカのホスティング会社(中国人が運営)で、主に香港の KVM VPS、独立サーバーな...

SecureDragon: $18/年/4GB メモリ/100GB スペース/10TB トラフィック/KVM/タンパ

SecureDragon は 2012 年 4 月に初めて導入され、2010 年 10 月に設立され...

オンライン: 月額 17.5 ユーロ/E3-1240v3/32GB メモリ/1.2TB ハードディスク/無制限トラフィック/1Gbps ポート/フランス

フランスの商人であるOnlineは、1Gbpsの無制限トラフィックを備えた独自のコンピュータールーム...

IOFLOOD: 月額 109 ドル / E3-1230v2 / 16 GB メモリ / 20 TB ハード ドライブ / 100 TB トラフィック / 1 Gbps ポート / Phoenix

IOFLOOD は、2009 年に設立された老舗のアメリカのホスティング プロバイダーで、独立した...

HostHatch: 冬季特別価格 KVM VPS、ロサンゼルス/シカゴ/スウェーデン/イギリスなど、ビッグプレートチキン

ブラックフライデーの特別セールに比べると、価格は少し高いですが、かなりお得です。ストックホルム:スウ...

名前:$4.99 .COM、.NETなどの割引

名前、Big Game 2017 ドメインセール、.COM、.NET などをわずか 4.99 ドルで...

初心者ガイド: ドメイン名とホスティングの選択

これは純粋な初心者向けのチュートリアルです。経験豊富なユーザーは、恥をかかないようにこれを読まないで...

NameCheap: ドメイン移転割引 com $4.88/年、ネット $5.94/年

最新のドメイン名移転割引である NameCheap はかなり優れており、無料のドメイン名ステルス保護...

HostDare: $34/年/756MB メモリ/35GB スペース/600GB トラフィック/80Mbps/KVM/ロサンゼルス CN2 GT

HostDare はホスト百科事典で何度も紹介されており、顧客サービス姿勢も非常に優れています。ロ...

バケーション プライベート サーバー: 月額 4 ドル / 4 コア / 2GB メモリ / 50GB スペース / 1TB 帯域幅 / KVM

新しく設立されたホスティング会社である Vacation Private Servers は、Veg...

eBesucher ハングアップガイド

eBesucher はドイツで最も有名な自動サーフィン金儲けサイトです。このサイトの最低出金額は P...