Колин Персиваль (Colin Percival), входящий во FreeBSD Core Team, сообщил о достижении положительных результатов в работе по адаптации FreeBSD для функционирования в качестве гостевой ОС для cloud-окружений Amazon EC2. В настоящий момент в Amazon EC2 может работать только FreeBSD 9-CURRENT, внесенные в код исправления еще не перенесены в стабильную ветку FreeBSD 8-STABLE. Код пока недостаточно хорошо протестирован и поддерживает только запуск в окружениях "t1.micro".
Желающие поэкспериментировать с работой FreeBSD в окружении Amazon EC2 могут присоединиться к программе Free Usage Tier и бесплатно пользоваться минимальным окружением в течение года. Для установки FreeBSD в cloud-окружении подготовлен специальный ami-образ виртуальной машины, в который уже внесены настройки сети, настроен запуск sshd, ядро загружается с ext2-раздела, а система размещена в отдельной файловой системе (UFS2).
Дополнительно, можно упомянуть проект по реализации для FreeBSD новой системы для обеспечения работы виртуальных приватных серверов (VPS). Несмотря на то, что проект позиционируется как экспериментальный и не доведенный до конца, он уже позволяет выполнять live-миграцию виртуального окружения с одной машины на другую (без остановки работы процессов и без разрыва установленных сетевых соединений). Также поддерживаются такие операции, как создание снапшотов и замораживание работы окружения, все ресурсы виртуального окружения виртуализированы и не пересекаются с ресурсами соседних окружений. Со стороны работающих внутри VPS приложений, сформированное окружение выглядит как отдельный физический хост.
Патчи с реализацией новой VPS-технологии доступны для FreeBSD 8.1-RELEASE. Для синхронизации данных между двумя виртуальными окружениями на разных машинах подготовлена специально модифицированная версия утилиты rsync. Виртуализация выполнена через технику создания изолированных контейнеров на уровне ОС, без создания отдельного гипервизора, т.е. отличается низкими накладными расходами, чем-то напоминая Jail, Solaris Zone, Linux vserver или OpenVZ. При создании окружения задаются параметры сетевого соединения, точка монтирования, ограничения ресурсов и программа инициализации.
В отличие от Jail представленная VPS-технология не работает на уровне изоляции единого набора процессов и ресурсов, а обеспечивает полное дублирование ресурсов в каждом изолированном окружении: отдельная таблица процессов, отдельный init-процесс, сетевой стек (используется ряд надстроек над подсистемой виртуализации сетевого стека VNET/VIMAGE), структуры devfs, псевдо-tty, VFS, отдельная реализация специфичных системных вызовов, таких как reboot().
Из идей, находящихся в процессе реализации, отмечены: задание мягких и жестких лимитов для всех ресурсов; настройка ограничений на загрузку CPU и пропускную способность ввода/вывода; отдельный планировщик задач, оптимизированный для обеспечения функционирования VPS; полная защита от влияния виртуального окружения на соседние VPS или на хост-систему.
|