Виртуализация -
путь к гибкости информационных систем
Увеличение числа рабочих мест, серверов, программных и информационных ресурсов влечет за собой рост затрат на управление корпоративной информационной сетью и выдвигает проблему ее упрощения. Один из способов такого упрощения (на чем сходятся практически все специалисты-информатизаторы) - автономизация составляющих компонентов и приложений, иными словами, их независимость от операционной среды. Большие возможности в этом направлении предоставляет идея виртуализации.
Пожалуй, первым серьезным практическим применением идеи виртуализации стала организация виртуальной памяти для обеспечения обработки больших объемов данных. В процессе реализации был получен опыт виртуализации всех компонентов компьютера: памяти, дисков, каналов, дисплеев, принтеров и т.д.
Наиболее плодотворным процессом из этого перечня оказалась виртуализация памяти. На основе имеющихся реальной памяти и дисков создается воображаемое адресное пространство, объемом превышающее реальную память. Все данные из этого пространства размещаются на дисках - в так называемом страничном наборе данных. В конкретный момент в реальной памяти размещаются только обрабатываемые данные, которые для обработки перемещаются между реальной памятью и дисковым страничным набором данных. Единицей информации, перемещаемой между диском и реальной памятью, является страница.
Такая организация памяти сводит на нет необходимость в преобразованиях данных, буферизации, сжатии и/или архивации, а в результате ускоряется их обработка прикладными программами. В целом виртуализация памяти заложила основательный технологический фундамент для развития баз данных. Виртуальная память, объем адресного пространства которой ограничивается только доступным объемом дискового страничного набора данных и разрядностью адресных регистров и шин, также может с целью обеспечения совместимости использоваться для эмуляции различных внешних устройств (таких, например, как CD-диски) и для виртуализации других компонентов компьютера.
Наиболее очевидна и знакома практически всем компьютерным пользователям технология виртуализации дисплеев - технология окон. Каждой задаче выделяется часть поля дисплея, "окно". Каждому окну соответствует ряд свойств: размер, координаты расположения, шрифт, цвет и так далее. Окно активной задачи всегда отображается на дисплее, а "затененные" им окна сохраняются в реальной или (если таковая используется) в виртуальной памяти. Можно сказать, что отдельное окно представляет собой виртуальный дисплей.
Наиболее многообещающей стала виртуализация дисков. Виртуальный диск (том) может являться частью одного реального или состоять из нескольких полных реальных дисков либо их частей, располагающихся как в одном, так и в нескольких узлах ИС.
При виртуализации виртуальные диски делаются подобными реальным физическим дискам - намеренно и целенаправленно. Однако, благодаря операционным усовершенствованиям (например, упрощению обработки прерываний от физических устройств или отсутствию необходимости преобразования данных), виртуальные диски намного превосходят физические аналоги в скорости и функциональности, что заметно повышает производительность процессов обработки данных. Все имеющиеся программы доступа к данным успешно работают с виртуальными дисками, а виртуализация дисков добавляет в вычислительную систему следующую функциональность:
создаются условия для одновременного выполнения большего числа задач;
создаются условия для построения более надежных, более отказоустойчивых ИС;
обеспечивается возможность виртуализации хранилищ данных, т.е. агрегирования множества физических устройств хранения данных в единую среду хранения данных;
обеспечивается (в совокупности с быстродействующими каналами доступа) простой удаленный доступ к данным в разных узлах ИС, например, при создании резервных копий виртуальных дисков или при организации их зеркалирования;
обеспечивается возможность организации динамической реконфигурации как виртуальных, так и реальных дисков;
обеспечиваются условия для создания разнообразных стендов для тестирования прикладного программного обеспечения без затребования дополнительных физических дисков;
обеспечивается инструментарий служб сопровождения для экспериментальных работ и настройки технических средств.
Принципиальная возможность виртуализации ресурса - такое его свойство, как совместное использование. Виртуализировать монопольно используемый ресурс в полном смысле этого слова нельзя - его можно только поочередно использовать. Например, на базе мультиплексного канала можно создавать множество виртуальных, на базе селекторного - лишь один виртуальный канал, по своим характеристикам совпадающий с реальным, а виртуализация принтера заключается в последовательной распечатке данных, относящихся к разным задачам. Другое необходимое условие виртуализации - наличие в процессоре команд, не только использующих ресурс, но и управляющих им (например: "Установить ключ защиты памяти", "Установить супервизорный режим работы", "Сменить маску прерываний"). Чтобы предотвратить влияние прикладных задач на работу ПК, нужно, чтобы эти команды выполнялись только операционной системой в супервизорном режиме работы - то есть были привилегированными.
Процесс виртуализации может быть выполнен над одним или несколькими ресурсами компьютера, при этом в состав операционной системы должна быть добавлена соответствующая программа виртуализации. Если виртуализированы все компоненты, получается искусственный интеллектуальный объект, который принято называть виртуальной машиной, а совокупность программ виртуализации в ней - монитором виртуальных машин.
Таким образом, на пространстве виртуальных ресурсов работа виртуальных машин организуется при помощи привилегированных команд процессора и монитора виртуальных машин. Основные накладные расходы, возникающие при этом: двойная обработка прерываний - сначала в реальном ПК, а затем в виртуальной машине. Устранить многие из них позволяет доверительная настройка (handshaking) виртуальной машины. Благодаря настройке и тому, что на персональных компьютерах применяется однопользовательский режим работы, легко достигается минимальное дублирование функций.
В такой машине (а к этому и стремились) виртуальные ресурсы превышают реальные, но самое ценное то, что и свойства они имеют отличные. Свойства ресурсов могут быть специфицированы как едиными на всех ПК в сети, так и максимально подходящими для конкретных приложений. Виртуализация позволяет представить одинаковым образом для корпоративных приложений все имеющиеся ПК, независимо от того, у какого производителя они закуплены и какая операционная система на них установлена. В печати уже появились сообщения, что корпорации Intel и Microsoft активно работают над обеспечением встроенной аппаратной поддержки виртуализации в микропроцессоры и разрабатывают соответствующие программы.
Так чем же виртуализация помогает автономизировать составляющие компоненты? А тем, что предоставляет наиболее подходящие количество и конфигурацию ресурсов. Благодаря этому исчезают нежелательные ограничения, имеющее место в реальных ПК, а параллельно исчезают и требования скрупулезных настроек программ и технологий. В результате становится возможным запуск в ИС множества приложений, написанных для разных операционных систем, а стыковка приложений с операционной средой не требует квалифицированного персонала информатизаторов. В конечном счете становится возможным автоматическое приспособление приложений к изменениям в работоспособности и нагрузке, не допускающее падения системы в целом. Получается, что в виртуальной машине приложения управляются не настройками и/или командами администратора - а фактическими потоками данных и событий.
После изложения основных принципов стоит кратко перечислить проявления того, как на разных участках виртуализация существенно повышает гибкость общей инфраструктуры корпоративной информационной сети.
Для системно-технической службы становится возможным на множестве средств вычислительной техники разных производителей (Dell, HP, KraftWay и т.д.) устанавливать виртуальные машины, настройки которых обеспечивают функционирование всех корпоративных приложений. При необходимости виртуальные машины могут использоваться системно-технической службой для экспериментальных работ и тестирования устойчивости выбранных настроек реальных технических средств. Имея виртуализированную архитектуру, можно без риска покупать технические средства, заранее имея уверенность в том, что их будет просто подключить, и они начнут работать без сложных и длительных настроек конфигураций. Исчезает и риск попадания в зависимость от одного определенного производителя.
Для программистов и службы информационного обеспечения виртуализация предоставляет расширенные ресурсы, благодаря чему исчезает необходимость разбивать программные комплексы на небольшие модули, создавать оверлейные структуры или специально программировать страничный обмен. Кроме того, виртуальные машины - своеобразные стенды, где, не прибегая к переподключениям и реконфигурациям реальных устройств, можно тестировать самые разнообразные программные комплексы, создавать виртуальные проекты, накапливать статистику и производить замеры. На рабочих местах пользователей упрощаются настройка приложений и согласование их совместного использования - а значит, уменьшается нагрузка на специалистов и снижаются требования к уровню квалификации персонала.
Существенное влияние оказывает виртуализация на труд администраторов баз данных. Инфраструктура внешней памяти, используемой для размещения баз данных, при использовании виртуализации становится проще и мобильнее для администрирования, что экономит силы и время. Вместо того чтобы тратить время на модификацию оборудования, они могут централизовано назначать и переназначать виртуальные диски. Это не только оставляет администраторам баз данных больше времени на решение иных задач, но и сокращает корпоративные расходы, поскольку меньшее количество персонала может управлять значительно большими объемами хранимых данных. Возрастает и устойчивость в работе - при виртуализации решение принимается не для одного узла, а согласованно для всей информационной сети.
Новые возможности предоставляет виртуализация и службам обеспечения безопасности и защиты информации в контроле за использованием пользователями ресурсов ИС и соблюдением ими установленных правил. Мониторинг доступа пользователей к внешним устройствам и других сетевых связей в виртуальной машине можно организовать с помощью стандартных средств протоколирования вызовов привилегированных команд. Соответствующая настройка виртуальной машины позволяет получить такой же эффект ограничения действий пользователя, который получается путем применения дорогостоящих технических средств защиты информации. Кроме того, виртуальные машины, предоставляемые в распоряжение пользователей, могут быть определены без устройств и/или портов, которые не допускается использовать на их рабочих местах.
И только пользователь, единственное лицо в системе, остается безучастным к инновационным изменениям, связанным с виртуализацией. Для него не имеет значения, с какими системными ухищрениями оформлено его рабочее место. Работа с приложениями в реальном ПК и в ПК, где загружена виртуальная машина, не требует от пользователя особых знаний - как определяли его работу технологии, регламенты и должностные инструкции непосредственного руководства, так и определяют.
"Схема виртуализации дисков"
М. Лебедь,
заместитель управляющего отделением N 4
Московского ГТУ Банка России
"Банковское дело в Москве", N 12, декабрь 2005 г.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Журнал "Банковское дело в Москве"
Журнал зарегистрирован в Комитете Российской Федерации по печати. Регистрационное свидетельство N 013197
Издается с 1995 г.
Учредитель: издательство "Русский салон периодики"
Адрес редакции: 109382, Москва, Люблинская ул., 127/1.
e-mail: info@bdm.ru
Телефон и факс: (495) 351-4981, 351-8862, 351-5150
Оформить подписку на журнал можно в редакции или через каталоги
Роспечати - индекс 79521
Моспочтамта - индекс 42625