-Поиск по дневнику

Поиск сообщений в rss_rss_hh_new

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.03.2011
Записей:
Комментариев:
Написано: 51


QEMU-KVM под LXC

Четверг, 01 Июня 2017 г. 20:29 + в цитатник
Как обычно — обстоятельства диктуют правила.
На этот раз мы ставим Proxmox и Libvirt на один тот же сервер.

image

Столкнулись с очередной задачей — заказчик поставил условие развернуть стенд на уже имеющейся, конфликтующей инфраструктуре. У него кластер Proxmox, у нас Libvirt

Решение в лоб — не помогло, попытка установить libvirtd потребовала удаления proxmox. Не долго думая решили скреативить. Смотрите под катом элегантное решение как и на ёлку залезть и ничего не ободрать.

Коротко о нас — команда разработчиков WriteX Team. Работаем с Linux с 2000го года под дивизор — нет ничего невозможного для Linux. Сказано — сделано. пошли думать. Варианты развития: скомпилировать libvirt либо уйти в контейнер. Гугл как обычно помог, нашел очень полезную статью: vasilisc.com/lxc-1-0-security-features и смотрим, что в принципе можно подарить контейнеру любое устройство. Смотрим (без разрешения автора, но не убирая ссылок немного копипаста):

Большинство LXC шаблонов устанавливает только несколько записей

# Default cgroup limits
lxc.cgroup.devices.deny = a
## Allow any mknod (but not using the node)
lxc.cgroup.devices.allow = c *:* m
lxc.cgroup.devices.allow = b *:* m
## /dev/null and zero
lxc.cgroup.devices.allow = c 1:3 rwm
lxc.cgroup.devices.allow = c 1:5 rwm
## consoles
lxc.cgroup.devices.allow = c 5:0 rwm
lxc.cgroup.devices.allow = c 5:1 rwm
## /dev/{,u}random
lxc.cgroup.devices.allow = c 1:8 rwm
lxc.cgroup.devices.allow = c 1:9 rwm
## /dev/pts/*
lxc.cgroup.devices.allow = c 5:2 rwm
lxc.cgroup.devices.allow = c 136:* rwm
## rtc
lxc.cgroup.devices.allow = c 254:0 rm
## fuse
lxc.cgroup.devices.allow = c 10:229 rwm
## tun
lxc.cgroup.devices.allow = c 10:200 rwm
## full
lxc.cgroup.devices.allow = c 1:7 rwm
## hpet
lxc.cgroup.devices.allow = c 10:228 rwm
## kvm
lxc.cgroup.devices.allow = c 10:232 rwm


смотрим, коды устройств на dom0,
# ls -lah /dev/kvm
crw-rw-rw- 1 root kvm 10, 232 Июн 1 11:55 /dev/kvm


и далее, разрешаем все нужные нам устройства и создаем их в контейнере:

mknod /dev/net/tun c 10 200
mknod /dev/kvm c 10 232


запускаем систему и ставим всё что нам необходимо в нашем контейнере — не нарушив ничего у заказчика. По моему — круто!

Готовы ловить помидоры, но только после полного осознания глубины креатива ;-)
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/330016/

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку