Виртуальный сервер LVS
Linux Virtual Server (LVS) является балансировщик нагрузки для проекта разработки ядра Linux, созданной нашим Чжан Вэнь Бо Сон почвы в мае 1998 года, сообщает официальный сайт находится http://www.linuxvirtualserver.org/ .
LVS фактически эквивалентен виртуализированное приложение на основе IP-адрес, IP-адрес на основе балансировка нагрузки и запрос распределения контента предлагает эффективное решение.
LVS теперь часть Linux ядра, компилятор по умолчанию для модуля ip_vs может автоматически открывать при необходимости.
Алгоритм планирования нагрузки ЛВС
Для различных сетевых служб и конфигурации требуют, планировщик LVS предлагает различные алгоритмы планирования нагрузки, наиболее распространенными из четырех алгоритмов включают опрос, взвешенный по круговой, взвешенных наименьших соединений и минимальное соединение.
Опрос (RoundRobin): Запрос на доступ получил, в свою очередь, присвоенные каждый узел кластера (реальный сервер) в порядке.
WRR (WeightedRoundRobin): в соответствии с возможностями обработки реальных серверов в свою очередь запроса присвоенного доступа принимается, планировщик запросов может автоматически загружать каждый узел и динамически корректировать свой вес. Это обеспечит сильную вычислительную мощность сервера, чтобы взять на себя больше трафика.
Наименее Соединения (LeastConnections): выделенные в соответствии с числом соединений устанавливается реальный сервер, доступ будет получать приоритет в распределении запросов к узлу с наименьшим количеством соединений.
Весовое наименее соединение (WeightedLeastConnections): большая разница в производительности на узле сервера, вес может быть автоматически подстраивается к реальному серверу, то узел с более высокими весами возьмет на себя большую часть активных соединений, поддерживаемых.
Используйте ipvsadm инструменты управления
режим NAT
Address Translation (NetworkAddressTranslation) упоминается как режим NAT, подобно структуре частной сети брандмауэра, балансировки нагрузки в качестве шлюза для всех узлов сервера, то есть в качестве клиента для доступа к входу, а также узлы доступа в ответ на экспорт клиента. Частный IP-адрес узла сервера и балансировки нагрузки расположены в одной и той же физической сети, безопасность лучше, чем два других метода.
схема
Описание: роль сервера частного сети узла, а роль клиента в сети общего пользования, в качестве шлюза для 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 / отказ / Беет монтирование в каталог следующего сайта
# 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 / ОКАЗАНИЕ крепление к следующему каталогу сайта
# 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, может быть реле времени, тем не менее, дисплей или исходный интерфейс, на этот раз необходимо очистить кэш , чтобы увидеть два различных интерфейсов. Конечно, если время , чтобы отключить службу HTTPd , в котором сервер узла, а затем перейти посетить 12.0.0.1, дисплей другой веб - интерфейс друзей.