Что такое контейнер Linux и гипервизор Linux?

Я не уверен в Вашем вопросе, Вы на самом деле спрашиваете, почему Ваша первая строка не работает? Или Вы ищете правильный метод переименовать все .sh файлы?

Принятие его является самым чистым методом, я предпочитаю готовить опции команды прежде xargs. Для удаления .sh расширения файла я часто рассматриваю этот подход,

 find -maxdepth 1 -type f -iname '*.sh'  | sed 'p;s_.sh$__' | xargs -L2 mv
10
06.11.2014, 16:31
2 ответа

Виртуальная машина (VM) - это довольно общий срок для многих технологий виртуализации.

Существует множество вариаций на технологии виртуализации, но главные являются:

  • Виртуализация уровня оборудования
  • Уровень операционной системы

QEMU-KVM и VMware первого. Они используют гипервизор для управления виртуальными средами, в которых работает полная операционная система. Например, на система QEMU-KVM у вас может быть один VM, работающий FreeBSD, еще один бегущий Windows, а также другой запуск Linux.

Виртуальные машины, созданные этими технологиями, ведут себя как изолированные отдельных компьютеров для гостя. Они имеют виртуальный CPU, RAM, NIC, Graphics и т. Д., Глагот считает подлинной статьей. Из-за этого многие разные операционные системы могут быть установлены на VMS, и они работают «из коробки» без необходимости модификации.

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


LXC является примером виртуализации уровня системы операционной системы или контейнеров. При этой системе установлено только одно ядро ​​- хост ядра. Каждый контейнер - это просто изоляция процессов пользователей. Например, веб-сервер (например, Apache ) устанавливается в контейнере. Что касается этого веб-сервера, единственный установленный сервер сам по себе. Другой контейнер может работать на FTP-сервере. Этот FTP-сервер не знает о установке веб-сервера - только он принадлежит. Другой контейнер может содержать полную установку пользователей HULLLANDES в Linux Distro (до тех пор, пока этот дистрибус способен работать с ядром хост-системы).

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

Контейнеры обычно создаются с помощью Chroot . Это создает отдельный частный корень ( / ) для процесса для работы с. Создавая множество отдельных личных корней, процессов (веб-серверов или INTREUX INTROUX ETC) в своей собственной изолированной файловой системе. Более современные методы, такие как CGroups могут изолировать другие ресурсы, такие как Network и RAM.


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

  • Контейнеры светлее, в том, что полная ОС не установлена ​​для каждого; Что касается гипервизоров. Поэтому они могут работать на более низком оборудовании SPEC'D. Однако они могут запустить только гостей Linux (на хостах Linux). Кроме того, потому что они разделяют ядро, существует вероятность того, что скомпрометированный контейнер может повлиять на другой.
  • Гипервизоры более безопасны и могут запускать разные ONES, потому что в каждой виртуальной машинике установлена ​​полная ОС. Однако это использует больше ресурсов на хосте, который должен быть относительно мощным.
9
27.01.2020, 20:02

Контейнер немного похож на корневую среду , за исключением того, что он обеспечивает более полную изоляцию пользовательского пространства. Это не настоящая виртуальная машина, а виртуальная операционная система. Виртуальные машины создают иллюзию наличия нескольких машин, на каждой из которых настоящая полная операционная система может работать как на «голом железе». «Полная операционная система» здесь включает ядро. Некоторые виртуальные машины (например, QEMU ) даже позволяют стимулировать различные виды «голых железных» архитектур.

Контейнеры вместо этого создают иллюзию наличия нескольких ядер, каждое из которых запускает целую пользовательскую среду. Вы могли бы, например,, запустите Debian в одном контейнере и Arch в другом, поэтому перспектива изнутри контейнера во многом такая же, как у виртуальной машины. Однако вы можете запустить только пользовательскую среду ОС, совместимую с одним реальным ядром, в данном случае Linux. Это отличается от реальных виртуальных машин, где вы можете запустить независимое ядро ​​и, следовательно, любую операционную систему.

Таким образом, настоящие виртуальные машины более дороги с точки зрения ресурсов, чем контейнеры; если вам не нужны разные ядра в каждой виртуальной машине, вы также можете использовать контейнер.

Существуют и другие системы виртуализации, похожие на LXE, например openVZ , широко используемые поставщиками VPS. OpenVZ VPS - это независимая пользовательская среда, которая использует ядро ​​своей операционной системы. Вот почему такие VPS бывают в разных вариантах Linux, но ничего больше; они должны быть совместимы с ядром хоста.

Виртуализация в стиле OpenVZ и LXC называется виртуализацией уровня операционной системы .

Гипервизор - это система, которая управляет виртуальными машинами, такими как VirtualBox , QEMU или Xen . Некоторые гипервизоры, такие как Xen, работают на «голом железе» и не требуют ОС хоста (хотя им может потребоваться размещенная ОС в качестве интерфейса управления). Другие, такие как VirtualBox и QEMU, работают внутри ОС хоста. Некоторые из них, такие как QEMU, позволяют моделировать различные архитектуры машин; другие, такие как VirtualBox, этого не делают (т.е. архитектура виртуальной машины всегда такая же, как у реального хоста). Для моделирования архитектуры требуется больше ресурсов, так же как для реальных виртуальных машин требуется больше ресурсов, чем для контейнеров.

Виртуализация в стиле гипервизора называется виртуализацией на уровне платформы .

2
27.01.2020, 20:02

Теги

Похожие вопросы