# Лабораторная работа 7. Основы виртуализации в Linux. Динамическая миграция ресурсов в отказоустойчивом кластере на базе Corosync/Pacemaker.

Цель<br>
	Получить базовые навыки в работе с пакетом управления виртуализацией Libvirt.

Задачи
1. Настроить динамическую миграцию.
2. Провести миграцию ресурса.

<b>Note: Логин/пароль на всех узлах<br>
Логин:</b> labuser<br>
<b>Пароль:</b> labpass1!

Проект: [GROUP]:[team]-lab:4-7
Схема виртуального лабораторного стенда

<div drawio-diagram="137"><img src="https://docs.resds.ru/uploads/images/drawio/2022-02/ylKXRcTQkxQ3SQj9-drawing-3-1645730801.png"></div>

#### Задание 1. Настройка динамической миграции
Порты в фаерволе уже открыты, после этого настроить <b>libvirt</b>.
Необходимо перейти в файл <b>/etc/libvirt/libvirtd.conf</b>
```sh
sudo vi /etc/libvirt/libvirtd.conf
```
Добавить туда три параметра:
```
listen_tls = 0
listen_tcp = 1
auth_tcp = "none"
```
Сохранить файл. После этого необходимо изменить файл <b>/etc/sysconfig/libvirtd</b>
```sh
sudo vi /etc/sysconfig/libvirtd
```
Добавить параметр:
```
LIBVIRTD_ARGS="--listen --config /etc/libvirt/libvirtd.conf"
```
Перезагрузить <b>libvirt</b>.
```sh
sudo systemctl restart libvirtd
````
Проделать эти операции на всех узлах.

#### Задание 2. Миграция ресурса
Нужно переместить ресурс на <b>labnode-2</b>:
```sh
sudo pcs resource move cirros labnode-2
```
На labnode-2 посмотреть статус кластера, и проверить список запущенных гостевых машин
можно следующими командами:
```sh
sudo pcs status
sudo virsh list --all
```
Команда move добавляет ресурсу правило, заставляющее его запускаться только на указанном
узле. Для того, чтобы очистить все добавленные ограничения - clear:
```sh
sudo pcs resource clear cirros
```
Из Remote Viewer необходимо проверить доступность ВМ на labnode-2. (<b>spice://10.0.12.22:5900</b>).
Необходимо дождаться загрузки cirros.
Переместить ресурс на labnode-1:
```sh
sudo pcs resource move cirros labnode-1
```
Посмотреть на результат:
```sh
sudo pcs status
sudo virsh list --all
```
При подключении к ресурсу, используя remmina, можно увидеть, что гостевая ОС не
загружается с нуля, а уже включена. Ресурс был полностью перенесен на другой узел (включая
оперативную память), а не просто отключён на первом и включен на втором.