9.5. Сохранение соединения и метки межсетевого экрана

В определённых ситуациях необходимо, чтобы клиент повторно подключался к определённому реальному серверу, в то время как алгоритмы распределения нагрузки посылают запросы на самый подходящий. Такие ситуации возникают при использовании сложных, расположенных на нескольких web-страницах форм, cookies, SSL и FTP соединений. В этих случаях клиент не будет работать корректно, если только не один и тот же сервер обрабатывает все выполняемые транзакции. LVS предлагает два решения этой проблемы: Сохранение соединения и метки межсетевого экрана.

9.5.1. Сохранение соединения

Когда используется этот вариант, соединение сохраняется по времени. Когда клиент подключается к службе, LVS запоминает последнее соединение в течении указанного интервала времени. Если клиент с тем же IP адресом повторно подключается в течении этого интервала, он отправляется к серверу, к которому был подключен ранее, при этом механизмы распределения нагрузки не работают. Когда соединение устанавливается по истечении заданного интервала, оно обрабатывается в соответствии с правилами распределения.

Сохранение соединения также позволяет администратору указать маску подсети, применяемую к IP адресу клиента, для определения адресов с более высокой степенью сохранения, объединяя тем самым соединения этой подсети.

Объединение соединений, направленных на разные порты, может быть важно для протоколов, использующих больше одного порта, например, FTP. Однако сохранение соединения – не самый эффективный способ решения проблемы объединения соединений, направленных на разные порты. В таких ситуациях, лучше использовать метки межсетевого экрана.

9.5.2. Метки межсетевого экрана

Метки межсетевого экрана – лёгкий и эффективный способ объединять порты, используемые одним или группой связанных протоколов. Например, если LVS-кластер применяется для работы коммерческого веб-сайта, эти метки можно использовать, чтобы сгруппировать HTTP соединения с портом 80 и HTTPS соединения с портом 443. Назначив одинаковые метки виртуальному серверу каждого протокола, можно сохранить информацию о состоянии транзакции, так как LVS-маршрутизатор после установления соединения будет направлять все запросы одному реальному серверу.

Так как этот вариант очень эффективный и легкий в использовании, администраторы LVS кластеров должны использовать для объединения соединений его, а не сохранение соединения, везде, где это возможно. Однако, администраторы могут использовать и сохранение соединения и метки межсетевого экрана одновременно, чтобы клиенты подключались к одному серверу в течении какого-то периода времени.