目次
1. CentOS 7 に基づいて LVS-DR クラスターを構築する
2.2. LVS サービスを追加し、2 つの RS を追加する構成を手動で実行します。
3.4. テスト: クライアント上の Web サーバーにアクセスする
1. CentOS 7 に基づいて LVS-DR クラスターを構築する
1. 事前準備
1. ファイアウォールをオフにする
[root@localhost ~]# systemctl stop firewalld
2.ifconfigをインストールする
yum install net-tools.x86_64 -y
3. 4台の仮想マシンを用意する
ip | 使用 |
192.168.226.150 | クライアント |
192.168.226.151 | レベル |
192.168.226.152 | RS |
192.168.226.153 | RS |
2.DSの場合
2.1. LVS 仮想 IP の設定
安装ipvsadm
yum install ipvsadm -y
增加IP
ifconfig ens33:200 192.168.226.200 netmask 255.255.255.255 up
2.2. LVS サービスを追加し、2 つの RS を追加する構成を手動で実行します。
[root@localhost ~]# ipvsadm -C
[root@localhost ~]# ipvsadm -A -t 192.168.226.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.226.200:80 -r 192.168.226.151:80 -g
[root@localhost ~]# ipvsadm -a -t 192.168.226.200:80 -r 192.168.226.152:80 -g
2.3 . 設定の表示
3. RS側(3局目、4局目)
3.1. Webサーバーの設定
yum install httpd -y
3.2. デフォルトのホームページの設定
hostname -I 取地址
[root@backup ~]# echo "web test page, ip is `hostname -I`." > /var/www/html/index.html
3.3. サービスの開始
[root@backup ~]# systemctl start httpd
3.4. テスト: クライアント上の Web サーバーにアクセスする
[root@localhost ~]# curl 192.168.226.147
web test page, ip is 192.168.226.147 .
[root@localhost ~]# curl 192.168.226.148
web test page, ip is 192.168.226.148 .
3.5. VIPのバインド
ifconfig lo:200 192.168.226.200 netmask 255.255.255.255 up
3.6. ホストルーティングの設定
route add -host 192.168.226.200 dev lo
3.7. ARP 応答の抑制
调整内核参数,关闭arp响应
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
4. クライアントでのテスト
2. nginx ロードバランシングを構成する
1. nginxのインストールとデプロイ
Linux システムに Nginx をデプロイする_Funny Dog のブログ-CSDN ブログ
2. イントラネットサーバー 151
[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf
server {
listen 80;
server_name web1.yunjisuan.com;
location / {
root /usr/share/nginx/html/web1;
index index.html index.htm;
}
access_log /usr/share/nginx/html/web1/logs/access_bbs.log main;
}
[root@localhost ~]# mkdir -p /usr/share/nginx/html/web1/logs
[root@localhost ~]# echo "`hostname -I `web1" > /usr/share/nginx/html/web1/index.html
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost ~]# systemctl restart nginx
3. イントラネットサーバー 152
[root@localhost ~]# vim /etc/nginx/conf.d/vhost.conf
server {
listen 80;
server_name web1.yunjisuan.com;
location / {
root /usr/share/nginx/html/web1;
index index.html index.htm;
}
access_log /usr/share/nginx/html/web1/logs/access_bbs.log main;
}
[root@localhost ~]# mkdir -p /usr/share/nginx/html/web1/logs
[root@localhost ~]# echo "`hostname -I `web1" > /usr/share/nginx/html/web1/index.html
[root@localhost ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@localhost ~]# systemctl restart nginx
4. プロキシサーバー150
[root@localhost ~]# vim /etc/nginx/conf.d/lb_test.conf
upstream www_server_pools {
server 192.168.226.151:80 weight=1;
server 192.168.231.152:80 weight=1;
}
server {
listen 80;
server_name web1.haha.com;
location / {
proxy_pass http://www_server_pools;
proxy_set_header Host $host;
}
}
5. クライアント
[root@localhost ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.226.150 web1.haha.com
[root@localhost ~]# for ((i=1;i<=6;i++)); do curl web1.haha.com; done
192.168.226.152 web1
192.168.226.151 web1
192.168.226.152 web1
192.168.226.151 web1
192.168.226.152 web1
192.168.226.151 web1