LINUX.ORG.RU

ВМ для Линукса

 


1

1

Есть вопрос по системам виртуализации. Вот не так давно я освоил QEMU-KVM - вполне годная вещь для запуска гостевой винды.
А что с запуском гостевого линукса? Что рекомендуется использовать для оптимального масштабиравания ресурсов, тоже QEMU-KVM или что-то другое? А что на счёт контейнерной виртуализации? Допустим мне нужно опробовать некую программу, а она собрана только под Debian, а у меня на хосте - Fedora и вот я хочу запустить её в виртуалке с Debian, контейнеры тут подойдут?

★★★★★

на поиграться еще kvmtool пойдет

anonymous
()

виртуализация - kvm докер уже советовали. если стоит один линукс, а нужен другой я делал chroot (правда только для разных версий одного дистра).

chenger ★★
()
Последнее исправление: chenger (всего исправлений: 1)
Ответ на: комментарий от trupanka

И как с ним работать? Первое - как установить гостевую систему? Её вообще нужно устанавливать или нужно взять контейнер с уже установленным дистрибутивом? А если требуется какой-нибудь экзотический дистрибутив под который готового контейнера нет?

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

Её вообще нужно устанавливать или нужно взять контейнер с уже установленным дистрибутивом?

Взять контейнер

А если требуется какой-нибудь экзотический дистрибутив под который готового контейнера нет?

То тебе дебиан нужен, то экзотический дистрибутив. Ты уж сформулируй задачу.

anonymous
()

lxc или kvm и никаких докеров.

King_Carlo ★★★★★
()

Вижу, что в основном посоветовали kvm и docker? Хотя бы Xen и OpenVZ не советовали, а то бы я совсем запутался. Если мне никто не объяснит в чём профит докера и не даст краткую вводную по нему - то наверное остановлюсь на kvm.

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

Xen и OpenVZ

Нужно кастомное ядро, потому и не советуют, и правильно делают.

остановлюсь на kvm
А что с запуском гостевого линукса?

Использование KVM для этого — избыточно, поэтому и советуют легковесное и из коробки, т.е. LXC/D, Docker.

Amet13 ★★★★★
()
Последнее исправление: Amet13 (всего исправлений: 1)
Ответ на: комментарий от Amet13

Наверное я просто не понимаю суть контейнеризации.
Понимаю только что контейнеризация != виртуализация

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

Нашёл материал
http://eax.me/lxc/
Написано, что docker - это как бы фронтенд над lxc, а lxc также как и OpenVZ, является технологией контейнеризации.
Давайте разбем:
эмуляция - ПО, запущенное на хостовой системе, эмулирует процессор и все устройства, можно эмулировать любую архитектуру и запускать под ней любое ПО, эту архитектуру поддерживающее, но сильно расходуются ресурсы процессора и памяти
виртуализация - процессор не эмулируется, вместо этого используются возможности аппаратной виртуализации процессоров Intel или AMD, выбрать архитектуру соответственно, невозможно, зато экономятся аппаратные ресурсы
паравиртуализация - используются одновременно и возможности аппаратной виртуализации (один и тот же процессор одновременно выполняет процессы и хостовой и гостевых систем) и обсно и тоже) и виртуализация на уровне операционной системы (одно и тоже ядро обслуживает одновременно и хостовую и гостевые системы), экономия аппаратных ресурсов ещё более значительна, но гостевой системой может быть только GNU/Linux
контейнеризация - один контейнер используется для запуска одного приложения, например apache, но тот же apache просто так работать не будет, нужно окружение в виде: bash, glibc, библиотек, файловых систем /proc, /sys, /dev, то есть контейнер - это полноценная гостевая система GNU/Linux, так что непонятно чем это от паравиртуализации отличается.
Возможно я тут описал набор моих личных заблуждений.
Ещё вопрос: при использовании паравиртуализации/контейнеризации если хостовая система на ядре 4.x - гостевая на ядре 3.x соответственно не взлетит?

sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

паравиртуализация - это когда гипервизор не эмулирует некоторые устройства как реальное железо, а неким другим образом, что требует специальных драйверов в гостевой ОС, но сокращает накладные расходы на виртуализацию.

Elyas ★★★★★
()
Ответ на: комментарий от sunny1983

если хостовая система на ядре 4.x - гостевая на ядре 3.x соответственно не взлетит?

Только в случае контейнеризации. Гостевой контейнер не может управлять ядром, оно использует хостовое.

Amet13 ★★★★★
()
Ответ на: комментарий от sunny1983

А если требуется какой-нибудь экзотический дистрибутив под который готового контейнера нет?

Тогда сделай сам

vrutkovs ★★
()
Ответ на: комментарий от sunny1983

Написано, что docker - это как бы фронтенд над lxc, а lxc также как и OpenVZ, является технологией контейнеризации.

Не совсем так. LXC/D это обёртка над cgroups/namespaces, встроенными в ядро механизмами для построения контейнеров. Docker раньше использовал LXC для запуска контейнера, но потом перешёл на собственную обёртку.

realloc ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.