Что такое виртуализация простыми словами
Виртуализация — это технология, позволяющая создать несколько виртуальных клиентов на одной физической машине (ФМ). Каждый из них может выполнять собственные операции независимо от соседей. Для этого пользователю предоставляется набор вычислительных ресурсов, в который входят оперативная память, место на диске, процессор и т. д. Ресурсы выделяются из «железа» и распределяются по нескольким виртуальным «контейнерам». Управление физической машиной осуществляется с помощью операционной системы. После создания «контейнеров» на них устанавливаются собственные, гостевые ОС, которые видят и позволяют использовать ресурсы, входящие в тот или иной изолированный набор. Так образуются виртуальные машины, которые эмулируют работу полноценных физических серверов и позволяют эффективнее управлять IT-инфраструктурой. В статье разбираемся в том, что такое виртуализация процессора.
Технологии виртуализации операционных систем
Одновременную работу нескольких гостевых ОС на одном материальном сервере обеспечивает отделение программного обеспечения от аппаратного. Делается это с помощью гипервизора. Пользователь не видит ресурсы материальной машины и управляет только теми, которые выделены под его проект. При этом он может выбрать операционную систему, программное обеспечение и нужные настройки. Виртуализация необходима проектам по нескольким причинам:
- позволяет экономить на покупке и обслуживании компьютеров;
- обеспечивает безопасность данных;
- позволяет быстро перенести копию системы на другое устройство;
- определенный при первоначальном заказе объем ресурсов можно изменить;
- позволяет объединить в IT-инфраструктуру несколько ВМ.
Степень изолированности ресурсов и возможные цели использования виртуальной машины зависят от технологии виртуализации.
Изображение от vectorjuice на Freepik.
Программная виртуализация
Программная виртуализация настраивается инструментами операционной системы. В этом случае нужно выбирать виртуальную выделенную машину по совместимости проекта с ОС, установленной на материальном сервере. Гостевая ОС должна иметь то же ядро, что использует хост-система: Linux — Debian, Ubuntu или CentOS, Windows — Windows Server и т. д. Операционную систему можно загрузить из шаблона. Гипервизоры на уровне ОС подходят для ненагруженных и простых веб-проектов, их тестирования и быстрого масштабирования, экономии средств. Программную виртуализацию легко настроить, однако она не позволяет провести полное разделение ресурсов. Повышенная нагрузка на одного из клиентов может сказаться на всех пользователях. На физической машине помещается до 50 проектов.
Аппаратная виртуализация
Виртуализация на аппаратном уровне — жесткое разделение ресурсов выделенного сервера. Гипервизор сам является системой и обращается к аппаратной части сервера напрямую. В результате виртуальная машина имеет такую же высокую стабильность, что и dedicated server. Пользователи не зависят друг от друга. Практически отсутствует возможность оверселлинга. Для проекта можно выбрать ОС с любым ядром, она не будет конфликтовать с хост-системой. Когда нужно реализовать нестандартную ОС, можно установить ее с помощью образа, например Asterisk для IP-телефонии. Чаще всего хостинг-провайдеры предлагают VPS с KVM виртуализацией.
Контейнерная виртуализация
Контейнерная виртуализация — запуск виртуальной среды из ядра хост-системы. Изоляция ОС и приложений настраивается за счет специальной программы — контейнера. В нем содержится образ — набор файлов с кодом, библиотеками, настройками и инструментами, необходимыми для запуска ВМ. У программ есть движки, популярными среди них являются OpenVZ, LXC и Docker. Приложения обращаются к хостовой ОС напрямую, а ядро регулирует доступ пользователя к ресурсам. В одном контейнере можно разместить не больше одного сервиса. При контейнерной виртуализации необходимо следить за потреблением и исчерпанием ресурсов, а также устанавливать на них лимиты.
Заключение
Виртуализация помогает эффективно и экономно организовывать и использовать IT-инфраструктуру. Для небольших проектов подойдет программная виртуализация, для VPS — аппаратная, а для простого масштабирования и тестирования в CI/CD системах — контейнерная.
Оцените статью