Я хотел бы понять настойчивость LVS. Для меня все клиенты с одним и тем же адресом ip будут переходить на один и тот же сервер до конца тайм-аута. И если клиенты находятся за провайдером / прокси / брандмауэром или общедоступными адресами, все они переходят на один и тот же реальный сервер, но с точки зрения производительности не очень хорошо.
Я хотел бы попытаться понять это на примере: у университета есть только один IP-адрес и используется NAT, поэтому, если все студенты хотят подключиться к веб-странице, они все будут переходить на один и тот же реальный сервер?
по этой ссылке http://www.ntua.gr/lvsp/Joseph.Mack/HOWTO/LVS-HOWTO.fwmark.html Часть 8.10.2, правильно, что 2 клиента (разные IP, но исходящие от одного и того же маршрутизатора / брандмауэра) будут выбирать разные серверы. Верно ли это на примере, который я привожу?
Если все ваши клиенты приходят с одного исходного IP-адреса, и вы используете постоянство, тогда да, они все выберут один реальный сервер.
Одним из возможных решений проблемы с загрузкой может быть объявление двух разных записей A в вашем DNS для сайта с балансировкой нагрузки. Вы можете объединить это с FWMARK, как описано в разделе, на который вы ссылаетесь выше, чтобы заставить большой исходный IP-адрес в вашем трафике выбрать реальный сервер 1 для вашей первой записи A и реальный сервер 2 для вашей второй.
Для меня все клиенты с одним и тем же адресом ip будут переходить на один и тот же сервер до конца тайм-аута.
Правда.
Но что происходит, если клиенты находятся за провайдером / прокси / брандмауэром или публичными адресами?
LVS заботится об IP и не пытается узнать, есть ли у пользователя прокси. Итак, LVS увидит IP прокси.
Все ли они идут на один и тот же реальный сервер?
Да.
если да, то балансировка нагрузки в этом случае бесполезна, так как же правильно обрабатывать сеансы?
Поскольку http это просто, вы можете использовать балансировщик прокси-сервера apache mod вместе с HA. Другие протоколы следует искать в Интернете.