Подготовка KVM-Libvirt инфраструктуры (удаленное подключение с поддержкой авторизации)

by Anton Chernousov aka GITA-DEV


Опубликовано: 26 Май 2018 (последние правки 2 недели, 3 дня)


Подготовка KVM-Libvirt инфраструктуры (удаленное подключение с поддержкой авторизации)

Сегодня я расскажу и покажу как настроить удаленное управление гипервизором KVM/Qemu. Одним из ключевых моментов построения современных систем виртуализации ориентированных на продакшн-использование является централизованное управление и естественно, что централизация управления достигается использованием API. Одним из API для управления гипервизорами KVM/Qemu является Libvirt и стоит отметить, что эта библиотека, позволяет управлять не только KVM/Qemu, но и LXC.

Если вы собираетесь стоить свой собственный кластер виртуализации на базе Opensource компонентов, то пора задуматься о удаленном управлении виртуальными машинами на узлах кластера и я конечно исхожу из предположения, что этих самых узлов у вас несколько ведь в противном случае вам вполне подойдет Virtualbox который как раз и предназначен для Desktop-виртуализации.

Сегодня мы будем настраивать удаленное управление узлом гипервизора построенного на базе Opensource-технологий KVM/Qemu и начнем мы как обычно с установки необходимых пакетов:

# apt-get install qemu-kvm libvirt-bin
# apt-get install ubuntu-vm-builder bridge-utils

Разрешаем удаленные подключения к Libvirt.

Для разрешения удаленных подключений к libvirt, необходимо в файле /etc/libvirt/libvirtd.conf установить параметры:

listen_tls = 0
listen_tcp = 1
listen_addr = "0.0.0.0"
tcp_port = "16509"

И в файле /etc/default/libvirt-bin добавить опцию:

libvirtd_opts="-l"

Перезапускаем сервис libvirt-bin:

# /etc/init.d/libvirt-bin restart

Проверяем, что удаленные подключения принимаются:

$ telnet 10.248.0.1 16509 
Trying 10.248.0.1... 
Connected to 10.248.0.1. 
Escape character is '^]'.

Настраиваем авторизацию.

По умолчанию в Libvirt теперь используется Kerberos, но это слишком круто и мы переключаемся на старый добрый sasl, для чего устанавливаем пакет поддержки sasl-авторизации:

# apt-get install sasl2-bin 

В файле /etc/libvirt/libvirtd.conf устанавливаем параметр:

auth_tcp = "sasl"

А в файле /etc/sasl2/libvirt.conf меняем параметр:

mech_list: digest-md5

Создаем пользователя который сможет удаленно управлять libvirt и соответственно KVM/QEMU:

# saslpasswd2 -a libvirt virtmanager

Перезапускаем сервис libvirt-bin и пробуем подключиться удаленно при помощи графического менеджера виртуальных машин.

Удаленное подключение к libvirt

Так же можно подключиться к libvirt из консоли Linux:

$ virsh -c qemu+tcp://10.1.1.73/system

Теперь мы можем удаленно управлять гипервизором.

Удаленное управление Libvirt



Есть вопросы?
Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .

Блог это некоммерческий проект! Если вам понравился мой блог и то что я пишу помогло вам на практике, то можете сказать спасибо материально.