Оглавление |
---|
Предупреждение | ||||
---|---|---|---|---|
|
Информация | ||
---|---|---|
| ||
|
Установка QEMU/KVM
Astra Linux CE Орел 2.12
Для автоматизированной установки системы виртуалтзации QEMU/KVM в дистрибутив Astra Linux Common Edition включен пакет astra-kvm. Пакет может быть установлен с помощью графического менеджера пакетов или из командной строки командой:
Command |
---|
sudo apt install astra-kvm |
При установке этого пакета будет автоматически установлен сам Virt-manager и выполнены все действия, необходимые для установки и запуска системы виртуализации. Дополнительно для работы в сети будет установлен пакет ebtables.
При установке пакетов текущий пользователь будет автоматически добавлен в группы:
- kvm;
- libvirt;
- libvirt-qemu.
Других пользователей, которые должны работать с виртуализацией, следует добавить в указанные группы вручную:
Command |
---|
sudo usermod -a -G kvm,libvirt,libvirt-qemu <имя_пользователя> |
Для того, чтобы добавление в группы вступило в силу, нужно перезапустить пользоваетельскую сессию.
Для хранения образов виртуальных машин при установке пакетов автоматически создается пул данных. По умолчанию этот пул данных располагается в каталоге /var/lib/libvirt/images. Дополнительные пулы данных могут быть созданы по мере необходимости.
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), РУСБ.10015-16 исп. 1
Предупреждение |
---|
При использовании виртуализации QEMU/KVM в Astra Linux Special Edition для обеспечения работы с виртуальными машинами, поддерживающими ненулевые мандатные метки, все пулы данных должен находиться на файловых системах, поддерживающих работу с мандатными атрибутами (Ext4, cepfs, ocfs2). |
Установка пакетов
Для работы с системой виртуализации QEMU/KVM в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), РУСБ.10015-16 исп. 1 необходимо установить следующие пакеты:
- libvirt-daemon-system;
- libvirt0;
- qemu-kvm.
Команда для установки:
Command |
---|
sudo apt install libvirt-daemon-system libvirt0 qemu-kvm |
При установке пакетов в Astra Linux Special Edition будет создан каталог /var/lib/libvirt/images (принятый по умолчанию каталог пула данных) которому будкт назначены мандатные атрибуты, достаточные для размещения в нём данных с ненулевыми мандатными метками:
Command | ||
---|---|---|
| ||
drwx--x--xm-- 2 root root Уровень_3:Высокий:Категория_1,Категория_2,0xfffffffffffffffc:ccnr /var/lib/libvirt/images |
Всех пользователей, которые должны работать с виртуализацией (включая текущего пользователя-администратора) следует добавить в группы:
- kvm;
- libvirt;
- libvirt-admin (Внимание! этой группы нет в Astra Linux Common Edition);
- libvirt-qemu.
Команда для добавления пользователя в группы:
Command |
---|
sudo usermod -a -G kvm,libvirt,libvirt-admin,libvirt-qemu <имя_пользователя> |
Работа с QEMU/KVM
Информация |
---|
При работе рекомендуется контролировать содержимое /var/lib/libvirt/images и своевременно удалять неиспользуемые диски. |
Создание виртуальных машин
См. статью Создание виртуальных машин средствами ОС Astra Linux Special Edition
Создание собственных пулов для пользователей
Предупреждение |
---|
При работе с Astra Linux Specail Edition образы дисков виртуальных машин (в том числе загрузочные образы для установки ОС на виртуальных машинах) регистрируются в системе виртуализации как файловые объекты с высоким уровнем конфиденциальности. |
Для создания собственного пула пользователя следует создать каталог, доступный этому пользователю, например:
Command |
---|
sudo mkdir -p /vrt/pool1 |
Для запрета добавления новых образов ВМ в пул пользователю необходимо ограничить доступ к директории правами на чтение (r-x).
Дальнейшие действия выполнять от имени пользователя - владельца пула.
Создать пул в ранее созданных каталогах можно следующими командами:
Command |
---|
virsh -c qemu:///system pool-define-as pool1 --type dir --target /vrt/pool1 virsh -c qemu:///system pool-build pool1 virsh -c qemu:///system pool-start pool1 virsh -c qemu:///system pool-autostart pool1 virsh -c qemu:///system pool-list --all |
Образец диалога с выводом команд:
Раскрыть |
---|
$ virsh -c qemu:///system pool-define-as pool1 --type dir --target /vrt/pool1 Pool pool1 defined $ virsh -c qemu:///system pool-build pool1 Pool pool1 built $ virsh -c qemu:///system pool-start pool1 Pool pool1 started $ virsh -c qemu:///system pool-autostart pool1 Pool pool1 marked as autostarted $ virsh -c qemu:///system pool-list --all Name State Autostart ------------------------------------------- pool1 active yes |
При работе в Astra Linux Special Edition при создании пула необходимые мандатные атрибуты будут присвоены ему автоматически (при условии, что на ОС установлено обновление безопасности БЮЛЛЕТЕНЬ № 20190222SE16). Проверить мандатные атрибуты пула можно командой:
Command |
---|
pdp-ls -Md /vrt/pool1 |
Образец диалога:
Раскрыть |
---|
$ pdp-ls -Md /vrt/pool1 drwxr-xr-xm-- 2 vrtadmin vrtadmin Уровень_3:Высокий:Категория_1,Категория_2,0xfffffffffffffffc:CCNRA /vrt/pool1 |
Создать и запустить виртуальную машину с образом диска, расположенным в ранее созданном пуле командой:
Command |
---|
virsh -c qemu:///system define vm1.xml |
Образец диалога:
Раскрыть |
---|
|
Проверить статус ВМ:
Command |
---|
virsh -c qemu:///system list --all |
Образец диалога:
Раскрыть |
---|
$ virsh -c qemu:///system list --all Id Name State ---------------------------------------------------- 3 vm1 running |
Проверить параметры подключения к ВМ
Command |
---|
$ virsh -c qemu:///system domdisplay vm1 |
Образец диалога:
Раскрыть |
---|
$ virsh -c qemu:///system domdisplay vm1 spice://127.0.0.1:5900 |
Подключиться к виртуальному монитору ВМ
Command |
---|
spicy -h 127.0.0.1 -p 5900 |
Сброс пользовательских настроек
Для сброса старых пользовательсктх настроек virt-manager удалить файл .config/dconf/user
Устранение ошибок
При появлении ошибки custom процессора нужно поставить в настройках пункт "использовать архитектуру процессора хоста".
При ошибке network 'default' not active выполнить следующие команды:
Command | ||||
---|---|---|---|---|
| ||||
sudo virsh net-start default sudo virsh net-autostart default |
После выполнения этих команд после перезагрузки сеть network 'default' будет запускаться автоматически.
Настройка фиксированных IP-адресов
Для привязки фиксированных IP-адресов к виртуальным машинам выполнить команду:
Command | ||||
---|---|---|---|---|
| ||||
sudo virsh net-edit default |
и после строки:
Блок кода |
---|
<range start='192.168.122.2' end='192.168.122.254'/> |
вставить строки с мак-адресами виртуальных адаптеров, например, как указано ниже:
Блок кода |
---|
<host mac='52:54:00:a2:99:c2' name='host1' ip='192.168.122.133'/> <host mac='52:54:00:de:2e:58' name='host2' ip='192.168.122.134'/> |
После сохранения изменений перезапустить виртуальную сеть:
Command | ||||
---|---|---|---|---|
| ||||
sudo virsh net-destroy default sudo virsh net-start default |
Примеры команд работы с виртуальными машинами
Получить список машин:
Command | ||||
---|---|---|---|---|
| ||||
sudo virsh list --all sudo virsh start <имя виртуальной машины> |
Включить автоматический запуск виртуальной машины при загрузке:
Command | ||||
---|---|---|---|---|
| ||||
echo "#!/bin/bash" | sudo tee /etc/rc.local echo "virsh start <имя виртуальной машины>" | sudo tee -a /etc/rc.local sudo chmod +x /etc/rc.local |
Решение возможных проблем с фильтрацией пакетов при работе с сетью
Command | ||||
---|---|---|---|---|
| ||||
cat << EOF | sudo tee -a /etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 net.ipv4.ip_forward=1 EOF |