Технологии виртуализации

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

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

    Виртуализация (в вычислениях) — процесс представления набора вычислительных ресурсов, или их логического объединения, который даёт какие-либо преимущества перед оригинальной конфигурацией. Это новый виртуальный взгляд на ресурсы, не ограниченных реализацией, географическим положением или физической конфигурацией составных частей. Обычно виртулизированные ресурсы включают в себя вычислительные мощности и хранилище данных.
    Вот такое определение формально обозначает границы задач выполняемых по средствам виртуализации. Теперь давайте посмотрим какие же типы виртуализации могут быть. Таже самая статья Википедии говорит следующее:
    • Виртуализация серверов
      Виртуальная машина — это окружение, которое представляется для «гостевой» операционной системы, как аппаратное. Однако на самом деле это программное окружение, которое симулируется программным обеспечением хостовой системы. Эта симуляция должна быть достаточно надёжной, чтобы драйверы гостевой системы могли стабильно работать. При использовании паравиртуализации, виртуальная машина не симулирует аппаратное обеспечение, а, вместо этого, предлагает использовать специальное API.
    • Виртуализация уровня ОС
      Виртуализация на уровне операционной системы — виртуализирует физический сервер на уровне ОС, позволяя запускать изолированные и безопасные виртуальные серверы на одном физическом сервере.
    • Виртуализация ресурсов
      Разделение ресурсов (partitioning) — это разделение единого, обычно достаточно большого для этого, ресурса (например дисковое пространство или пропускной канал сети) на некоторое количество меньших, легче утилизируемых ресурсов того же типа.
      Агрегация, распределение или добавление множества ресурсов в большие ресурсы или объединение ресурсов. Например, симметричные мультипроцессорные системы объединяют множество процессоров; RAID и дисковые менеджеры объединяют множество дисков в один большой логический диск; RAID и сетевое оборудование использует множество каналов, объединённых так, чтобы они представлялись, как единый широкополосный канал. На мета-уровне компьютерные кластеры делают все вышеперечисленное.. Иногда сюда же относят сетевые файловые системы абстрагированные от хранилищ данных на которых они построены, например, Vmware VMFS, Solaris ZFS, NetApp WAFL
    • Виртуализация прикладных приложений
      Виртуализация прикладных приложений — включает в себя рабочую среду для локально выполняемого приложения, использующего локальные ресурсы. Виртуализируемое приложение запускается в небольшом виртуальном окружении, которое включает в себя ключи реестра, файлы и другие компоненты, необходимые для запуска и работы приложения. Такая виртуальная среда работает как прослойка между приложением и операционной системой, что позволяет избежать конфликтов между приложениями.

    Описание типов виртуализации дает четкую картину, какие преимущества она дает нам и теперь можно говорить о различных технологиях и инструментах, четко понимая назначение и смысл того или иного подхода и определить какой инструмент подойдет для решения поставленной задачи а какой использовать не стоит.
    Здесь я не собираюсь описывать то великое множество инструментов которые я нащел в процессе поиска материала для данной статьи, а хотел бы указать только те которые являются штитными для различных ОС:
    • Solaris Containers/Zones — Один из шедевров виртуализации от компании Sun Microsystems. Этот инструмент можно отнести к средствам виртуализации уровня операционной системы. Он является штатным средством ОС Sun Solaris и пожалуй одним из огромных ее плюсов.
    • FreeBSD Jail – этот инструмент схож по своим свойствам с Solaris Containers/Zones. Данный инструмент является штатным средством виртуализации в ОС FreeBSD. И так же как как и контейнеры и зоны в Solaris, Jail дает возможности виртуализации уровня ОС.
    • KVM (Kernel Virtual Machine) – Этот инструмент с недавних пор является штатным средством виртуализации серверов в ОС Linux и поставляется в виде модуля в составе ядра. Данный модуль основывается в своей работе на технологиях vmx (от Intel) или svm (от AMD). Т.е. В данном случае виртуализация происходит на более низком уровне нежели Solaris Containers/Zones или FreeBSD Jail.


    Возможно в дальнейшем я буду изучать этот вопрос более подробно и соответственно будут еще статьи.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 3

      0
      можете так-же добавить Virtuozzo(OpenVZ) и xen
        0
        Да я об этом знаю. Причем не только то, что вы привели а еще и многое другое. Но не хочется приводить просто тупой список. Если будет интересно, постараюсь найти время и пощупать каждый по отдельности и описать.
        0
        ещё раз повторю свой вопрос:
        какая Виртуальная машина сможет запустить WindowsXP поверх CentOS без X'ов на процессоре без vmx/svm?

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

        Самое читаемое