Astra linux libvirt qemu

Введение

В статье рассматривается пример создание контейнера Vagrant на базе образа подготовленного в системе виртуализации QEMU/KVM в Astra Linux. Предполагается, что имеется машина с установленной и настроенной системой виртуализации, на которой образ создается, настраивается и конвертируется в файл для передачи в Vagrant.

Подготовка образа виртуальной машины

Для создания исходного образа следует использовать обычные процедуры работы с системой виртуализации QEMU/KVM.

Для системы хранения (диска) создаваемого исходного образа рекомендуется использовать драйвер virtio. Этот драйвер используется в vagrant по умолчанию. Если использовать другие драйверы (SATA или SCSI), то для запуска созданного образа потребуется вручную указать использованный драйвер.

Для подготовки созданного образа в работе с Vagrant выполнить следующие действия в операционной системе образа:

    Создать пользователя с именем vagrant, имеющего права администратора (для Astra Linux Special Edition с включенным МРД — администратора с высоким уровнем целостности). Это можно сделать при установке ОС на виртуальную машину (при этом пользователю должен быть установлен пароль), или выполнив на ранее созданной машине команды:

      Создать пользователя vagrant:

    опции команды:
    -m — создать домашний каталог;
    -s /bin/bash — задать командную оболочку;
    -G astra-admin — включить пользователя в группу astra-admin, что позволит ему выполнять команды с sudo без пароля;

    Пароль может быть любым, так как далее настраивается подключение SSH по ключу без использования пароля.

    wget https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub
    ssh-copy-id -f -i vagrant.pub vagrant@localhost

    Создание образа для контейнера Vagrаnt

    Конвертировать образы qcow2 в контейнеры vagrant можно на любой машине, при этом ни система виртуализации, ни vagrant не нужны. Для подготовки машины к созданию контейнеров:

      Установить пакет qemu-utils:

    При работе на машине с установленной системой виртуализации QEMU/KVM для того, чтобы найти файл с образом виртуальной машины можно использовать команду:

    config.nfs.verify_installed = false;
    config.vm.synced_folder ".", "/vagrant", disabled: true

    Подготовка хоста Vagrant

    На машине, на которой будет запускаться контейнер vagrant, должны быть установлены:

    • пакет vagrant;
    • система виртуализации QEMU/KVM;
    • vagrant-плагин vagrant-libvirt (или пакет vagrant-libvirt);
    • пакет vagrant-plugin-astra.

    Подключить расширенный репозиторий (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования) версии не ниже 1.7.2 и установить пакеты из репозитория:

    Для успешной работы с системой виртуализации включить пользователей, от имени которых должны запускаться виртуальные машины, в группы kvm, libvirt, libvirt-qemu, libvirt-admin и перезапустить пользовательскую сессию (подробнее см. Виртуализация QEMU/KVM в Astra Linux):

    Запуск контейнера Vagrant на хосте Vagrant

    Источник

    Виртуализация средствами AstraLinux 1.6 SE

    В руководстве администратора к AstraLinux 1.6 SE присутствует лишь описание пакетов и параметров.
    Согласно данной статье на АстраВики https://wiki.astralinux.ru/pages/viewpage.action?pageId=27363213 — сделать не получается:
    1) Пока не выполнил пункт 2 по включению пользователя в группы (даже для пользователя root !) при регистрации ВМ выпадает ошибка.
    2) Упомянутый в статье пакет gvncviewer отсутствует в AstraLinux 1.6 SE.
    3) После успешной регистрации ВМ — при запуска выдает ошибку «unable to set PDP label ‘0:63:0 on ‘/kvm/123.qcow2’: Отказано в доступе‘»
    в /var/log/libvirt/qemu/123.log содержится следующее
    «warning : virExec:744 : Setting child security label to 0:63:0
    warning : virExec:752 : CAPS on start: PARSEC capabilities eip(80c,80c,80c) euid 0
    libvirt: error : libvirtd quit during handshake: Ошибка ввода/вывода «

    Подскажите пожалуйста, имеется ли возможность создавать и управлять виртуальными машинами (не покупая средства виртуализации Брест) имея только AstraLinux1.6 SE?
    И если да — то как?

    oko

    New member

    1) Пока не выполнил пункт 2 по включению пользователя в группы (даже для пользователя root !) при регистрации ВМ выпадает ошибка.

    Что логично. Для этого данный пункт и был добавлен сразу после установки необходимых пакетов.

    Вообще, если нужен условный гипервизор без поддержки режима «Мандатного контроля целостности», то делается все довольно просто:

    1. Ставим Astra Linux в обычном варианте без выбора каких-либо доп.флагов (затирание, киоск, ALD и проч.) и без графики. Затирание не рекомендуется по причине его бессмысленности — вся защищаемая информация будет крутиться в qcow2-образе. Киоск и ALD по понятным причинам. Но рекомендуется отключить вывод загрузчика и использовать ядро hardened по умолчанию.

    2. Заводим пользователя-администратора. Все действия будет совершать от его лица. При входе в консоли всегда выбираем Integrity level: 0

    3. Отключаем нафиг мандатный контроль целостности:
    sudo astra-mic-control disable

    4. Отключаем NetworkManager:
    sudo systemctl stop NetworkManager
    sudo systemctl disable NetworkManager

    5. Правим конфиг-файл сетевых интерфейсов с целью создания сетевого моста для виртуальных машин и нашей сети:
    (в примере только 1 сетевая карта — eth0) и создаем сетевой мост (к примеру, с ip-адресом 192.168.12.110 из подсети 192.168.12.0/24, где шлюз по умолчанию и DNS — роутер выхода вовне — 192.168.12.1)
    sudo nano /etc/network/interfaces
    auto lo
    iface lo inet loopback
    auto br0
    iface br0 inet static
    address 192.168.12.110
    netmask 255.255.255.0
    gateway 192.168.12.1
    dns-nameservers 192.168.12.1
    bridge_ports eth0
    bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

    6. Ставим пакеты поддержки KVM:
    sudo apt install libvirt-daemon-system libvirt0 qemu-kvm bridge-utils virt*

    7. Добавляем нашего пользователя-администратора в группы поддержки kvm:
    sudo adduser libvirt-admin
    sudo adduser kvm
    sudo adduser libvirt-qemu

    8. Механизм мандатных меток (даже отключенный) запрещает создание вирт.машин в любом каталоге кроме /var/lib/libvirt/images (или я пока не
    нашел, как его обойти), поэтому размечаем пространство в формате QCOW2 (можно и в RAW, но он более «сырой», ага) для файл-образа вирт.машины
    нужного объема (в пример, 20 Гигабайт):
    sudo qemu-img create -f qcow2 /var/lib/libvirt/images/ИМЯ-МАШИНЫ.img 20G

    9. Создаем виртуальную машину (в примере ниже Windows, для Linux будут иные параметр os-type и кое-что еще):
    sudo virt-install —connect qemu:///system -n win8 -r 2048 —cdrom «/mnt/Win81_64.iso» —arch=x86_64 —vcpus 2 —os-type windows —network=bridge:br0,model=e1000 —hvm —accelerate —graphics vnc,password=password,listen=0.0.0.0,port=5903 —disk «/var/lib/libvirt/images/ИМЯ-МАШИНЫ.img»,size=20,bus=sata,format=qcow2,cache=none
    Если команда как бы подвисла, завершаем ее сочетанием Ctrl+C.
    Проверяем командой sudo netstat -tpl, что *:5903 порт прослушивается — виртуальная машина создана и готова к работе.

    10. Подключаемся к виртуальной машине через любой VNC-viewer на ip-адрес нашего сетевого моста, порт 5903. Вводим пароль (в примере
    конфигурации, password). Инсталлируем гостевую ОС из выбранного ранее источника (в примере, /mnt/Win81_64.iso). Дожидаемся окончания установки

    11. Средствами самой виртуальной машины смотрим MAC-адрес. При необходимости, выставляем статический IP либо на самой виртуальной машине, либо на DHCP-сервере, обслуживающем сеть нашего гипервизора.

    12. Проверяем устойчивость работы виртуальной машины и радуемся жизни! Конфигурационный файл виртуальной машины лежит по адресу:
    /etc/libvirt/qemu/ИМЯ_МАШИНЫ.xml (редактируется тем же sudo nano).

    13. Добавляем виртуальную машину в автозапуск:
    sudo ln -s /etc/libvirt/qemu/ИМЯ-МАШИНЫ.xml /etc/libvirt/qemu/autostart/ИМЯ-МАШИНЫ.xml

    14. Завершить работу вирт.машины (в Астре по умолчанию не работает, ошибка PolKit, поэтому либо машину тушим изнутри, либо убиваем процесс командой sudo kill -9 номер_процесса. Поиск номера процесса — в качестве домашнего задания). Аналогично с system reboot — перезагрузка
    вирт.машины:
    virsh -c qemu:///system shutdown ИМЯ_МАШИНЫ

    15. Редактировать конфигурацию, чтобы не лазить в файл постоянно
    virsh -c qemu://system edit ИМЯ_МАШИНЫ

    По вкусу настраиваем /etc/libvirt/libvirtd.conf — основные настройки гипервизора в части подключения администраторов, аудита и проч.

    Доп.настройку хостовой ОС гипервизора проводим согласно Red Book или же без нее (в зависимости от требуемого уровня защищенности).

    Источник

    Установка сервера KVM

    После создаем каталог в разделе диска, в котором будем хранить файлы виртуалки. Выполняем:

    Копируем установочный образ для развертывания сервера в папку /iso
    sudo mv установочный_образ_сервера.iso /iso

    Меняем владельца установочного образа
    sudo chown libvirt-qemu:libvirt /iso/установочный_образ_сервера.iso

    Создание виртуальной машины в графике:

    Теперь перейдем к созданию виртуальной машины с помощью утилиты virt-manager.

    virt-manager
    Появится вот такое окошко:

    Выбираем Файл-> создать виртуальную машину

    Выбираем метод установки — Локальный ISO или CDROM, Вперед.

    Жмем Обзор, и выбираем iso/установочный_образ_сервера.iso

    В левой части мы видим пространства данных. По умолчанию пространство данных содается в /var/lib/libvirt/images

    Чтобы создать пространство данных на другом диске или в другой папке, нажимаем занчек «+» в левом нижнем углу.

    Вводим имя создаваемого хранилища с образами. Вперёд.

    Обзор и указываем путь до хранилища (папки). Открыть.

    В меню выбор тома хранилища появился наш новый том и установочные образы (которые ранее скопировали сюда).

    Выбираем установочный образ. Жмем Выбор тома.

    Настраиваем выделяемое количество ОЗУ и процессоров.

    Настраиваем размер и расположение пространства данных для нашей виртуальной машины (по умолчанию создается в папке /var/lib/libvirt/. )

    Если нужно пространство разместить на другой папке или диске-жмем «Настроить»

    Выбираем созданное на предыдущем этапе пространство данных, Около «Список томов» жмем «+»

    Называем том хранилища, ставим его размер. Нажимаем галочку проверить конфигурацию. Готово.

    При проверке конфигурации нажимаем добавить оборудование (это делается для обеспечения работоспособности мыши в виртуальной машине)

    Наводим указатель на ВВОД и выбираем Графический планшет USB EvTouch. Нажимаем готово.

    Нажимаем в верхне левом углу начать установку

    В появившейся вкладке предлагается включить дефолтную сеть. Настройка сети мостом в статье.

    Наживаем ДА и начинается установка.

    Если при запуске виртуальной сети пишет что «Не удалось запустить виртуальную сеть «default»: internal error: Failed to initialize a valid firewall backend» установите следующие пакеты:

    sudo apt install firewalld
    sudo systemctl enable firewalld
    sudo systemctl start firewalld
    sudo service libvirtd restart

    Далее идет интуитивно понятная установка операционной системы.

    Для создания общего буфера обмена установим на виртуальной машине следующие пакеты и перезагрузим:

    sudo apt install spice-vdagent && sudo reboot

    Что бы осуществлять изменение сетевых настроек без перезагрузки виртуальной машины установим пакет на виртуальную машину:

    sudo apt install qemu-guest-agent

    Источник

    Читайте также:  Openssl php extension linux
Оцените статью
Adblock
detector