LVS仮想サーバー
Linux仮想サーバー(LVS)は、1998年5月に、当社の張温ソングボー土壌によって作成されたLinuxカーネルの開発プロジェクト、公式サイトが配置されているため、ロードバランサであるhttp://www.linuxvirtualserver.org/。
LVSは、IPアドレスベースのロードバランシングおよびコンテンツ配信要求は、効率的なソリューションを提案し、実際にはIPアドレスに基づいて、仮想化アプリケーションと同等です。
LVSは現在、Linuxカーネル、必要に応じて自動的に開くことができるip_vsモジュールのデフォルトコンパイラの一部です。
LVSロード・スケジューリング・アルゴリズム
異なるネットワークサービスと構成が必要の場合は、LVSスケジューラはロードスケジューリングアルゴリズムのさまざまなを提供しています、4つのアルゴリズムの最も一般的なのは、ポーリング、重み付けラウンドロビン、加重最小接続最小接続が含まれます。
ポーリング(ラウンドロビン):順にクラスタ(実サーバ)内の各ノードに割り当てられた順番に受信したアクセス要求。
WRR(WeightedRoundRobin):受信した順番に割り当てられたアクセス要求内の実サーバの処理能力に応じて、クエリ・スケジューラは自動的に各ノードをロードし、動的にその重量を調整することができます。これは、より多くのトラフィックを取るための強力なサーバーの処理能力を確保します。
最小接続(LeastConnections):実サーバが確立される接続の数に応じて割り当ては、アクセスは、接続の数が最も少ないノードへの割り当て要求に優先順位を受信します。
重み付き最小接続(WeightedLeastConnections):サーバー・ノードでの性能に大きな違い、重みが自動的に実サーバに調整することができ、より高い重みを持つノードがサポートされているアクティブな接続のより大きな割合を仮定する。
ipvsadmの管理ツールを使用します
NATモード
アドレス変換(NetworkAddressTranslation)は、すべてのサーバー・ノードのためのゲートウェイとして、プライベートネットワークファイアウォールの構造に似てNATモード、とロードバランサを呼び、それがクライアントにエクスポートする応答入り口だけでなく、アクセス・ノードにアクセスするためのクライアントとして、です。プライベートサーバーノードのIPアドレス、および同一の物理ネットワークに配置ロードバランサ、セキュリティは、他の2つの方法よりも優れています。
ダイヤグラム
説明:クライアントへのプライベートネットワーク・ノード・サーバーの役割、およびパブリックネットワーク内のクライアントの役割、このケースをLVSへのゲートウェイとして、フィードバック情報サーバノード、LVSが通過します。
実験環境
役割 | IP |
---|---|
LVS | 192.168.100.1 / 12.0.0.1 |
apache1 | 192.168.100.110 |
apache2の | 192.168.100.120 |
NFS | 192.168.100.130 |
ステップ
両方のノードでサービスのhttpdサーバーを構築
# yum install httpd -y
# systemctl stop firewalld.service
# setenforce 0
NFSサーバー上でNFSサービスを設定します
- インストールサービス
# rpm -q nfs-utils # rpm -q rpcbind //看是否安装,服务已安装
- プロフィールの編集
# vim /etc/exports /usr/share *(ro,sync) /opt/benet 192.168.100.0/24(rw,sync)//创建目录benet,192.168.100.0网段的可以进行读写和同步操作 /opt/accp 192.168.100.0/24(rw,sync)//创建目录accp,192.168.100.0网段的可以进行读写和同步操作
- ディレクトリを作成し、許可を与えます
# mkdir /opt/benet /opt/accp # chmod 777 /opt/benet /opt/accp
- オープンNFSサービスと発行済株式
# systemctl start nfs.service # exportfs -rv //发布共享
共有ファイルサーバをマウントするNFSサーバ・ノード
- apache1は、/ opt /ベネット次のサイトディレクトリにマウント
# showmount -e 192.168.100.130 //查看共享文件 # mount.nfs 192.168.100.130:/opt/benet /var/www/html //挂载 # cd /var/www/html/ # echo "this is benet" > index.html # systemctl start httpd.service
- apache2のは/ opt / ACCP次のサイトディレクトリにマウント
# showmount -e 192.168.100.130 //查看共享文件 # mount.nfs 192.168.100.130:/opt/accp /var/www/html //挂载 # echo "this is accp" > index.html # systemctl start httpd.service
LVSサーバ(デュアルNICに注意してください)
- インストールipvsadmの管理ツール
# yum install ipvsadm -y
- LKM
# modprobe ip_vs
- 設定しルーティングおよび転送(それがデュアルNICであるため)
# vim /etc/sysctl.conf 末尾添加:net.ipv4.ip_forward = 1 # sysctl -p //立即生效
- ファイアウォールの設定
iptables -F # iptables -t nat -F # iptables -L //清空所有规则 # iptables -t nat -I POSTROUTING -s 192.168.100.0/24 -o ens36 -j SNAT --to-source 12.0.0.1 //设置SNAT转发,将所有192.168.100.0段的都转换为12.0.0.1,然后进行访问client
- オープンipvsadmの
# systemctl start ipvsadm.service 注:此时开启可能会出现问题 # ipvsadm --save > /etc/sysconfig/ipvsadm //输入该行即可
- 実行可能なスクリプトを書きます
# cd /opt # vi net.sh #!/bin/bash ipvsadm -C ipvsadm -A -t 12.0.0.1:80 -s rr ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.110:80 -m ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.120:80 -m ipvsadm # chmod +x net.sh # ./net.sh 解释如下: ipvsadm -C //清除内核虚拟服务器表中的所有记录// -A:添加虚拟服务器 -s:指定调度算法 rr:轮询算法 -a:添加真实服务器 -t:指定外网网关及TCP端口 -r:指定节点服务器的地址及TCP端口 -m:使用NAT集群模式
win7の検出開く
注:二つの連続アクセス12.0.0.1、タイムスイッチであってもよいが、表示または元のインターフェースが、今回は2つの異なるインターフェイスを参照するためにキャッシュをクリアする必要があります。時間が12.0.0.1を訪問行く、その後、ノードサーバのhttpdサービスをオフにする場合はもちろん、ディスプレイは友人の別のWebインターフェイスです。