Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Миргородская 7сессия / Операционные системы / %D0%9E%D0%A1_%D0%A1%D0%93%D0%A2%D0%A3%20v5

.pdf
Скачиваний:
87
Добавлен:
12.02.2015
Размер:
4.09 Mб
Скачать

Вшироком философско-методическом понимании идея виртуализации

отделения логического представления процессов от способа их физической реализации — лежит в основе всех ИТ как таковых. В этом плане с формальной точки зрения практически к любому ИТ-продукту (и в первую очередь к опера-

ционным системам) можно применить определение “виртуализационный”.

В узком смысле (уже в рамках ИТ) данное понятие связано с созданием механизма виртуальных машин (ВМ) корпорацией IBM для своих mainframe

в начале 70-х гг. прошлого века. Это было обусловлено необходимостью од-

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

сурсов. Не говоря уже о том, что вся эта аппаратно-программная платформа

(в том числе и разные версии ОС) принадлежала одному разработчику.

Появление компьютеров архитектуры x86 — сначала ПК, а потом и серверов — сделало идею ВМ просто неактуальной: в них был заложен принципиально иной (чем в mainframe) подход: один компьютер — одна ОС.

Однако к концу 90-х, по мере роста мощности х86-систем, значимость задачи запуска нескольких ОС на одном компьютере вновь стала возрастать. Пона-

чалу это касалось преимущественно вопросов разработки и тестирования ПО,

а потом на первый план вышли проблемы консолидации серверов в “боевом” режиме работы информационных систем.

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

речь шла не об одном vendor, которому нужно было решать свои внутренние технические проблемы, а о большом ИТ сообществе с непростыми конкурент-

ными отношениями, а также о массовом рынке (разделенном на аппаратные и программные сегменты), а значит — о необходимости поддержки огромного числа унаследованных приложений от десятков тысяч разработчиков.

171

Механизм ВМ понадобился для запуска на одном компьютере несколь-

ких разных ОС. На самом деле многозадачность ОС для x86-архитектуры яв-

ляется весьма и весьма условной. По большому счету, к ним лучше отно-

ситься как к однозадачным системам. Запускать в их среде несколько прило-

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

шение этого уровня.

Средства виртуализации сегодня являются не самодостаточным видом порграммного обеспечения (альтернативой современных операционных сис-

тем), а некоторым дополнением и расширением традиционных ОС.

Общая тенденция развития ОС будет направлена именно на повышение уровня поддержки многозадачности систем и в том числе более высокой изо-

ляции приложений и к использованию новой модели распределенных вычис-

лений в “облачном” стиле (Cloud Computing). Такой процесс будет эволюци-

онным и весьма долгим. Таким образом, еще долго средства виртуализации будут интегрированы в ОС.

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

“утяжелению” систем в целом, в частности — негативно отразиться на их производительности. И вот что еще важнее. Прикладные программы создава-

лись и создаются для работы в среде традиционных ОС. Не говоря уже о проблеме поддержки унаследованных приложений, переход на чисто виртуа-

лизационную модель потребует радикального изменения всей схемы разра-

ботки пограммного обеспечения.

Вся эта проблема очень хорошо видна на примере развития технологий нынешнего лидера в области виртуализации — компании VMware. Целью создания ОС нового поколения — ОС для виртуальных дата-центров (virtual

172

datacenter OS, VDC OS) является не замена традиционных ОС, а вносение корректив в общую структуру комплекса програмного обеспечения.

VDC OS может функционировать только при использовании традици-

онных ОС, в то время как сами эти ОС могут применяться и без каких-либо дополнительных средств виртуализации. Иное дело, что обнародованные

VMware намерения обозначили другую ключевую проблему: кто будет иг-

рать лидирующую роль в этой новой структуре ПО (а точнее — всего про-

граммно-аппаратного комплекса)? До сих пор центром такой системы были именно ОС (под них делаются средства виртуализации).

На сегодняшний день в общей структуре виртуализационных средств выделяются три основных слоя:

виртуализация вычислительных сред (ресурсов центрального процессора, включая ОЗУ, и операционной системы);

виртуализация хранилищ данных;

виртуализация сетей.

Именно такая структура просматривается и в VDC OS; при этом видно,

что ключевым и наиболее проработанным на сегодня компонентом системы является слой ВМ. Он фактически уже представлен комплексом Virtual Infrastructure с ядром в виде EXS Server, в то время как остальные две части системы — vNetworks и vStorage — еще только предстоит создать.

В общем случае комплекс средств виртуализации вычислительных сред

(или виртуализации ПО) можно представить в виде нескольких основных технологических подходов, которые приведены в таблице.

Все это хорошо видно на примере развития современных средств виртуа-

лизации. VMware начала свою деятельность в 1999 г. с создания решения для ПК — Workstation. Затем появился вариант этой же технологии для серверов —

GSX Server (сейчас просто VMware Server), и лишь потом вышел качественно иной вариант специально для серверов — ESX Server. В такой же последова-

тельности двигалась и Microsoft: Virtual PC, на основе которой был разработан

Virtual Server, и уже емуна сменупришел качественно новый Hyper-V.

173

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

д. Развертывание ИТ-сервисов (в том числе по требованию бизнеса) теперь будет занимать вместо нескольких дней сколько-то часов или даже минут, ИТ-

сотрудники могут забыть о временах, когда приходилось работать в выходные дни или по ночам — профилактические мероприятия и ввод в действие новых сервисов теперь выполняются без остановки работы пользователей.

Сложность задачи управления динамической ИТ-инфраструктурой лег-

ко себе представить, если учесть, что речь идет о сугубо неоднородной сис-

теме, которая имеет дело с несколькими группами поставщиков (оборудова-

ния, ОС, приложений, ПО виртуализации), причем в каждой такой группе есть своя неоднородность (например, могут использоваться виртуальные среды разных разработчиков). Понятно, что в этой ситуации независимые (от конкретных гипервизоров) vendor (такие, как HP, IBM, CA) могут получить определенные преимущества в сфере управления ИТ по сравнению с по-

ставщиками, озабоченными продвижением своих базовых технологий.

4.2. Работа с виртуальной машиной VmWare

Виртуальная машина, или, иначе, VM,- это программа, которая эмули-

рует настоящий физический компьютер, притом таким изощренным образом,

что на этот компьютер можно установить операционную систему и приложе-

ния, которые будут работать, не подозревая о том, что работают они не на

"железе", а в программной среде. При этом виртуальная машина может соз-

давать различные аппаратные конфигурации (в некоторых пределах) - на-

пример, можно определить, сколько памяти получит та или иная виртуальная

174

машина [23]. Сама программа эмуляции, равно как и работающая на ней опе-

рационная система, называется виртуальной машиной, в то время как основ-

ная операционная система и физическая машина называются хост-системой.

Задействованные виртуальной машиной ресурсы или "вырезаются" из основного пула ресурсов (как, например, происходит с оперативной памя-

тью), или раздельно используются и хост, и виртуальной системами - как это происходит с процессором и съемными носителями.

Описываемые виртуальные машины предназначены для работы в каче-

стве хост-системы под Windows и в случае VMWare - под Linux, хотя много-

образие устанавливаемых систем значительно шире. Как правило, VMWare

показывает отличные результаты, но если не удается поставить какую-то систему или возникают сбои, то, как вариант, попробуйте VirtualPC - воз-

можно, она справится с вашими проблемами.

Если ОС корректно работает на архитектуре Intel, то она с максималь-

ной вероятностью установится и станет работать в VMWare. В VMWare хо-

рошо работают все версии DOS, Windows, а также основные дистрибутивы

Linux и QNX.

VMWare при создании виртуальной машины сразу же создает вирту-

альный жесткий диск, после чего можно добавить еще какое-то их количест-

во. Размер этого диска по умолчанию - 4 Гб, но этот размер просто изменить.

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

С жесткими дисками связано три возможности. Во-первых, файл жест-

кого диска можно, подобно физическому устройству, "извлечь" из ВМ - то есть сохранить, переписать на другую систему и потом подключить, воссоз-

дав тем самым ВМ в первозданном виде.

Другая возможность - настроить "откат" изменений на диске. Обычно изменения будут храниться на диске так же, как это происходит на обычном

175

компьютере. Режим отката позволяет работать с системой, но после переза-

грузки все изменения на диске будут утеряны. Существует также промежу-

точный вариант, то есть при выключении ВМ будет задан вопрос, сохранить ли изменения.

Наконец, третий вариант - при создании машины сделать не виртуаль-

ный диск в файле, а отвести под диск настоящий раздел. Это несколько тру-

доемкий и не очень эффективный метод. Его назначение - установить ВМ,

настроить систему в виртуальном режиме, после чего перенести жесткий диск с настройками на другой компьютер и запускать систему в собственном режиме.

Несколько другая ситуация со сменными носителями. Самое главное отличие - это то, что под VMWare они могут использоваться одновременно и ВМ, и хостом. При этом несколько виртуальных машин тоже разделяют одно устройство, так что никаких проблем не возникает. Кроме того, в VMWare

есть возможность вместо физического устройства использовать образ диска -

как ISO для CD-ROM, так и образа флоппи-диска для соответствующего юнита.

Под VirtualPC все сделано слабее. Сменные носители монтируются,

подобно тому, как это происходит в Unix. После того как диск примонтиро-

ван, он захватывается ВМ и из других систем не доступен. Если пользователь извлекает носитель, устройство автоматически освобождается - и ВМ теряет его. Для того, чтобы она его нашла нужно щелкнуть правой кнопкой на ма-

ленькой пиктограмме в строке состояния и снова захватить CD ROM.

Настройка видео - ответственный участок в настройке виртуальной машины. По крайней мере, при настройке X-Windows - поскольку тут при-

дется сделать кое-что своими руками. VMWare и VirtualPC решают проблему видео разными путями, а именно: VirtualPC эмулирует видеокарточку S3 Trio 32/64 PCI, и поскольку любая существующая операционная система поддер-

живает эту карточку с вероятностью 99,99%, то таким образом проблема ви-

део решается удовлетворительно.

176

Совершенно другим путем пошла VMWare. Вместо эмуляции какой-то существующей карточки она предлагает собственный драйвер, входящий в пакет vmware-tools, устанавливаемый на виртуальной системе.

Настройка сетевых интерфейсов - это самое важное, поскольку вряд ли кто-то ставит FreeBSD или Linux с иной целью, чем задействовать сетевые возможности последних. Представляемые виртуальные машины имеют не-

сколько принципиально различных методов подключения к вашему компью-

теру и ко внешней сети. Рассмотрим (как более канонический вариант) схемы подключения vmware и потом перечислим отличия в VirtualPC.

Существует три основных режима подключения виртуальной машины

ксети: Bridged mode, NAT и Host Only, схематически показанные на рисунке.

1)Bridged mode дает виртуальной машине непосредственный доступ к внешнему интерфейсу хост-машины, на котором виртуальная машина самостоя-

тельно устанавливает или получает через DHCP собственные сетевые параметры

- такие как IP-адрес, маршрутизатор по умолчанию и тому подобные. Этот вари-

ант подключения нужно использовать для тех случаев, когда на VM устанавли-

ваются серверы, которые должныиметь определенные сетевые адреса.

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

машины. При этом запрос помещается в таблицу запросов. Полученные отве-

ты от удаленных систем сверяются с этой таблицей - и по ряду параметров на-

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

которым пользователь обычно не обращается напрямую, например DNS. NAT без проблем работает на исходящем трафике, но в случае входя-

щего запроса все запросы приходят на адрес хост-машины, поскольку во

177

внешнем мире все NAT-адреса были представлены одним адресом хост-

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

ляции, смысл которого примерно следующий: "входящие пакеты на порту таком-то переводить в ВМ такую-то на порт такой-то (порт обычно тот же самый)". То есть доступ к серверу можно осуществлять и через NAT, но это требует дополнительной настройки. Для более подробной инструкции по на-

стройке NAT под VMWare ищите "Understanding NAT" в справочном посо-

бии и изучайте файл C:\WINNT\system32\vmnetnat.conf.

3) Третий режим Host Only представляет дела так, будто у хост-

машины в дополнение к имеющимся сетевым интерфейсам есть еще одна се-

тевая карточка (видимая в системе и без запуска VM), к которой подключает-

ся наша ВМ, образуя с хост-машиной маленькую подсеть. Таким образом,

можно устроить сеть на одном компьютере, что называется, не отходя от до-

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

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

Настройка производительности. Несколько приложений, работаю-

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

ные расходы современных диспетчеров составляют не более 1%, то для рас-

чета производительности можно применять обычную арифметику.

Например, для нормальной работы Windows 2000 нужен Pentium II/III 600. Для работы Linux-сервера в терминальном режиме требуется Pentium

178

300. Просто складывая эти числа, получается искомый 1 ГГц, на котором обе системы будут поддерживать прежнюю производительность.

В меню Settings > Preferences на закладке Priority VMWare есть уста-

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

кущей виртуальной машине. Grabbed input соответствует режиму, когда вир-

туальная машина получает управление и захватывает ввод пользователя; Ungrabbed, соответственно,- фоновому режиму виртуальной машины (даже если ее окно и находится на переднем плане).

Особое внимание нужно обратить на память, учитывая, что она выде-

ляется статически, в момент запуска виртуальной машины. Поскольку на хост-системе установлена виртуальная память, можно загрузить несколько виртуальных машин - и под все будет распределена память. Но поскольку вся она (на 90%) будет в файле подкачки, производительность значительно упа-

дет. Для рассчета памяти нужно брать только физическую память. Например,

современные Linux-системы с Gnome для комфортной работы требуют около

128 Мб памяти. Плюс в хост-режиме под NT5 планируется обрабатывать гра-

фику, что тоже требует около 128 Мб. А так же несколько приложений, таких как браузер, почтовый клиент, текстовый редактор. Таким образом, система с

256 Мб будет показывать несколько замедленную реакцию в требовательных к памяти приложениях, а вот установка 256 + 128 Мб обеспечит полный комфорт в работе.

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

пьютера требованиям VM можно получить максимум производительности и удовольствия от этой технологии. Для выхода виртуальной машины VMWare

нужно нажать левые <Alt + Ctrl>. Эта же комбинация вернут к хост-системе из полноэкранного виртуального режима.

179

5.ЗАЩИТА ОТ СБОЕВ И НЕСАНКЦИОНИРОВАННОГО ДОСТУПА

5.1.Принципы построения систем безопасности

Компьютерная безопасность охватывает вопросы физического и адми-

нистративного контроля, а также автоматических видов контроля. Рис. 56 дает представление о сфере применения автоматизированных средств обеспечения безопасности [3]. Рассмотрим виды угроз, которым подвержены устройства,

обеспечивающие возможности обмена информацией между компьютерами.

Компьютерная система

 

 

(4) Необходимо обеспечение

 

 

безопасности важных файлов

 

Данные

(безопасность файлов)

 

 

 

 

(3) Необходимо

 

 

обеспечение

 

 

безопасной пере-

(1) Необходим

 

дачи данных по

контроль доступа к

 

сети

данным (защита)

 

(безопасность

 

 

сетей)

 

Процессы, представляющие

 

пользователей

 

Защита

 

 

(2) Необходим контроль доступа

 

к компьютерным устройствам

 

(аутентификация пользователя)

Пользователи, делающие запросы

Компьютерная система

Данные

Процессы, представляющие

пользователей

Защита

Рис 56 Область охвата системной безопасности К безопасности вычислительной системы выдвигаются такие четыре

требования:

1. Конфиденциальность - информацию от компьютерных систем могут получать только авторизованные лица. Доступ подобного рода включает в себя вывод на печать, на экран и другие формы предоставления инфор-

мации, в том числе само обнаружение существования объекта.

2. Целостность - Предполагает, что свойства компьютерной системы могут изменять только авторизованные лица. Под изменением подразумева-

180