Pull to refresh

Comments 48

ок, а как правильно тогда назвать virt-manager установленный в docker? Виртуализацией или контейнеризацией?

Это программа реализующая UI для libvirt. Она не имеет отношения ни к первому, ни ко второму.

Как уже отметили, это пользовательский интерфейс для взаимодействия с виртуальными машинами. Docker тут как и в ряде других случаев будет выступать просто инструментом для установки его.

А зачем virt-manager устанавливать и запускать в докер контейнере? В каких случаях это может потребоваться?

Это обеспечивает высокую степень изоляции. Если в одной виртуальной машине происходит сбой или компрометация, это не влияет напрямую на хостовую систему или другие виртуальные машины.

Ну это опрометчивое утверждение. Как показали уязвимости Spectre и Meltdown, протечки из виртуальной машины в другие машины или хостовую систему вполне возможны. Так что в первую очередь виртуальные машины нужны, когда нам нужно запустить приложение на принципиально ином ядре операционной системы.

Ну так очевидно, что виртуализация не сможет обеспечить полной изоляции. Процессор так пробрасывается в вм, его нельзя эмулировать. Но с ней явно изоляция больше чем с контейнерами. Kata containers не зря же появилось.

Против лома нет приёма, против социальной инженерии или уязвимости на уровне перефирии, к примеру взлома удалённого доступа к KVM(который для доступа к серверам, а не который виртуальная машина), виртуалки тоже не защитят.
Да и Spectre с Meltdown исправили в новых моделях процессоров.

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

Виртуализация процессора это уже эмуляция, а не виртуализация.
Либо слой трансляции, но это тоже не синоним эмуляции, так как там нету цели имитации конкретной модели процессора.

Картинки конечно красивые, но статья ни о чем. Чисто клиебейтный заголовок. И где вы в ESXi ядро Linux увидели? Там только совместимость для драйверов была.

Картинки конечно красивые, но статья ни о чем. Чисто клиебейтный заголовок.

С учётом того что люди активно путают эти два понятия, вынужден не согласиться.

И где вы в ESXi ядро Linux увидели?

Увидели не мы, а разработчики ядра, которые с VMware судятся последние лет 10 кажется.
https://www.theregister.com/2015/03/05/vmware_sued_for_gpl_violation_by_linux_kernel_developer/

https://sfconservancy.org/news/2019/apr/02/vmware-no-appeal/

И немного в сторону из совсем свежего, для VMware Workstation они теперь используют KVM в качестве гипервизора.
https://www.heise.de/en/news/VMware-makes-a-splash-KVM-instead-of-proprietary-hypervisor-10001742.html

Ядро Linux и части кода из ядра Linux - это все же разные вещи.Что раздувать-то? ) А то что они переводят workstation на kvm это вообще к чему? Он еще и бесплатный теперь будет для частных пользователей.Это же не доказывает ничего.

Это лишь вершина айсберга из 10 лет разбирательств, ядро ESXi всегда считалось Linux-подобным, а эти подозрения и разбирательства могут указывать на то, что это вовсе просто его форк.

Что раздувать-то? )

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

kvm это вообще к чему?

К теме моего поста и обсуждения VMware в целом, я же написал в самом начале "И немного в сторону", указав, что это не относится напрямую к ветке обсуждения.

Эти ссылки - точно не доказательство, что esx = linux. Судебная : обычная практика по вытаскиванию на свет Божий закрытой инфы о конкурирующей технологии в процессе суда. KVM для VMW Workstation: Broadcom не хочет тратить деньги на бесплатный продукт, пытается перейти на opensource хоть в чем-то малом( VMW Workstation для Win смогут на KVM перевести? Гарантируют полностью аналогичное функционирование после перехода на KVM одной и той же ВМ и в Win , и в Lin, и в ESX, и в Mac Workstation'ах? Сейчас то просто скопировал OVA и вперёд!).

Да(как намек), слой Linux совместимости в FreeBSD ее тоже Линуксом делает?

Эти ссылки - точно не доказательство, что esx = linux.

Нет, но за 10 лет там накопились далеко не только эти ссылки.

KVM для VMW Workstation: Broadcom не хочет тратить деньги на бесплатный продукт, пытается перейти на opensource хоть в чем-то малом( VMW Workstation для Win смогут на KVM перевести?

Как я уже упомянул выше, это не аргумент в сторону того что VMware стащили ядро Linux для ESXi, это упоминание другого интересного мне инфоповода, в контексте обсуждения VMware вообще, а не конкретно этого судебно дела.

Да(как намек), слой Linux совместимости в FreeBSD ее тоже Линуксом делает?

И то, и то продукты с открытым исходным кодом, их лицензии позволяют копировать друг друга на все 100%. ESXi - закрытый, проприетарный продукт. Продукт от компании которая практически монополист на рынке виртуализации. И если когда-нибудь эти судебные дела продолжатся и будет подтверждено, что ядро ESXi это просто форк Linux, то тем самым они нарушили лицензию и хотели сэкономить на отчислениях за это.

Нет, но за 10 лет там накопились далеко не только эти ссылки.

А можно примеры? Правда интересно

ядро ESXi всегда считалось Linux-подобным

Кем считалось?

И если почитать документы из того разбирательства, то там ни разу не заявлялось, что vmkernel - форк чего бы ни было (интересно, кстати, что там было форкнуто в начале 2000). И более того, чего там предполагать, если код ядра ESX все видели и Linux там не нашли?

И то, что в VMware использует opensource компоненты никогда не скрывалось (прямо в папочке с загрузкой на портале есть список opensource компонентов). Можно еще и ESX (не ESXi) вспомнить - там vmkernel запускался после запуска ядра Linux. Потом Linux убрали в сторону (но оставили для драйверов, GUI, и т.д.) и получился ESXi. A все разбирательство было насчет того "а насколько они глубоко связаны, чтобы потребовать раскрыть код vmkernel (уникальность которого никто в здравом уме не оспаривал)". Суд постановил, что недостаточно сильно, но VMware на всякий случай еще уменьшила связь путем отстрела vmklinux драйверов (от чего до сих пор периодически вой стоит) и переходом исключительно на native (которые включаются напрямую в vmkernel).

Насколько я понимаю, это вольная интерпретация Systems Performance, где используется термин OS Virtualization и объясняется почему:

In the Linux kernel there is no notion of a container. There are, however, namespaces and cgroups, which user-space software (for example, Docker) uses to create what it calls containers.

А про контейнеры есть прекрасная статья в блоге ГПБ.

Благодарность автору, для начинающих и мало понимающих полезная информация. Лично давненько освоил виртуализацию, но не как не могу начать пользовать контейнеризацию. Я понимаю так что wine в Linux это тоже своего рода контейнер.?

Нет, Wine не относится к технологиям контейнеризации или виртуализации.

Ни то, ни другое. Если сравнивать с Windows - то это ближе к Cygwin/MSYS - транслятор вызовов POSIX в WinAPI. В них правда формат бинарников родной для Windows.

Wine это совсем другая история, это слой совместимости. Если говорить в общем, то он конвертирует системные вызовы на уровне процессора характерные для Windows в аналогичные для Linux.

Давай следующую статью "почему ИИ нельзя называть ИИ"

Но ведь правда же нельзя

Какая-то безумная накачка ожиданиями и слепая вера, что ИИ может всё.

UFO landed and left these words here

Ну, если Docker выполняет линукс под wsl, то там вполне себе виртуальзация, используется hyper-v, но это более или менее очевидно, конечно.

Речь же не о матрёшках, а о самих технологиях. Можно в Linux запустить Windows, в котором запустить wsl с Docker и говорить о двойной виртуализации, но зачем.

Точно можно? Или окажется что нет поддержки nested virtualization?

В Hyper-V точно можно включить nested virtualization для VM через PowerShell.

Вот так вот: Set-VMProcessor -VMName MyVM -ExposeVirtualizationExtensions $true

А вот для WSL - не знаю.

ну для поколенияну для поколения тик тока вообще проблема связать три слова грамотным техническим языком. посему статья полезная

А для некоторых представителей "поколения не тик-тока" даже одно грамматически правильное предложение написать - уже проблема.

А виртуальные машины в языках программирования - это виртуализация или контейнеризация?

Виртуализация ...Если в одной виртуальной машине происходит сбой или компрометация, это не влияет напрямую на хостовую систему или другие виртуальные машины.

...

Контейнеры же ...как квартиры в многоэтажном доме... Если происходит проблема с фундаментом, страдают все жильцы.

А если страдает хост - система ("фундамент", ага), то гостевым виртуалкам пофиг, что ли, "жильцы" не пострадают? :)

...а сбой в одном контейнере влечет крах операционки и/или других контейнеров?

Какая сложная система классификаци!

"...если они в самом деле едят яйца, значит, они тоже змеи, только другой породы – вот и все!" - (с).

Мне кажется любое количество статей по этой теме не изменит соотношения тех кто это понимает и тех кто не понимает. Я в ИТ среде вроде умным мужикам всё это объясняю уже лет 10 - не понимают.

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

Я всегда объясняю так:

Виртуализация ОС - это симуляция работы ХОСТ системы на хост системе;

Контейнеризация - это симуляция программного окружения.

Теперь осталось добавить что такое паравиртуализация.

виртуализация для инвалидов?

А виртуализация — для создания полноценных изолированных окружений, когда из одного физического сервера нужно получить несколько независимых.

Виртуализация высоконагруженных серверов, включая СУБД, где единственная гостевая ОС (миграция и т.п.), – не подходит под это определение.

А, так когда я у себя в windows делаю контейнер с ubuntu, это всё подхватывает свою файловую систему и работает на ядре windows?

Или когда на маке с arm запускаю ту же обычную ubuntu - она так и работает с arm ядром?

А простейший кейс, запуск контейнеров под линуксом на x86-64 машине, у меня пока не возникал. Линуксы не приживаются.

Докер. Это только Линукс. И нативно он работает только в Линуксе. Для запуска в других ОС докер контейнеров, всегда нужна виртуальная машина с линуксом.

Так что в этом случае без виртуализации не возможно использовать контейнеризацию.

Есть ещё нативные Docker-контейнеры для Windows-сервера, но меня терзают сомнения о том как много людей знает об их существование, и какой процент из знающих их использует.

Не существует нативных docker контейнеров для windows. существуют windows контейнеры.

Это разные виды контейнеров. Docker container только для linux, windows container только для windows.

Другими словами контейнеры - это упаковка приложений и их изоляция друг от друга и от хоста. Один для linux приложений и другой для windows.

Нельзя на чистом linux запустить windows приложение, и наоборот.

Чтобы это сделать надо прибегать к помощи wine или wsl 1.

Эм, контейнеры для которых портировали под Windows Server runc и которые запускаются не через виртуалку WSL по определению нативные. То что они не совместимы с Docker для Linux, и наоборот, уже другая история.

https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/containerd#runhcs

Схемы прямиком из клода

Надеюсь текст не от туда)))

UML-схемы он на удивление хорошо генерирует по примеру из имеющихся изображений, которые как правило в низком разрешение. С учётом того что я не дизайнер, получилось не хуже, чем если бы я вручную это всё делал в draw.io, да и быстрее, чем если бы сам копировал с картинки в mermaid.js.

Статья полный бред. Контейнеры это изоляция окружения, аппаратная виртуализация- это изоляция ресурсов, и то и другое виртуализация. Все перепутано, просто каша. Архитектура x86 тоже виртуализирована, современные процессоры давно ушли от от архитектуры х86 и давно ее эммулируют.

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

UFO landed and left these words here
Sign up to leave a comment.