Назад | Перейти на главную страницу

Что означает виртуализация Linux-сервера?

Сегодня я пошел на собеседование, и мне сказали, что в течение нескольких месяцев я буду заниматься виртуализацией серверов Linux. Я как бы знаю, что означает виртуализация, поскольку я использую Virtualbox, но я не совсем уверен, как это относится к серверам или как обычно используется в типичном сценарии работы. Могу я получить краткие пояснения по этому поводу? Обязательно будьте технически.

Спасибо!

Что такое виртуализация

Короче говоря, виртуализация - это создание чего-то виртуального (а не физического или фактического), такого как операционная система, запоминающее устройство, сервер или даже сетевое устройство (например, коммутатор).

Поскольку вы спрашиваете конкретно о виртуализации Linux, я предполагаю, что вы ссылаетесь на серверы и рабочие столы:

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

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

С каждым - Намерение состоит в том, чтобы избавить пользователя от необходимости понимать и управлять сложными деталями ресурсов сервера / рабочего стола, одновременно увеличивая совместное использование и использование ресурсов и сохраняя возможности для дальнейшего расширения.

Подходы к виртуализации (linux)

Существует множество различных подходов к виртуализации системы, каждый из которых имеет свои преимущества и недостатки.

  1. Паравиртуализация:

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

    Xen, lguest и пользовательский режим Linux выполняют паравиртуализацию на x86.

  2. Аппаратная виртуализация

    Процессоры Intel VT и AMD-V могут выполнять все инструкции на непривилегированной виртуальной машине и обеспечивать их надлежащее поведение. В большинстве случаев большая часть ресурсов эмулируется (например, часы). Тем не менее, это позволяет реализовать более чистую реализацию полной виртуализации.

    Xen и KVM обеспечивают полную виртуализацию с аппаратной поддержкой.

  3. Виртуализация на уровне операционной системы - (Контейнеры)

    Контейнеры вообще не запускают виртуальные машины, а просто отделяют несколько сред пользовательского пространства друг от друга, в то время как все работает под управлением одного ядра. (Одна из основных причин, по которой многие системные администраторы предпочитают это, заключается в том, что им нужно исправлять или поддерживать только одно ядро, а не много.) Контейнерные системы имеют тенденцию к низким накладным расходам и высокой плотности, но также к более низкой изоляции между различными контейнерами. Это, конечно, имеет свою цену - поскольку контейнерные системы позволяют запускать только одно ядро, - однако они поддерживают одновременно разные дистрибутивы Linux в разных контейнерах. Существует несколько различных контейнерных систем, таких как Solaris Zones, Linux-VServer и OpenVZ / Virtuozzo. OpenVZ имеет относительно полную изоляцию ресурсов между различными контейнерами, два других имеют немного меньший контроль. FreeBSD Jails можно рассматривать как предшественников контейнеров - однако Jails, конечно, или делают BSD не Linux.

Надеюсь, это поможет вам получить простое представление о виртуализации Linux.

Я бы посоветовал заглянуть в проект Proxmox http://www.proxmox.com/products/proxmox-ve Он имеет открытый исходный код и позволит вам одновременно тестировать не только KVM, но и виртуализацию на основе контейнеров в одной и той же системе.

Обязательно прокомментируйте эту рецензию и проголосуйте.

Глен дал вам техническое описание того, что такое виртуализация, но не много информации о преимуществах.

IME, основные моменты:

  • Доступность - поскольку это виртуальная машина, вся конфигурация (ну, как правило, большая часть) не зависит от базового оборудования. Поэтому в случае аппаратного сбоя просто запустить образ в другом месте. Это особенно актуально для планирования непрерывности бизнеса.
  • управление мощностью - например, вам не нужен выделенный сервер только для запуска приложения, которое используется для расчета заработной платы только в течение 2 дней в месяц - он может находиться в том же физическом ящике, что и сервер интрасети
  • Разработка - вы можете построить свой сервер в автономном режиме, применить исправления, протестировать его перед заменой существующего сервера, без необходимости иметь запасную физическую машину той же конфигурации.
  • консолидация оборудования - если посмотреть на совокупную стоимость владения, большое железо может быть дешевле, чем меньшие серверы (особенно с ростом затрат на электроэнергию), но по причинам, указанным выше, использование виртуальных машин делает управление приложением более гибким
  • Поддержка - продолжение темы «Разработка», исследование сбоев, производительности и функциональных проблем становится намного проще, когда вы можете получить доступ к системе, вызывающей проблемы - возможность работать с точной копией имеет то преимущество, что вам не нужно отключите живую систему.