Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

РАЗРАБОТКА СИСТЕМЫ ЛЕГКОВЕСНОЙ ВИРТУАЛИЗАЦИИ ПОЛЬЗОВАТЕЛЬСКОГО УРОВНЯ

,

Д. С Ризаев,

Московский государственный институт электроники и математики (технический университет), Россия.

В данной работе рассматривается разработка системы легковесной виртуализации пользовательского уровня в операционной системе GNU/Linux. Виртуализация необходима для упрощения администрирования множества распределенных служб на сервере, а также для ограничения обычных пользователей в привилегиях.

На данный момент существует несколько уровней виртуализации:

·  эмуляция оборудования – обеспечивает полную виртуализацию аппаратных средств, полностью эмулируя любую архитектуру платформы. Пример реализации – QEMU;

·  полная виртуализация – виртуализирует аппаратные средства, осуществляя связь между гостевой операционной системой и аппаратными средствами, не эмулируя при этом оборудование платформы. Пример реализации – VMware;

·  паравиртуализация – способ виртуализации, схожий с полной виртуализацией, и предоставляющий гостевой операционной системе программный интерфейс для взаимодействия с оборудованием. Пример реализации – Xen;

·  виртуализация уровня операционной системы – позволяет запускать виртуальные серверы на ядре базовой операционной системы. Примеры реализации: Linux‑Vserver, OpenVZ;

·  виртуализация приложений пользовательского уровня – позволяет запускать приложения в отдельных рабочих окружениях;

Целью данной работы ставилось создание системы легковесной виртуализации пользовательского уровня, для изолированного запуска пользовательских приложений. Система должна удовлетворять следующим требованиям:

НЕ нашли? Не то? Что вы ищете?

·  работа на пользовательском уровне – необходимо уменьшить влияние на операционную систему и ее компоненты в целом;

·  максимальная безопасность – система должна полностью изолировать пользователей, исключая вторжения сторонних пользователей в рабочее окружение.

·  высокая производительность – система должна стабильно и быстро работать при большом количестве пользователей, выдерживая максимальные нагрузки;

·  легкость и быстрота внедрения – установка системы должна проходить максимально быстро и автоматизированно, занимая минимальное количество времени у квалифицированных кадров;

·  переносимость рабочих окружений – система должна поддерживать простое, быстрое перемещение рабочих окружений пользователей между серверами;

·  простота в управлении – система должна иметь интуитивно понятный интерфейс и поддерживать простое управление в консоли;

·  открытость – исходный код должен быть открыт, бесплатен и распространяться по лицензии GNU GPL (General public license);

Для реализации данных требований было решено использовать следующие технологии:

·  язык С – обладает достаточной гибкостью и позволяет выполнять системные вызовы, необходимые для функционирования системы;

·  bash – данная командная оболочка позволяет реализовать запуск необходимых приложений и компонентов необходимых для работы системы;

Устройство системы:

Система виртуализации построена индивидуальных рабочих окружениях (Jail) каждого пользователя. Рабочее окружение – это специальная директория (chroot), которая состоит из:

·  файлов, необходимых для запуска и работы пользовательских приложений. С помощью системы разграничения прав доступа данные файлы не доступны пользователю для записи;

·  директории для пользовательских файлов, в которую пользователь имеет право записи;

Каждое рабочее окружение пользователя позволяет:

·  запускать приложения без привилегий суперпользователя – это необходимо для соблюдения требований безопасности, предусмотренных при проектировании. Приложения не могут производить какие-либо операции за пределами рабочего окружения;

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

·  использовать планировщик Cron, который необходим для запуска приложений по расписанию. Приложения, запускаемые планировщиком, выполняются в рамках данного рабочего окружения. Это достигается с помощью утилиты, которая ограничивает процесс в рабочем окружении;

·  использовать доступ в рабочее окружение по SSH (Secure Shell). Это реализовано с помощью модуля PAM (Подключаемые модули аутентификации) pam_chroot. При этом пользователь оказывается изолирован в пределах собственного рабочего окружения;

Система легковесной виртуализации управляется с помощью скриптов, исполняемых интерпретатором команд bash. На данным момент система позволяет быстро создавать и удалять рабочие окружения, а также переносить рабочие окружения на другие сервера, на которых установлена система легковесной виртуализации.

В качестве перспектив развития проекта можно выделить следующие моменты:

·  создание удобного графического интерфейса для операций с рабочими окружениями;

·  интеграция с системой распределенного управления хостингом, которая используется на кафедре ИКТ.