1)レポジトリーを追加する
# vi /etc/yum.repos.d/nginx.repo
-----/etc/yum.repos.d/nginx.repo ----------
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
2)nginxのインストールを行う。
# yum -y install nginx
3)サービスの起動を行う
# systemctl enable nginx
# systemctl start nginx
■□Nginxのコンフィグ設定■□
1)以下、設定を行う
# vi /etc/nginx/nginx.conf
--------/etc/nginx/nginx.conf -----------------------------------------------------------
user nginx;
①loadblancerのプロセスの数を記載する。
worker_processes 4;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 128;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on; #使わないので無効化にする
keepalive_timeout 65; #keepalibveの設定値を記載します。
#gzip on; #使わないので無効化にする
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 180s;
proxy_read_timeout 180s;
proxy_send_timeout 180s;
②webサーバのIPアドレスを入力します。
upstream backends {
server 192.168.1.101:80;
server 192.168.1.102:80;
server 192.168.1.103:80;
}
③SSL証明書の設定を記載します。
server {
listen 443 ssl;
ssl_certificate /etc/nginx/server.crt; #SSL証明書の設定を記載します。
ssl_certificate_key /etc/nginx/server.key; # SSL証明書の設定を記載します。
server_name localhost;
④ロードバランサーのヘルスチェックを以下に記載します。
location / {
proxy_pass http://backends;
proxy_next_upstream error timeout;
proxy_next_upstream_tries 0;
proxy_next_upstream_timeout 0;
proxy_connect_timeout 2s;
proxy_send_timeout 2s;
proxy_read_timeout 2s;
}
}
include /etc/nginx/conf.d/*.conf;
}
------------------------------------------------------------------------------------------------------------
■□Pacemaker+Corosyncの導入手順■□
ロードバランサー同士で、冗長構成にしたいので
Pacemaker/Corosyncの導入を行ってみる。
Pacemaker/Corosyncの導入を行ってみる。
# yum -y install http://iij.dl.sourceforge.jp/linux-ha/63398/pacemaker-repo-1.1.12-1.1.el7.x86_64.rpm
2)リポジトリの設定を行う
# yum -y install yum-utils
# yum -y install yum-plugin-priorities ansible
# yum-config-manager --setopt=linux-ha-ja-pacemaker.priority=10 --save
3) Pacemakerのインストールを行います。
yum -y install pacemaker-all
4) /etc/corosync/corosync.conf.exampleを複製する
# cp corosync.conf.example corosync.conf
5)corosync.confの編集を行います。
# vi /etc/corosync/corosync.conf
-------/etc/corosync/corosync.conf--------------
①以下の内容に合わせる。
totem {
version: 2
crypto_cipher: none
crypto_hash: none
rrp_mode: active
interface {
ringnumber: 0
bindnetaddr: 192.168.11.0
mcastaddr: 239.255.1.1
mcastport: 5405
ttl: 1
}
interface {
ringnumber: 1
bindnetaddr: 192.168.1.0
mcastaddr: 239.255.2.1
mcastport: 5407
ttl: 1
}
}
quorum {
provider: corosync_votequorum
expected_votes: 2
two_node: 1
}
--------------------------------------------------------
※rrp_mode: activeは、追加必須
※ringnumber/ mcastaddr/ mcastportは、重複させない!
①bindnetaddr:192.168.11.0
②bindnetaddr:192.168.1.0
①フロントエンド側
②バッグエンド側
6)以下、Pacemaker+ corosyncのサービスの起動を行う。
# systemctl enable corosync
# systemctl start corosync
# systemctl enable pacemaker
# systemctl start pacemaker
□■Peacemakerの設定□■
1)# crmと入力
2)# configureを入力
3)以下の設定を行う。
————————————————————————————
crm(live)configure# property stonith-enabled="false"
crm(live)configure# property start-failure-is-fatal="false"
crm(live)configure# rsc_defaults migration-threshold="5"
crm(live)configure# rsc_defaults resource-stickiness="INFINITY"
crm(live)configure# rsc_defaults failure-timeout="3600s"
crm(live)configure# verify
crm(live)configure# commit
crm(live)configure# quit
――――――――――――――――――――――――――――
◇メモ
※commitで失敗になる場合、corosyncとPeacemakerのサービスを再起動すると成功する。
□■ロードバランサー1の設定□■
以下の手順で、VIPの追加を行う。
1)VIPの追加を行う(192.168.11.10用)
# crm configure primitive vip ocf:heartbeat:IPaddr2 params ip="192.168.11.10" nic="team0" cidr_netmask="24" op monitor interval="10s"
2)VIPの追加を行う(192.168.1.10用)
# crm configure primitive vip2 ocf:heartbeat:IPaddr2 params ip="192.168.1.10" nic="team1" cidr_netmask="24" op monitor interval="10s"
※ロードバランサーの両系で設定しないこと
□■firewallの設定□■
□■firewallの設定□■
1)以下のポート番号を開放させること。
# firewall-cmd --permanent --zone public --add-port 443/tcp
# firewall-cmd --zone=public --add-port=5405/udp –permanent
# firewall-cmd --zone=public --add-port=5407/udp --permanent
# firewall-cmd --zone=public --add-port=5405/tcp –permanent
# firewall-cmd --zone=public --add-port=5407/tcp --permanent
# firewall-cmd --permanent --add-service=high-availability
# firewall-cmd –reload
2)firewallのサービスを更新させる
# systemctl restart firewalld
0 件のコメント:
コメントを投稿