Added virtualization tasks.

pull/1/head
Vladimir Protsenko 2 years ago
parent 2610c28ba9
commit 1c440e4272

@ -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/Сравнение_виртуальныхашин

@ -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.
Выведите список виртуальных машин в терминале.
Loading…
Cancel
Save