diff --git a/module2/06_virtualization/lection.md b/module2/06_virtualization/lection.md new file mode 100644 index 0000000..32b9be2 --- /dev/null +++ b/module2/06_virtualization/lection.md @@ -0,0 +1,62 @@ +# Справочный материал + +## Релевантные определения + +**Гиперви́зор** (англ. Hypervisor; от др.-греч. ὑπέρ «над, выше, сверх» + лат. vīsio «зрение; видение») или монито́р виртуа́льных маши́н (в компьютерах), низкоуровневая оболочка — программа или аппаратная схема, обеспечивающая или позволяющая одновременное, параллельное выполнение нескольких операционных систем на одном и том же хост-компьютере. Гипервизор также обеспечивает изоляцию операционных систем друг от друга, защиту и безопасность, разделение ресурсов между различными запущенными ОС и управление ресурсами. + +**Паравиртуализация** (англ. Paravirtualization) — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется. Приставка «пара-» в слове термине ничего не обозначает, просто авторам данной идеи понадобился новый термин. + +**QEMU** — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ. Автор программы — французский программист Фабрис Беллар (фр. Fabrice Bellard). + +**KVM** (Kernel-based Virtual Machine) — программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Machine). KVM использует QEMU в качестве фронтенда и для эмуляции некоторых устройств. Ведётся работа по включению модификаций, необходимых для работы с KVM, в основную ветку QEMU. Разрабатывается и поддерживается фирмой Qumranet, которая была куплена Red Hat в 2008 году. + +**Proxmox Virtual Environment** (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. В качестве гипервизоров использует KVM (виртуализация) и LXC (контейнеризация). Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria. + +## Типы гипервизоров + +### Автономный гипервизор (Тип 1, X) + +Имеет свои встроенные драйверы устройств и планировщик и поэтому не зависит от базовой ОС. Так как автономный гипервизор работает непосредственно в окружении усечённого ядра, то он более производителен, но проигрывает в производительности виртуализации на уровне ОС и паравиртуализации. Например, кроссплатформенный гипервизор Xen может запускать виртуальные машины в паравиртуальном режиме (зависит от ОС). + +Примеры: VMware ESX, Citrix XenServer. + +### На основе базовой ОС (Тип 2, V) + +Это компонент, работающий в одном кольце с ядром основной ОС (кольцо 0). Гостевой код может выполняться прямо на физическом процессоре, но доступ к устройствам ввода-вывода компьютера из гостевой ОС осуществляется через второй компонент, обычный процесс основной ОС. + +Примеры: Microsoft Virtual PC, VMware Workstation, QEMU, Parallels, VirtualBox. + +### Гибридный (Тип 1+) + +Гибридный гипервизор состоит из двух частей: из тонкого гипервизора, контролирующего процессор и память, а также специальной служебной ОС, работающей под его управлением в кольце пониженного уровня. Через служебную ОС гостевые ОС получают доступ к физическому оборудованию. + +Примеры: Microsoft Virtual Server[en], Sun Logical Domains, Xen, Citrix XenServer, Microsoft Hyper-V, VMware Workstation, OVirt. + +https://ru.wikipedia.org/wiki/Сравнение_виртуальных_машин + +## Популярные форматы дисковых образов + +| Формат | Описание | +|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Qcow2 (qcow2) | Формат Qcow2 является основным для QEMU и применяется в использующих QEMU продуктах, в частности KVM-QEMU и Proxmox. Поддерживает механизм снимков (snapshot). | +| Virtual Hard Drive (vhd) | Поддерживается в Virtual PC, Xen, QEMU, VirtualBox, VMWare. | +| Virtual Machine Disk (vmdk) | Разработанный VMware для использования в качестве образа диска в своих виртуальных машинах. Поддерживается в QEMU, VirtualBox. | +| RAW (img) | простой формат для дисковых образов, обладающий отличной переносимостью на большинство технологий виртуализации и эмуляции. | + +#### Утилита qemu-img + +`qemu-img` позволяет создавать, конвертировать и изменять образы в автономном режиме. Может обрабатывать все форматы образов, поддерживаемые QEMU. Работает со следующими форматами: raw, qcow2, qcow, cow,vmdk, cloop. + +Предупреждение: Никогда не используйте `qemu-img` для изменения образов, используемых запущенной виртуальной машиной или любым другим процессом; это может привести к уничтожению образа. Кроме того, имейте в виду, что запрос образа, которое изменяется другим процессом, может привести к несогласованному состоянию. + + + +## Релевантные ссылки +- Robert P. Goldberg. Architectural Principles for Virtual Computer Systems. 1973. +- https://ru.wikipedia.org/wiki/Гипервизор +- https://ru.wikipedia.org/wiki/QEMU +- https://ru.wikipedia.org/wiki/KVM +- https://ru.wikipedia.org/wiki/VMware +- https://ru.wikipedia.org/wiki/VirtualBox +- https://ru.wikipedia.org/wiki/Xen +- https://ru.wikipedia.org/wiki/Сравнение_виртуальных_машин \ No newline at end of file diff --git a/module2/06_virtualization/tasks.md b/module2/06_virtualization/tasks.md new file mode 100644 index 0000000..270cd15 --- /dev/null +++ b/module2/06_virtualization/tasks.md @@ -0,0 +1,75 @@ +# Задания + +## 1. +Установите Proxmox на две виртульные машины Proxmox. Используйте образ диска `proxmox_7.2.1.iso`. + +Параметры виртульных машин: +- объем памяти RAM 32ГБ, +- число ядер 8, +- объем жёсткого диска 32ГБ, +- vlan 15+X (сетевое устройство подключенное к мосту vmbr15+X), +- IP из сети `192.168.1.0/24`, +- шлюз `192.168.1.1`, +- любой общедоступный DNS, +- стандартный пароль для пользователя root, +- доменные имена `n[1-2].studX.myoffice.ru`. + +## 2. +Объедините узлы в Proxmox кластер. +``` +root@n1 # pvecm create stud15-cluster +root@n1 # systemctl restart corosync +root@n1 # pvecm status +``` + +``` +root@n2 # pvecm add n2.stud15.myoffice.ru +root@n2 # pvecm status +``` + +## 3. +Настройте доступ к веб-интерфейсу с помощью прокси сервера или туннелей. Схема с туннелями: +``` +Ноутбук -----------------> studX.myoffice.ru <------------------- n1.studX.myoffice.ru (vlan 15+X) + +n1 $ ssh -R 8006:localhost:8006 stud@studX.myoffice.ru +notebook $ ssh -L 8006:localhost:8006 stud@studX.myoffice.ru +``` + +## 3. +Создайте виртуальную машину в вашем Proxmox. Скачайте образ `Core` проекта `Tiny Core Linux` http://tinycorelinux.net/downloads.html. + + +## 4. +Сделать резервное копирование (Backup) виртуальной машины. Извлеките образ из архивного формата +``` +vma extract -v filename.vma ./export +``` + +Сконвертируйте образ диска в формат VHD утилитой `qemu-img`. Пример команды +``` +$ qemu-img convert -f raw -O qcow2 image.img image.vhd +``` + +Объем пространства, занимаемый образом, можно определить с помощью команд `qemu-img info` или `ls -ls`; + +## 5. +Сделать снимок (Snapshot) виртуальной машины. + +## 6. +Создайте новые vlan и vmbr . + +## 7. +Проведите миграцию виртуальной машины с одного узла на другой. + +## 8. +Увеличить объем диска виртуальной машины. + +## 9. +Посмотрите параметры виртуальной машины в терминале утилитой `qm`. + +## 10. +Настроите перезапуск виртуальной машины в случае отказа. + +## 11. +Выведите список виртуальных машин в терминале. \ No newline at end of file