виртуализация что это простыми словами
Зачем же нужна виртуализация?
Слово «виртуализация» в последнее время стало какой-то «модой» в ИТ-среде. Все вендоры железа и ПО, все ИТ-компании в один голос кричат, что виртуализация – это круто, современно, и нужно всем. Но, давайте, вместо того, чтобы идти на поводу у маркетинговых лозунгов (а иногда бывают такими, что сам Геббельс умер бы от зависти), попытаемся посмотреть на это модное слово с точки зрения простых «технарей» и решить, нужно нам это или нет.
Типы виртуализации
Виртуализация приложений – достаточно интересное, и относительно новое направление. Рассказывать здесь подробно о нем я не буду, поскольку это тема для целой отдельной статьи. Коротко говоря, виртуализация приложений позволяет запускать отдельное приложение в своей собственной изолированной среде (иногда называется «песочница», sandbox). Такой способ помогает решить множество проблем. Во-первых – опять же безопасность: приложение, запущенное в изолированной среде – не способно нанести вред ОС и другим приложениям. Во-вторых – все виртуализированные приложения можно обновлять централизованно из одного источника. В-третьих – виртуализация приложений позволяет запускать на одном физическом ПК несколько разных приложений, конфликтующих друг с другом, или даже несколько разных версий одного и того же приложения. Более подробно о виртуализации приложений можно посмотреть, к примеру, в этом вебкасте: www.techdays.ru/videos/1325.html Возможно, однажды я даже напишу статью на эту тему.
И, наконец, перейдем к виртуализации серверов и остановимся на ней подробно.
Виртуализация серверов – это программная имитация с помощью специального ПО аппаратного обеспечения компьютера: процессор, память, жесткий диск, и т.д. Далее, на такой виртуальный компьютер можно установить операционную систему, и она будет на нем работать точно так же, как и на простом, «железном» компьютере. Самое интересное достоинство этой технологии – это возможность запуска нескольких виртуальных компьютеров внутри одного «железного», при этом все виртуальные компьютеры могут работать независимо друг от друга. Для чего это можно применять?
Первое, что приходит в голову – виртуализацию серверов можно использовать в целях обучения и в тестовых целях. К примеру, новые приложения или ОС можно протестировать перед запуском в промышленную эксплуатацию в виртуальной среде, не покупая специально для этого «железо» и не рискуя парализовать работу ИТ-инфраструктуры, если что-то пойдет не так.
Но кроме этого, виртуализация серверов может использоваться и в продакшн-среде. Причин тому много.
Виртуализация позволяет сократить количество серверов благодаря консолидации, то есть там, где раньше требовалось несколько серверов – теперь можно поставить один сервер, и запустить нужное число гостевых ОС в виртуальной среде. Это позволит сэкономить на стоимости приобретения оборудования, а так же снизить энергопотребление, а значит и тепловыделение системы – и, следовательно, можно использовать менее мощные, и, соответственно – более дешевые системы охлаждения. Но у этой медали есть и обратная сторона, и не одна. Дело в том, что при внедрении решений на базе виртуализации, скорее всего придется покупать новые сервера. Дело в том, что виртуальные сервера используют аппаратные ресурсы физического сервера, и, соответственно – понадобятся более мощные процессоры, большие объемы оперативной памяти, а так же более скоростная дисковая подсистема, и, скорее всего – большего объема. Кроме того, некоторые системы виртуализации (в частности – MS Hyper-V) требуют поддержки процессором аппаратных технологий виртуализации (Intel VT или AMD-V) и некоторых других функций процессора. Многие процессоры, которые выпускались до недавнего времени, в частности – все x86_32bit – этим требованиям не удовлетворяют, и поэтому от старых, хотя и вполне рабочих серверов придется отказаться. Однако же, один более мощный сервер скорее всего будет стоить намного дешевле нескольких менее мощных, да и старые сервера, скорее всего давно пора менять из-за морального устаревания.
Есть еще один очень важный момент: виртуализация северов позволяет до предела упростить администрирование инфраструктуры. Главное преимущество, которое оценят все сисадмины – это возможность удаленного доступа к консоли виртуальных серверов на «аппаратном», точнее – «вирутально-аппаратном» уровне, независимо от установленной гостевой ОС и ее состояния. Так, чтобы перезагрузить «зависший» сервер, теперь не нужно бежать в серверную, или покупать дорогостоящее оборудование типа IP-KVM-переключателей, достаточно просто зайти в консоль виртуального сервера и нажать кнопку «Reset». Помимо этого, виртуальные сервера поддерживают технологию моментальных снимков (о ней см. мою предыдущую статью), а так же бэкап и восстановление виртуальных систем намного легче.
Еще одно неоспоримое преимущество – ОС, запущенная внутри виртуальной машины (гостевая ОС) понятия не имеет, какое оборудование установлено на физическом сервере, внутри которого она работает (хост). Поэтому, при замене железа, при апгрейде или даже переезде на новый сервер необходимо обновить драйверы только на ОС самого хоста (хостовой ОС). Гостевые ОС по будут работать как и раньше, поскольку «видят» только виртуальные устройства.
Так же, хочется напомнить, что в виртуальной среде могут действовать особые правила лицензирования ПО (в частности, покупка лицензии на Microsoft Windows Server 2008 Enterprise позволяет использовать бесплатно четыре копии ОС в качестве гостевой, а Microsoft Windows Server 2008 Datacenter вообще разрешает использовать неограниченное число гостевых ОС при условии полного лицензирования по процессорам).
Еще нельзя не упомянуть о технологиях отказоустойчивости. Физические сервера, на которых запускаются виртуальные машины, могут быть объединены в кластер, и в случае отказа одного из серверов – автоматически «переезжать» на другой. Полной отказоустойчивости добиться не всегда возможно (в частности, в MS Hyper-V такой «внезапный переезд» будет выглядеть так же, и иметь такие же возможные последствия, как внезапное обесточивание сервера), но возможные простои сильно сократятся: «переезд» занимает несколько минут, тогда как ремонт или замена самого сервера может занять часы, а то и дни. Если же «переезд» виртуальных машин происходит в штатном режиме, то он может пройти совершенно незаметно для пользователей. Такие технологии у разных вендоров называются по-разному, к примеру у MS она называется «Live Migration», у VMware – Vmotion. Использование таких технологий позволит проводить работы, связанные с выключением сервера (к примеру – замену некоторых аппаратных компонент, или перезагрузку ОС после установки критических обновлений) в рабочее время и не выгоняя пользователей из их любимых приложений. Кроме этого, если инфраструктура построена соответствующим образом – запущенные виртуальные машины могут автоматически перемещаться на менее нагруженные сервера, или же наоборот «разгружать» наиболее загруженные. В инфраструктуре на базе технологий Microsoft для этого используются System Center Virtual Machine Manager и Operations Manager.
В заключение темы по виртуализации серверов — отмечу, что виртуализация не всегда одинаково полезна. В частности, не всегда будет хорошей идеей переносить в виртуальную среду высоконагруженные сервера, а особенно — высоконагруженные по дисковой подсистеме — это «тяжелые» СУБД, Exchange Server, особенно — роль Mailbox Server, и прочие высоконагруженные приложения. А вот сервера с меньшей нагрузкой (контроллеры доменов AD, WSUS, всевозможные System Center * Manager, веб-сервера) виртуализировать можно и даже нужно. Замечу, кстати, что именно с контроллерами доменов — очень желательно, чтобы хотя бы один из контроллеров был «железным», то есть не виртуальным. Нужно это потому, что для корректной работы всей инфраструктуры желательно, чтобы при запуске всех остальных серверов хотя бы один КД уже был доступен в сети.
Резюме
Итак, давайте подведем итоги: какая именно виртуализация когда может пригодиться, и какие у нее есть плюсы и минусы.
Если у вас есть много пользователей, работающих с одинаковым набором ПО, и система сильно распределена территориально – то стоит подумать об использовании виртуализации представлений, сиречь – терминальных службах.
Если у вас существует множество приложений, которые некорректно работают в новой ОС, либо же конфликтуют между собой, или необходимо запускать на одном компьютере несколько версий одной и той же программы – то нужна виртуализация на уровне приложений.
Если же вам нужно освободить место в стойке, снизить энергопотребление систем, избавиться от «серверного зоопарка» — то ваше решение – виртуализация серверов.
Недостатки – в принципе, те же, что и у терминальных решений:
Надеюсь, моя статья окажется для кого-то полезной. Благодарность и конструктивную критику, как всегда, можно высказать в комментариях.
Что такое виртуализация процессора простыми словами и как ее включить?
Привет, на связи Алексей! Слово «виртуальный» сегодня у всех на слуху. У меня до сих пор «виртуальность» ассоциациируется с фильмом «Косильщик лужаек», который вышел в девяностые годы. С тех пор прошло много времени. У нас еще не в ходу виртуальная реальность, слава Богу. Мы пока живем и мыслим в реальном мире. А вот виртуальные компьютеры уже легко может создать любой человек у себя дома. Сделать это позволяет технология виртуализации на процессоре вашего компьютера (или ноутбука).
В сегодняшнем материале сделаю краткий обзор как это работает, и расскажу для чего бывает нужен виртуальный компьютер. Самый простой пример — у вас дома в наличии есть обычный современный настольный ПК. На нем установлена операционная система Windows 7.
Вы решили осваивать Windows 10 или другую операционной систему, например Linux Mint. Раньше было доступно только два варианта. Или поставить новую вместо старой и потом переносить туда данные. Можно установить обе системы на один компьютер и запускать их поочередно. Но это не удобно.
Для того, чтобы на одном компьютере можно было запускать сразу несколько операционных систем одновременно и была реализована технология виртуализации. Проблема эта оказывается не нова, еще в 80 г двадцатого века ее пытались решить на Западе. В домашних условиях Вы, например, можете легко научиться самостоятельно устанавливать и осваивать такие операционные системы, с какими раньше не были знакомы. А потом и научиться использовать их.
Можно тестировать работу программ в разных операционных системах. Можно играть в любимые старые игры, которые не запускаются на новых операционных системах. Что еще дает запуск нескольких операционных систем? Виртуализация была придумана для того, чтобы экономить денежные средства. В крупных организациях стоят дорогие сервера, и вместо того чтобы тратить деньги на на покупку нового «железа» можно на ОДНОМ физическом системном блоке установить к примеру два виртуальных сервера.
Один почтовый, другой DNS. Мы получаем ДВА отдельных сервера. Каждый из этих виртуальных серверов работает изолированно от друг от друга как отдельный компьютер. При этом ресурсы физического компьютера используются на полную мощность (при правильном расчете). Никакого простоя. А если мы под эти задачи купили бы два раздельных сервера, то их ресурсы использовались бы процентов на сорок или даже меньше. А это невыгодно, даже с точки зрения потребления электричества.
Для того, чтобы технология заработала на вашем ПК, нужно чтобы его процессор поддерживал ее. В чем ее суть простыми словами? Обычный процессор работает примерно так. Есть операционная система (любая) и процессор. Часть данных операционной системы обрабатывается процессором на уровне «1«. Другая важная часть команд от операционной системы работает с процессором, например только на уровне «0» и занимает эту область. Вы пытаетесь запустить виртуальную машину, а эта «нулевая» область уже занята реальной операционной системой.
Ничего не получится. Поэтому в процессоре должна быть область «-1«, которая одновременно принимала бы команды от «новой» операционной системы, и не затрагивала бы работу «старой». Нужен процессор, который умеет управлять работой двух операционных систем одновременно.
Что означает виртуализация процессора AMD?
Традиционно считается, что процессоры AMD у нас доступнее и дешевеле, чем INTEL. Это совсем не значит что они хуже. Многие домашние игровые компьютеры управляются процессорами AMD. Есть мнение, что технология виртуализации от AMD тоже проще и эффективнее, чему у Intel.
Виртуализация AMD (AMD—V™) — это набор уникальных интегрированных в чип функций, которые позволяют клиентам на базе процессоров AMD запускать несколько операционных систем и приложений на одной машине. Впервые появилась в 2008 году на процессорах Athlon x64
Что такое виртуализация в процессорах Intel Core i5?
Компания Intel объявила о своих наработках в этом направлении в 2005 году. Технология носит название Intel VT и со времен процессора Pentium4 (672) ее процессоры поддерживают эту функцию. С тех пор функционал непрерывно совершенствуется и добавляются новые возможности. На сайте компании есть краткий перечень достижений:
Что лучше — AMD или Intel — тут я думаю, что обе компании добились примерно одинаковых результатов. Теперь, когда мы познакомились с теорией, перейдем к практике. Для того, чтобы у вас заработало, нужно проверить включена ли у вас эта фукнция в настройках материнской платы.
Все современные процессоры поддерживают функцию. Ее только надо включить на материнской плате. Обычно она выключена и виртуальная машина не запустится. Для начала убеждаемся, что наш процессор поддерживает виртуализацию. Сделать это можно любым приложением, которое умеет собирать данные о вашем «железе» и выдавать ее в виде отчета.
Как проверить включена ли виртуализация на вашем ПК?
Есть утилиты которые проверяют включена ли функция на вашем процессоре, а не только ее наличие. Я пользуюсь CPU-Z, а включение проверяю в BIOS. Запустив програму переходим на вкладку «Процессор»:
У меня процессор Intel и набор инструкций должен быть AVX. На процессорах AMD соответсвенно будет AMD-V. Если у вас в наборе инструкции есть такая запись, значит нужно ее активировать в BIOS.
Включение виртуализации никак не влияет на производительность процессора если вы не запускаете никаких виртуальных машин на компьютере. Однако, если вы будете использовать виртуальную машину, то производительность возрастает.
В UEFI BIOS примерно так включается виртуализация:
На обычных BIOS включать можно так:
Теперь можно устанавливать и настраивать виртуальную машину. Об этом читаем далее.
Что такое виртуализация и как работает виртуальный сервер
Важность и применение виртуализации простирается далеко за пределы виртуальных машин.
Ни одно из достижений в области информационных технологий за последние шестьдесят лет не имела столь огромной ценности как виртуализация. Многие ИТ-специалисты думают о виртуализации с точки зрения виртуальных машин (VM) и связанных с ними гипервизоров и операционных систем, но это только вершина айсберга. Все более широкий спектр технологий, стратегий и возможностей виртуализации переопределяет основные элементы ИТ в организациях по всему миру.
Определение виртуализации
Рассматривая определение виртуализации в более широком смысле, можно сказать, что это наука о том, как превратить объект или ресурс, имитируемый или эмулируемый в программном обеспечении, в идентичный по функциям соответствующий физически-реализованный объект.
Другими словами, мы используем абстракцию, чтобы заставить программное обеспечение выглядеть и вести себя как аппаратное обеспечение, с значительными преимуществами в гибкости, стоимости, масштабируемости, общих возможностях, производительности и в широком спектре приложений. Таким образом, виртуализация делает реальным то, что на самом деле таковым не является, применяя гибкость, удобство программных возможностей и сервисов, заменяя аналогичную реализацию в программном обеспечении.
Виртуальные машины (VM)
Эра VM берёт своё начало от небольшого числа мейнфреймов 1960-х годов, в первую очередь от IBM 360/67, которые впоследствии стали общепринятыми в мире мэйнфреймов в 1970-х годах. С появлением Intel 386 в 1985 году, VM заняли своё место в микропроцессорах, которые являются сердцем персональных компьютеров. Современная функция виртуальной машины, внедрённая в микропроцессоры с необходимой аппаратной поддержкой как с помощью гипервизоров, так и с помощью реализации на уровне ОС, имеет важное значение для производительности вычислений, что крайне важно для захвата машинных циклов, которые в противном случае были бы потеряны при современных высокопроизводительных 3+ ГГц.
Виртуальные машины также обеспечивают дополнительную безопасность, целостность и удобство, учитывая, что они не нуждаются в больших вычислительных затратах. Более того, дополнительно можно расширить возможности виртуальных машин, добавив функции эмуляторов для интерпретаторов, таких как виртуальная машина Java, и даже функции полных симуляторов. Запуск Windows под MacOS? Запросто. Код Commodore 64 на вашем современном ПК с ОС Windows? Без проблем.
Главная фишка заключается в том, что программное обеспечение, работающее в виртуальных машинах, не знает об этом факте — даже гостевая ОС, изначально разработанная для работы на голом металле, считает, что это ее «аппаратная» платформа. В этом заключается самый важный элемент самой виртуализации: воплощение внедрения информационных систем, основанных на изоляции, обеспечиваемой API и протоколами.
На самом деле мы можем проследить корни виртуализации до эпохи режима разделения времени, который также начал появляться в конце 1960-х годов. В то время мейнфреймы конечно не были переносными, поэтому быстро растущее качество и доступность коммутируемых и арендованных телефонных линий, а также усовершенствованная технология модема позволили осуществить виртуальное присутствие мейнфрейма в виде терминала (как правило алфавитно-цифрового). Действительно, виртуальная машина: Благодаря достижениям в области технологии и экономики микропроцессоров эта модель вычислительного процесса привела непосредственно к созданию персональных компьютеров 1980-х годов с локальными вычислениями в дополнение к передачи данных через телефонную линию, которые эволюционировали в локальную сеть и в конечном счете сегодня представляют собой возможность непрерывного доступа к Интернету.
Виртуальная память
Концепция виртуальной памяти, которая также быстро развивалась в 1960х года, не уступает по важности идее виртуальных машин. Эпоха мэйнфреймов отличалась необычайной дороговизной памяти с магнитным сердечником, а мэйнфреймы с более чем одним мегабайтом памяти вообще были редким явлением вплоть до 1970-х годов. Как и в случае с виртуальными машинами, виртуальная память активируется относительно небольшими дополнениями к аппаратным средствам и наборам команд для включения частей хранилища, обычно называемых сегментами и/или страницами, для записи на вторичное хранилище и для адресов памяти в пределах этих блоков, которые будут динамически переведены, поскольку они выгружаются обратно с диска.
Один реальный мегабайт оперативной памяти на IBM 360/67, например, может поддерживать полное 24-битное адресное пространство (16 МБ), включенное в архитектуру компьютера, а при правильной реализации каждая виртуальная машина может при этом иметь и свой собственный полный набор виртуальной памяти. В результате этих новшеств, аппаратные средства, разработанные для работы с одной программой или операционной системой, могут совместно использоваться несколькими пользователями даже если у них установлены разные операционные системы или требуемый объем памяти превышает реальную пропускную способность. Преимущества виртуальной памяти, как и виртуальных машин, многочисленны: разграничение пользователей и приложений, усовершенствованная безопасность и целостность данных, а также значительно улучшенный RoI. Звучит уже знакомо?
Виртуальные рабочие столы
После виртуализации машин и памяти, а также их внедрения в недорогие микропроцессоры и ПК, следующим шагом стала виртуализация рабочего стола и, следовательно, доступность приложений, как однопользовательских, так и совместных. Опять же, мы должны вернуться к модели режима разделения времени, описанной выше, но в этом случае мы имитируем рабочий стол ПК на сервере и удаляем графику и другие элементы пользовательского интерфейса по сетевому соединению через соответствующее клиенту программное обеспечение и часто через недорогое и легко управляемое и защищенное устройство «тонкий клиент». Каждая ведущая операционная система сегодня поддерживает эту возможность в той или иной форме, с широким набором дополнительных аппаратных и программных продуктов, включая VDI, систему X Windows и очень популярный (и бесплатный) VNC.
Виртуальные хранилища
Следующим крупным достижением, которое сегодня обладает большой распространенностью, является виртуализация процессоров, хранилищ и приложений в облаке, т.е. возможность в любой момент вытащить необходимый ресурс, который может потребоваться прямо сейчас, а также простое добавление и наращивание мощностей практически без усилий со стороны ИТ-персонала. Экономия на физическом пространстве, капитальные затраты, техническое обслуживание, простои из-за сбоев, трудоемкие затраты на устранение неполадок, серьезные проблемы с производительностью и отключениями, а также многие дополнительные затраты могут фактически окупаться сервисными решениями, которые хранятся в облаке. Например, виртуализация хранилищ может предложить множество возможностей в таких случаях.
Повсеместное внедрение облачного хранилища (не только в качестве резервного копирования, но и как основного хранилища) станет более распространённым явлением, т.к. и проводные и беспроводные сети обеспечивают скорость передачи данных на уровне 1 Гбит/с и выше. Данная возможность уже реализована в Ethernet, 802.11ac Wi-Fi и одной из самых ожидаемых высокоскоростных сетей — 5G, которая на данный момент проходит тестирование во многих странах.
Виртуальные сети
Даже в мире сетей все более и более применяется концепция виртуализации, технология «сеть как сервис» (NaaS) в настоящее время во многих случаях представляет собой перспективный и крайне востребованный вариант. Эта тенденция будет лишь популяризироваться ввиду дальнейшего внедрения виртуализации сетевых функций (NFV), которая по крайней мере точно станет объектом наибольшего интереса у операторов и провайдеров особенно в сфере мобильной связи. Примечательно, что сетевая виртуализация может предоставить реальную возможность для мобильных операторов расширить спектр своих услуг, увеличить пропускную способность и тем самым повысить ценность и привлекательность своих услуг для корпоративных клиентов. Вполне вероятно, что в течение следующих нескольких лет все большее число организаций будут применять NFV в своих собственных и даже в гибридных сетях (опять же, фактор привлекательности клиентов). В то же время VLAN (802.1Q) и виртуальные частные сети (VPN) со своей стороны вносят огромный вклад в подходы к использованию современной виртуализации.
Виртуализация снижает затраты
Даже принимая во внимание широкий спектр значительных функциональных решений, которые может предложить виртуализация, на первый план все равно выходит экономическая оценка широкомасштабных функций виртуализации, которая привлекает особое внимание. Конкурентоспособность быстро развивающейся бизнес-модели на основе облачных сервисов означает, что традиционные трудоемкие операционные расходы, которые ежедневно несут организации-заказчики, со временем будут снижаться, поскольку поставщики услуг, основываясь на своем собственном опыте, разрабатывают новые предложения, которые заметно помогут сэкономить финансы, и предлагают более низкие цены конечным пользователям в результате конкуренции на рынке.
С помощью нее легко повысить надежность и отказоустойчивость благодаря использованию нескольких поставщиков облачных сервисов в полностью избыточном или горячем режиме резервирования, что практически исключит возможность одиночных точек отказа. Как видно, многие элементы расходов, заложенные на капитальные затраты в IT сфере, переходят в операционные расходы, т.е. по большей части средства расходуются не на увеличение количество оборудования, наращивание мощностей и персонал организации, на поставщиков услуг. Опять же, благодаря мощностям современных микропроцессоров, усовершенствованиям в системах и архитектурных решениях, а также резкому увеличению производительности как локальных сетей, так и сетей WAN (включая беспроводные), практически каждый элемент ИТ индустрии сегодня действительно может быть виртуализирован и даже реализован как масштабируемый облачный сервис в случае необходимости.
Сама виртуализация не является сменой парадигмы, хотя часто её описывают именно так.
Смысл виртуализации в любой своей форме заключается в том, чтобы позволить ИТ процессам при помощи огромного спектра возможностей, о которых написано выше, предстать более гибкими, эффективным, удобными и продуктивными.
Основываясь на стратегии виртуализации у большинства облачных сервисов в ИТ, можно сказать, что, виртуализация — это лучшее решение на сегодняшний день в качестве альтернативы операционной модели с экономическими преимуществами, которая позволит уйти от необходимости применения традиционных методов работы.
Развитие виртуализации в данной области происходит благодаря существенной экономической инверсии операционной модели ИТ, которая берёт свои корни в начале коммерциализации информационных технологии.
На заре компьютерных технологий, наши интересы были сфокусированы на дорогостоящих и часто перегруженных аппаратных элементах, таких как мейнфреймы. Их огромная стоимость и мотивировала на первые попытки виртуализации, о которых рассказано выше.
Поскольку аппаратное обеспечение стало дешевле, мощнее и доступнее, основное внимание переключилось на приложения, работающие в практически стандартизованных и виртуализированных средах, от ПК до браузеров.
Результатом этой эволюции является то, что мы наблюдаем сейчас. Поскольку компьютеры и вычислительная техника были основой ИТ, мы переключили внимание на обработку информации и возможность её предоставления в любое время и в любом месте. Эта «инфоцентричность» — сподвигла эволюцию мобильной и беспроводной эпохи, и как результат, конечный пользователь может в любой момент, независимо от места, получить эту информацию и иметь ее под рукой.
Изначально задумывавшись в качестве более эффективной работы с медленным и очень дорогим мейнфреймом, всё привело к тому, что сейчас виртуализация превращается в основную стратегию для всего будущего ИТ сферы. Ни одна инновация в сфере ИТ не имела такого большого влияния как виртуализация, и с переходом на инфраструктуру облачной виртуализации, мы действительно только начинаем путь к нечто глобальному.