Рассматриваются технологии виртуализации, применяемые в Linux для решения разных задач, и в первую очередь для виртуализации серверов. Данную лекцию можно рассматривать как экскурс в некоторые проблемы системного администрирования Linux.
Что такое виртуализация
Виртуальная реальность или реальная виртуальность?
Суть виртуализации — заставить окружение выглядеть иначе для пользователя
Виртуализация в операционных системах
- Виртуальное окружение — работает с оборудованием (хост-система)
- программная виртуальная машина, работающая в обычной ОС
- специализированная ОС для виртуализации (гипервизор)
- Пользователь — совокупность процессов (гостевая ОС)
Немного истории
Модное кажется современным
- Виртуальная память и свопинг: Atlas supercomputer (1956)
- Эмулятор архитектуры: MIT CTSS (1961), Java VM1996
- Виртуальная машина: IBM VM (1965)
- Виртуальное адресное пространство (MMU): PDP-11, Multics, UNIX
- Многозадачность на ПК: IA-386 (1985), Linux (1991)
Немного современности
Некоторые технологии виртуализации в Linux
Проекты | Технология | Производительность | требования к гостевой ОС |
QEMU, Bochs | Эмуляция оборудования | медленно | не требует модификации ОС |
VMWare, KVM | Полная виртуализация | быстрее эмуляции | не требует модификации ОС, KVM нужна аппаратная поддеркжа |
Xen, UML | Паравиртуализация | почти как настоящая | требует модификации ОС |
Linux-VServer, OpenVZ | Виртуализация на уровне ОС | почти как настоящая | общее ядро ОС |
Статья с картинками
Виртуализация серверов
Killer app
Один компьютер — много ОС
Важные свойства виртуализации
- Промежуточный уровень между оборудованием и ПО
- Изоляция виртуализованного окружения от прочего ПО, выполняющегося на том же оборудовании
Виртуализация сервисов:
- Создать виртуальные контейнеры средствами любой технологии
- Поместить сервисы в изолированные виртуальные контейнеры
- Разделить между контейнерами общие аппаратные ресурсы
Надёжность и качество обслуживания
- Quality of Service (QoS)
- Ресурсы всех контейнеров меньше аппаратных ресурсов системы
- Ресурсы каждого контейнера больше минимального порога
- Изоляция ergo защищённость
- Возможный взлом ограничен рамками контейнера
- Невозможен прямой доступ к оборудованию из контейнера
Слабое место — интерфейс управления
Возможные варианты защиты доступа к интерфейсу управления:
- только локальный доступ (виртуальная консоль, последовательный порт);
- физически изолировать сетевое подключение (отдельный сетевой адаптер);
- логически изолировать сетевое подключение (отдельный VLAN-интерфейс);
- защищённые соединения для удалённого доступа (туннель ipsec, openvpn, pptp или ssh-туннели).
Выгоды и удобства
- Консолидация серверов
- Снижение затрат на обслуживание оборудования, энергопотребление, аренду
- Динамическое перераспределение ресурсов
- Создание, перенос, уничтожение виртуальных контейнеров без простоя и ущерба инфраструктуре
Продолжение следует
- default deny
- Важнейший принцип информационной безопасности: всякое взаимодействие, которое не является заведомо необходимым, должно быть по умолчанию запрещено.