Системы виртуализации.ppt
- Количество слайдов: 10
Назначение систем виртуализации Виртуализация – это термин, обозначающий, в частности, имитацию отдельного компьютера и/или отдельной операционной системы с помощью специального программного обеспечения. В настоящее время виртуализация популярна по нескольким причинам. • Во-первых, она уменьшает потребность в физических компьютерах, так как одна машина получает возможность одновременно выполнять несколько разнотипных операционных систем. При этом улучшается утилизация вычислительных ресурсов, так как для большинства задач современное оборудование обладает избыточной мощностью. • Во-вторых, повышается безопасность за счёт возможности переноса в изолированные окружения, например таких сервисов, как Samba и Apache, работающих с правами суперпользователя и имеющих большое количество выявленных и потенциальных уязвимостей. Если различные сервисы управляются разными администраторами, каждый администратор может получить права суперпользователя в своём окружении, в то же время не имея доступа ни к соседним окружениям, ни к основной системе. • Системы виртуализации предоставляют также дополнительный контроль над потреблением ресурсов, благодаря чему проблемы в одном окружении не приводят к проблемам в остальных. • В-третьих, упрощается обслуживание. Например, так как гостевые окружения не содержат аппаратно-зависимых настроек, упрощается их перенос (миграция) с одного компьютера на другой. Создание новых виртуальных окружений происходит намного быстрее, чем инсталляция новой системы на компьютер. Настройки сервисов, разнесённых по разным окружениям, перестают пересекаться, что облегчает их сопровождение. Настройка дисков, межсетевого экрана, резервное копирование и прочие задачи выполняются однократно в основной системе.
Оценка программного обеспечения Программное обеспечение для виртуализации полезно оценивать по следующим критериям: • необходимость аппаратной поддержки; • возможность использовать аппаратную поддержку при её наличии; • установка и запуск из-под существующей операционной системы (Windows, Linux) или на «голое железо» ; • способность запускать операционные системы, отличные от установленной; • наличие и необходимость драйверов паравиртуализации* для запускаемых операционных систем; • необходимость графической консоли для работы. *Паравиртуализация — техника виртуализации, при которой гостевые операционные системы подготавливаются для исполнения в виртуализированной среде, для чего их ядро незначительно модифицируется
Виртуализация KVM Технология виртуализации KVM (Kernel-based Virtual Machine) — это относительно новая программная технололия, основанная на операционных системах Linux, которая позволяет запускать на x 86 совместимых процессорах виртуальные машины с различными типами операционных систем, виртуализация происходит на аппаратном уровне и управляется через командную строку В отличие от других технологий виртуализации, поддержка KVM впервые была интегрирована в стандартное ядро Linux, что говорит о том, что эта технология будет активно поддерживаться и развиваться разработчиками. Так, виртуализация KVM объявлена приоритетным направлением в области виртуализации в компании Red Hat — ведущем разработчике Linux. За счёт полной эмуляции виртуальных компьютеров на виртуальных серверах, построенных на этой технологии, можно запускать различные ОС, например Linux со своим модифицированным ядром, Free. BSD, Solaris, Windows XP, Windows 2008 Server и др. Каждому виртуальному серверу выделяются независимые от других VDS ресурсы: собственная сетевая карта, выделенная область в оперативной памяти и на жёстком диске.
Плюсы и минусы KVM Достоинства: • - независимые ресурсы: каждому серверу выделяется своя область в оперативной памяти и на жёстком диске, что повышает надёжность работы такого сервера, не позволяя соседним серверам использовать те же участки памяти и дискового пространства. Это же не позволяет "оверселлить" ресурсы, когда хостер продаёт ресурсов больше, чем имеется на самом деле. • - имеется возможность использовать модифицированные ядра операционных систем в зависимости от Ваших требований. Вы можете произвести установку собственного дистрибутива с использованием своего установочного iso-образа. • - эмуляция сетевой карты означает полную поддержку всех сетевых протоколов и полноценную поддержку сетевых экранов firewall. • - поддержка множества гостевых операционных систем: возможна установка любых дистрибутивов Linux, BSD, Solaris и т. п. , а также ОС Windows XP и Windows 2008 Server (при наличии лицензии). • - поддержка VNC позволяет управлять виртуальным сервером как будто Вы находитесь непосредственно за монитором собственного компьютера, включая первоначальную загрузку виртуальной машины (вплоть до BIOS), а также графические рабочие столы. Недостатки: Так как эта технология новая и быстро развивающаяся, то неизбежно содержит еще множество реальных и потенциальных проблем.
Система виртуализации Open. VZ Openvz — это программная виртуализация на уровне операционной системы, реализована на ядре Linux, разработана компанией SWsoft. Openvz является как бы бесплатной версией виртуализации Virtuozzo, широко используемой на данный момент многими компаниями как для предоставления услуг в сети Интернет, так и в локальных сетях. При настройке виртуализации Openvz устанавливается главная операционная система на физический сервер, и поверх ставится программный слой openvz, который дает возможнотсть создавать на сервере полностью изолированные друг от друга виртуальные приватные сервера (VPS — Virtual Private Server). То есть, ставится модернизированное ядро Openvz, которое дает возможность создавать изолированные виртуальные среды(VE — Virtual Enviroment), каждая из которых имеет свою Операционную систему, процессы, системные библиотеки, виртуальные сетевые устройства, а также администратор физического сервера может предоставить доступ ВПС к реальным устройствам основного сервера. Open. VZ выигрывает по предъявляемым требованиям: аппаратная поддержка виртуализации ему не требуется, потребление ресурсов и разница в быстродействии между базовой и виртуальной средой минимальны, установка и управление упрощены до предела. Таким образом, главной нишей применения Open. VZ являются: • хостинги Linux-VPS; • серверы, на которых запущено несколько сервисов с правами суперпользователя (разнесение по изолированным окружениям повысит безопасность) или со сложными настройками (разнесение упростит сопровождение).
Плюсы и минусы Open. VZ Преимущества: Низкая стоимость. Представьте себе такую аналогию - ваш автомобиль (сервер здесь как аналог автомобиля) едет без груза (мало клиентов) со скоростью ограниченной транспортным потоком (клиент читает страницы вашего сайта последовательно и не быстро). Поэтому большую часть времени большинству автомобилей (виртуальных серверов) нужна небольшая мощность и грузоподъемность. Система виртуализации Open. VZ способна динамически распределять ресурсы процессора и памяти между всеми виртуальными серверами и каждый сервер использует ровно столько ресурсов, сколько ему необходимо. Незанятые ресурсы остаются свободными. Потому хостинговые компании могут размещать на одном физическом сервере под Open. VZ больше виртуальных серверов чем под любой другой системой виртуализации. Хотя можно подумать, что в этом случае продается то чего нет, но это профанация ибо свободные не занятые ресурсы в системе Open. VZ всегда есть. Если же реальные ресурсы на сервере исчерпаны, то производительность падает настолько резко, что не заметить нельзя. Например если заканчивается память, то скорость работы своппамяти определяемая скоростью диска и это очень заметно. Open. VZ выгодна хостинговой компании и это оборачивается выгодой для клиентов ибо стоимость таких VPS самая низкая. Высокая производительность. А теперь снова вернемся к аналогии описанной выше. На ваш автомобиль загрузили 40 тонн груза и освободилось шоссе (на ваш сервер пришло много клиентов и резко возросло количество запросов). Ваш автомобиль получил мощность целой колонны грузовиков (openvz выделил вам все ядра CPU, всю гарантированную память (oomguardpages) и еще немного (privvmpages) для разгона) и помчался со скоростью ограниченной правилами движения (суммарной скоростью всех внешних каналов связи). Таким образом вы получили заметно больше чем оплатили. И это выгодно
Плюсы и минусы Open. VZ Недостатки: • • Узкое место технологии Open. VZ - относительно медленная работа с диском. Эта проблема в принципе работы этой системы. В качестве хранилища данных в Open. VZ используется общая файловая система - террабайты данных. Ядро системы выделяет каждому контейнеру лимит на долю этого пространства и контролирует каждый запрос к файловой системе - не выходит ли он за пределы заданной квоты. Процесс проверки не так уж быстр. Все контейнеры порождают огромное количество запросов на запись и чтение которые генерируют значительную дополнительную нагрузку на ядро за счет этих проверок. Вторая проблема связанная с файловой системой - общий дисковый кэш. Контейнеры с наиболее активным дисковым вводом/выводом вытесняют из дискового кэша данные других контейнеров. Общая виртуальная память - swap. Open. VZ дает возможность использовать swap виртуальным серверам, но на уровне хост-машины. В связи с этим есть проблема - swap в Open. VZ не срабатывает как демпфер нагрузки. Например в случае прихода слишком большого количества клиентов запустится слишком много демонов apache и память закончится. Open. VZ просто убивает самый прожорливый процесс. Если это apache, то ничего страшного, а если mysqld, то ваш сайт перестанет работать. На практике не помню такого, но теоретически подобное возможно. Прочие недостатки связаны с общим ядром и необходимостью изоляции каждого контейнера от «соседей» . У владельца гостевой системы ограничены возможности по использованию параметров ядра. Он не может использовать многие модули и функции ядра, не может сменить версию ядра. У вас не будут работать NFS и IPSec. Например использование Open. VPN может вызвать крах системы - kernel panic. Если на уровне ядра случается серьезный сбой, то это крушит все гостевые системы. Менее значительный недостаток - в гостевой системе может использоваться только Linux и только те версии которые предусмотрены администратором.
Сравнение технологий
Cloud. Stack Cloudstack — это консоль управления вычислительными ресурсами вашего датацентра. На этой платформе построили свои облака такие крупные компании как Zynga, Nokia Research Center, Cloudcentral и другие. Развитие проекта осуществляется компанией Citrix. У платформы есть свое API, которое позволяет настраивать и интегрировать платформу с имеющейся инфраструктурой, а с помощью переходника Cloud. Bridge Amazon EC 2 можно конвертировать Amazon API в Cloudstack API. Основные особенности платформы:
Cloud. Stack • • • • Работает с присутствующими на рынке API , например , Amazon Web Services API , Citrix Cloud Center ( C 3 ) API и v. Cloud API ; Поддержка полной изоляции вычислительных , сетевых и дисковых ресурсов ; Поддержка автоматического выделения и ограничения ресурсов ; Наличие инструментов для генерации отчетов и мониторинга в режиме реального времени; Веб-интерфейс , основанный на активном использовании технологии AJAX ; Упрощенные средства для управления инфраструктурой и выполнения ежедневных задач ; Возможность организации сервиса обеспечивает предоставление в аренду вычислительных ресурсов ; Поддержка виртуализации сети через изоляцию сегментов сети в отдельные VLAN ; Предоставление вычислительных ресурсов по запросу , в зависимости от создаваемого виртуальным окружением нагрузки; Полная автоматизация распределения места для хранения данных , вычислительных и сетевых ресурсов для всей физической инфраструктуры , включая возможность определения политики выделения ресурсов и поддержку балансировки нагрузки ; Средства для управления созданием снапшот окружений и резервного копирования; Наличие API для подключения внешних расширений ; Разделение уровней доступа на основе ролей: администратор (управление виртуальными и физическими ресурсами) , администратор домена (управление только указанными виртуальными окружениями ) , пользователь (управление ресурсами в рамках заданного виртуального окружения ) ; Обеспечена возможность первичного развертывания и управления программным обеспечением на серверах , работающих без виртуализации на конечном оборудовании (используется управление через IMPI и загрузки через PXE ). Иными словами , через Cloud. Stack можно управлять не только виртуальными машинами , но и обычными серверами Средства для обеспечения отказоустойчивости , поддерживающих автоматическое восстановление виртуальных машин после сбоя сервера , на котором они выполнялись ; Гибкие возможности масштабирования , поддержка инфраструктур , обслуживающих тысячи хостов. Возможность управления облачными системами, охватывающими несколько территориально разделенных дата-центров
Системы виртуализации.ppt