Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXXVI Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 06 февраля 2020 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Нурмухаметов Д.Р. ВИРТУАЛЬНЫЙ СЕРВЕР LINUX ДЛЯ МАСШТАБИРУЕМЫХ СЕТЕВЫХ СЛУЖБ // Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ: сб. ст. по мат. LXXXVI междунар. студ. науч.-практ. конф. № 3(86). URL: https://sibac.info/archive/meghdis/3(86).pdf (дата обращения: 26.11.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ВИРТУАЛЬНЫЙ СЕРВЕР LINUX ДЛЯ МАСШТАБИРУЕМЫХ СЕТЕВЫХ СЛУЖБ

Нурмухаметов Дамир Рустемович

студент 4 курса, кафедра автоматизированных систем управления, Уфимский государственный авиационный технический университет,

РФ, г. Уфа

АННОТАЦИЯ

В данной статье описывается дизайн, внутренняя реализация виртуального сервера Linux[3]. Цель Linux Virtual Server[1] -предоставить базовую платформу для построения масштабируемых и высокодоступных сетевых сервисов с использованием большого кластера товарных серверов. TCP / IP-пакет ядра Linux расширен для поддержки трех методов балансировки нагрузки IP, которые могут заставить параллельные службы различных типов кластеров серверов появляться как служба на одном IP-адресе. Масштабируемость достигается за счет прозрачного добавления или удаления узла в кластере, а высокая доступность обеспечивается за счет обнаружения сбоев узла и соответствующей перенастройки системы.

 

Ключевые слова: Linux, Linux Virtual Server.

 

1. Введение

В условиях взрывного роста Интернета интернет-серверы должны справляться с большими требованиями, чем когда-либо. Потенциальное число клиентов, которых сервер должен поддерживать резко возросло, некоторые популярные сайты уже получили сотни тысяч одновременных клиентских подключений. С увеличением числа пользователей и увеличением рабочей нагрузки компании часто беспокоятся о том, как их системы растут с течением времени. Кроме того, быстрый ответ и доступность 24x7 являются обязательными требованиями для критически важных бизнес-приложений, что позволяет конкурировать за предоставление пользователям наилучшего доступа. Поэтому требования к аппаратному и программному решению для поддержки легко масштабируемых и высокодоступных сервисов можно обобщить следующим образом:

  • Масштабируемость. Когда нагрузка, предлагаемая услуге, увеличивается, систему можно масштабировать в соответствии с требованиями.
  • Доступность 24x7, сервис в целом должен быть доступен 24x7, несмотря на временные частичные аппаратные и программные сбои.
  • Управляемость, хотя вся система может быть физически большой, ею должно быть легко управлять.
  • Экономическая эффективность, вся система должна быть экономичной, чтобы позволить себе и экспериментировать

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

Linux Virtual Server - это программный инструмент, который направляет сетевые соединения на несколько серверов, которые разделяют их рабочую нагрузку, которые можно использовать для создания высокодоступных и высокодоступных служб. Прототипы LinuxVirtual Server уже использовались для создания сайтов с большой нагрузкой в ​​Интернете, таких как портал Linux www.linux.com, sourceforge.net и UK NationalJANET Web Cache Services. Linux Virtual Server направляет сетевые соединения на разные серверы в соответствии с расписанием алгоритмы и создает параллельные сервисы кластера, чтобы отображаться как виртуальный сервис на одном IP-адресе. Клиентские приложения взаимодействуют с кластером, как если бы это был один сервер. Клиенты не подвержены взаимодействию с кластером и не нуждаются в модификации. Масштабируемость достигается прозрачным добавлением или удалением узла в кластере. Высокая доступность обеспечивается обнаружением сбоев узла или демона и соответствующим образом переконфигурирует систему.

2. Обзор Архитектуры Системы

В этом разделе мы представляем системную архитектуру для построения высоко масштабируемых и высокодоступных сетевых сервисов на кластерах. Трехуровневая архитектура LVS[2], включает в себя:

  • Балансировщик нагрузки, это внешний интерфейс службы, собранной внешним миром. Балансировщик нагрузки направляет сетевые соединения от клиентов, которым известен один IP-адрес для служб, на набор серверов, которые фактически выполняют эту работу.
  • Пул серверов состоит из кластера серверов, которые реализуют реальные сервисы, такие как web, ftp, mail, dns и т. д.
  • Внутреннее хранилище обеспечивает общее хранилище для серверов, поэтому серверам легко хранить одинаковое содержимое и предоставлять одинаковые услуги.

Балансировщик нагрузки обрабатывает входящие соединения, используя методы балансировки нагрузки IP, выбирает серверы из пула серверов, поддерживает состояние одновременных соединений и пересылает пакеты, и вся работа выполняется внутри ядра, так что накладные расходы на балансировщик нагрузки снижаются. Таким образом, балансировщик нагрузки может обрабатывать гораздо большее количество соединений, чем общий сервер, поэтому балансировщик нагрузки может запланировать большое количество серверов, и это не станет в скором времени узким местом всей системы. Узлы сервера в приведенной выше архитектуре могут быть реплицированы для любой масштабируемости или высокая доступность. Масштабируемость достигается за счет прозрачного добавления или удаления узла в кластере. Когда нагрузка на систему насыщает емкость существующих серверных узлов, можно добавить больше серверных узлов для обработки растущей рабочей нагрузки. Поскольку зависимость большинства сетевых служб часто невелика, совокупная производительность должна линейно масштабироваться с количеством узлов в системе, прежде чем балансировщик нагрузки станет новым узким местом системы.

Одним из преимуществ кластерной системы является избыточность аппаратного и программного обеспечения. Высокая доступность может быть обеспечена путем обнаружения сбоев узла или демона и надлежащей перенастройки системы, чтобы рабочая нагрузка могла быть перенята оставшимися узлами в кластере. У нас обычно есть демоны мониторинга кластера, работающие на балансировщике нагрузки для мониторинга работоспособности узлов сервера, если серверный узел не может быть достигнут с помощью ICMP-пинга или нет ответа службы в указанный период, монитор удалит или отключит сервер в таблице планирования балансировщика нагрузки, так что балансировщик нагрузки не будет планировать новые подключения к отказавшему, и сбой узлов сервера может быть замаскирован.

3. Заключение

Linux Virtual Server расширяет стек TCP / IP Linuxkernel (2.0 и 2.2) для поддержки трех методов балансировки нагрузки IP, LVS / NAT, LVS / TUN и LVS / DR. В настоящее время были разработаны четыре алгоритма планирования для удовлетворения различных прикладных ситуаций. Масштабируемость достигается путем прозрачного добавления или удаления узла в кластере. Высокая доступность обеспечивается обнаружением сбоев узлов или демонов и соответствующей настройкой системы. Решения не требуют модификации ни клиентов, ни серверов, и они поддерживают большинство служб TCP и UDP. Виртуальный сервер Linux предназначен для обработки миллионов одновременных подключений. Благодаря многим разработкам с открытым исходным кодом системы на базе LVS становятся простыми в использовании. Прототипы LVShave уже использовались для создания высоконагруженных реальных интернет-сайтов.

 

Список литературы:

  1. Материал из Википедии — свободной энциклопедии, Layout Versus Schematic, URL: https://en.wikipedia.org/wiki/Layout_Versus_Schematic (дата обращения: 04.02.2020)
  2. Материал из Википедии — свободной энциклопедии, Linux Virtual Server, URL: https://en.wikipedia.org/wiki/Linux_Virtual_Server (дата обращения: 02.02.2020)
  3. Материал из Википедии — свободной энциклопедии, Electronic design automation, URL: https://en.wikipedia.org/wiki/Electronic_design_automation (дата обращения: 01.02.2020)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.