宿題:
スプリットブレインどのようなものです:アクセスすることはできませんどのようにつながる、両側にその膝、およびリソースに互いのサーバーだと思います。
。1、NFS DRBD +ビート+
2、+ nginxの高可用性keepalivedの
スプリットブレインどのようなものです:アクセスすることはできませんどのようにつながる、両側にその膝、およびリソースに互いのサーバーだと思います。
。1、NFS DRBD +ビート+
2、+ nginxの高可用性keepalivedの
実験:nginxの+ keepalivedの高可用性
1は、4台の仮想マシン、2つのtomcatに、2 nginxの準備
2を、同じ2つのTomcatの設定、テストページは、
JDKにインストールされ
ます。[root @ localhostの〜]#8u191タール-XF-LinuxのJDKを-x64.tar.gz
[ルート@ localhostの〜]#音楽ビデオjdk1.8.0_191は/ usr / local / Javaの
[ルート@ localhostの〜]#VI / etc / profileを
最後に追加された
輸出JAVA_HOME =は/ usr / local / Javaの
輸出PATH PATHの$ = $ JAVA_HOME / binに
[ルート@ localhostの〜]#ソースは/ etc / profile
Tomcatを取り付ける
[ルート@ localhostの〜]#タール-XFのApache Tomcat-8.5.16.tar.gz
[ルート@ localhostの〜]#音楽ビデオTomcatの-8.5.16-のApacheは/ usr / local / Tomcatの
[ルート@ localhostの〜]#/usr/local/tomcat/bin/startup.sh
tomcat1テストページ:
[ルート@ localhostの〜]#エコー"111111">は/ usr /local/tomcat/webapps/ROOT/index.jsp
TOMCAT2测试页:
[ルート@ localhostの〜]#エコー「222222」> /usr/local/tomcat/webapps/ROOT/index.jsp
2、两台nginxの配置完全相同
[ルート@ localhostの〜]#タールXF XF nginx- 1.15.9.tar.gz -Cは/ usr / src
[ルート@ localhostの〜]#のCDの/usr/src/nginx-1.15.9
[ルート@ localhostの〜]#は./configure --prefix =は/ usr / local / nginxの--user = nginxの--group = nginxの--with-FILE-AIO --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module --with-PCRE
[ルート@ localhostの〜]# LN -sは/ usr / local / nginxの/ sbinに/ nginxのは/ usr / local / binに
[ルート@ localhostの〜]#nginxの
[ルート@ localhostの〜]#viの/usr/local/nginx/conf/nginx.confの
ユーザーnginxのnginxの;
1 worker_processes;
error_logのログ/ error.logに。
PIDログ/ nginx.pid。
イベント{
使用するファイルディスクリプタ。
worker_connections 1024;
}
HTTP {
のmime.typesを含みます。
default_type application / octet-streamと;
LOG_FORMATメイン'REMOTE_ADDR $ - $ REMOTE_USER [$ time_local] "$依頼"'
'$ステータスの$ body_bytes_sent "$ HTTP_REFERER"'
' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"';
access_logのログ/ access.logをメイン;
sendfile;
keepalive_timeout 65;
上のgzip圧縮;
上流tomcat_server {
サーバー192.168.200.112:8080重量= 1。
サーバ192.168.200.113:8080重量= 1。
192.168.200.254:80を聞きます。
サーバー名はlocalhost。
文字セットUTF-8;
access_logのログ/ host.access.logメイン。
位置/ {
ルートHTML。
インデックスのindex.html index.htmのindex.jspを。
proxy_passます。http:// tomcat_server。
proxy_set_headerホスト$ HTTP_HOST。
}
}
}
[ルート@ localhostの〜]#killallを-9 nginxの
[ルート@ localhostの〜]#nginxの
4、keepalivedの配置
[ルート@ localhostの〜]#yumを-yインストールkeepalivedの
[ルート@ localhostの〜]#VIの/ etc / keepalivedの/keepalived.conf
!keepalivedのための設定ファイル
global_defs {
{notification_email
[email protected]
}
notification_email_from [email protected]
SMTP_SERVER 192.168.200.1
smtp_connect_timeout 30
LVS_DEVELのROUTER_ID
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script chk_http_port {#nginxの検出サービスが実行されています。などのプロセス、スクリプトテスト、など多くの方法がある
スクリプト「/root/nginx.sh」#スクリプトを監視することにより、ここで
2秒ごとの間隔2#検知一旦
検出障害の原因となるスクリプトの重量-5#優先度変更(スクリプトその後、リターンゼロでない)優先-5
二つの連続障害が真の故障を決定すると考えられる#2検出秋。それは重量と優先順位(1〜255)を削減します
成功した場合1#1の検出に成功しても立ち上がり。しかし、優先順位の変更はありません
}
{vrrp_instanceのVI_1を
BACKUP状態の
インターフェースens32は
51であるvirtual_router_id
優先90
advert_int。1つの
認証{
AUTH_TYPE PASS
AUTH_PASS 1111
}
virtual_ipaddress {
192.168.200.254
}
track_script {#が監視行うサービス。
chk_http_port#が名前のvrrp_script一部に指定されたVRRPスクリプトを引用しました。
}
}
検出nginxのスクリプト
#/ binに/ bashの!
カウンター= $(PS -C nginxの--no-見出し| WC -l)
[ "$ {}カウンタ" = "0"] IF;その後
は/ usr / local / nginxの/ sbinに/ nginxの
SLEEP 2
カウンタ= $(PS -C nginxの--no-見出し| WC -l)
もし[ "$ {カウンタ}" = "0"]。その後、
systemctl停止keepalivedの
Fi回線
Fiの
[ルート@ localhostの〜]#chmodの+ X /root/nginx.sh
[ルート@ localhostの〜]#systemctl再起動keeplived
1は、4台の仮想マシン、2つのtomcatに、2 nginxの準備
2を、同じ2つのTomcatの設定、テストページは、
JDKにインストールされ
ます。[root @ localhostの〜]#8u191タール-XF-LinuxのJDKを-x64.tar.gz
[ルート@ localhostの〜]#音楽ビデオjdk1.8.0_191は/ usr / local / Javaの
[ルート@ localhostの〜]#VI / etc / profileを
最後に追加された
輸出JAVA_HOME =は/ usr / local / Javaの
輸出PATH PATHの$ = $ JAVA_HOME / binに
[ルート@ localhostの〜]#ソースは/ etc / profile
Tomcatを取り付ける
[ルート@ localhostの〜]#タール-XFのApache Tomcat-8.5.16.tar.gz
[ルート@ localhostの〜]#音楽ビデオTomcatの-8.5.16-のApacheは/ usr / local / Tomcatの
[ルート@ localhostの〜]#/usr/local/tomcat/bin/startup.sh
tomcat1テストページ:
[ルート@ localhostの〜]#エコー"111111">は/ usr /local/tomcat/webapps/ROOT/index.jsp
TOMCAT2测试页:
[ルート@ localhostの〜]#エコー「222222」> /usr/local/tomcat/webapps/ROOT/index.jsp
2、两台nginxの配置完全相同
[ルート@ localhostの〜]#タールXF XF nginx- 1.15.9.tar.gz -Cは/ usr / src
[ルート@ localhostの〜]#のCDの/usr/src/nginx-1.15.9
[ルート@ localhostの〜]#は./configure --prefix =は/ usr / local / nginxの--user = nginxの--group = nginxの--with-FILE-AIO --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module --with-PCRE
[ルート@ localhostの〜]# LN -sは/ usr / local / nginxの/ sbinに/ nginxのは/ usr / local / binに
[ルート@ localhostの〜]#nginxの
[ルート@ localhostの〜]#viの/usr/local/nginx/conf/nginx.confの
ユーザーnginxのnginxの;
1 worker_processes;
error_logのログ/ error.logに。
PIDログ/ nginx.pid。
イベント{
使用するファイルディスクリプタ。
worker_connections 1024;
}
HTTP {
のmime.typesを含みます。
default_type application / octet-streamと;
LOG_FORMATメイン'REMOTE_ADDR $ - $ REMOTE_USER [$ time_local] "$依頼"'
'$ステータスの$ body_bytes_sent "$ HTTP_REFERER"'
' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"';
access_logのログ/ access.logをメイン;
sendfile;
keepalive_timeout 65;
上のgzip圧縮;
上流tomcat_server {
サーバー192.168.200.112:8080重量= 1。
サーバ192.168.200.113:8080重量= 1。
192.168.200.254:80を聞きます。
サーバー名はlocalhost。
文字セットUTF-8;
access_logのログ/ host.access.logメイン。
位置/ {
ルートHTML。
インデックスのindex.html index.htmのindex.jspを。
proxy_passます。http:// tomcat_server。
proxy_set_headerホスト$ HTTP_HOST。
}
}
}
[ルート@ localhostの〜]#killallを-9 nginxの
[ルート@ localhostの〜]#nginxの
4、keepalivedの配置
[ルート@ localhostの〜]#yumを-yインストールkeepalivedの
[ルート@ localhostの〜]#VIの/ etc / keepalivedの/keepalived.conf
!keepalivedのための設定ファイル
global_defs {
{notification_email
[email protected]
}
notification_email_from [email protected]
SMTP_SERVER 192.168.200.1
smtp_connect_timeout 30
LVS_DEVELのROUTER_ID
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_script chk_http_port {#nginxの検出サービスが実行されています。などのプロセス、スクリプトテスト、など多くの方法がある
スクリプト「/root/nginx.sh」#スクリプトを監視することにより、ここで
2秒ごとの間隔2#検知一旦
検出障害の原因となるスクリプトの重量-5#優先度変更(スクリプトその後、リターンゼロでない)優先-5
二つの連続障害が真の故障を決定すると考えられる#2検出秋。それは重量と優先順位(1〜255)を削減します
成功した場合1#1の検出に成功しても立ち上がり。しかし、優先順位の変更はありません
}
{vrrp_instanceのVI_1を
BACKUP状態の
インターフェースens32は
51であるvirtual_router_id
優先90
advert_int。1つの
認証{
AUTH_TYPE PASS
AUTH_PASS 1111
}
virtual_ipaddress {
192.168.200.254
}
track_script {#が監視行うサービス。
chk_http_port#が名前のvrrp_script一部に指定されたVRRPスクリプトを引用しました。
}
}
検出nginxのスクリプト
#/ binに/ bashの!
カウンター= $(PS -C nginxの--no-見出し| WC -l)
[ "$ {}カウンタ" = "0"] IF;その後
は/ usr / local / nginxの/ sbinに/ nginxの
SLEEP 2
カウンタ= $(PS -C nginxの--no-見出し| WC -l)
もし[ "$ {カウンタ}" = "0"]。その後、
systemctl停止keepalivedの
Fi回線
Fiの
[ルート@ localhostの〜]#chmodの+ X /root/nginx.sh
[ルート@ localhostの〜]#systemctl再起動keeplived