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

 

При большом числе пользователей инфраструктура виртуальных настольных систем представляет собой сложное образование, состоящее из множества отдельных компонентов. Резкое снижение производительности вследствие возникновения узких мест можно предотвратить, только если все компоненты будут обладать характеристиками, которые позволят успешно справиться даже с пиковой нагрузкой. Среди прочего к их числу относится оснащение хост-системы виртуализации процессорами и оперативной памятью, которые должны быть рассчитаны таким образом, чтобы в распоряжении виртуальных настольных систем всегда имелись необходимые ресурсы. Аналогично обстоят дела и с пропускной способностью сети. Если пользователи обращаются к своим виртуальным настольным системам через локальную сеть, ее пропускной способности, как правило, оказывается достаточно. А вот когда доступ из удаленных мест осуществляется через глобальную сеть, то при малой пропускной способности канала и больших задержках (Latency) могут потребоваться ускорители глобальных сетей.

Важную роль играет выбор системы хранения: она должна соответствовать требованиям операций ввода/вывода (Input/Output, I/O) в виртуальных настольных системах (см. Рисунок 1). Ниже мы рассмотрим факторы, которые следует принимать во внимание при выборе системы хранения. Исходные условия: решение VDI предоставляет пользователям виртуальные настольные системы посредством гипервизоров для сервера, такого как VMware ESX Server, Citrix XenServer или Microsoft Hyper-V. За рамками этой статьи остаются вопросы использования недавно появившейся технологии виртуализации посредством гипервизоров для клиентов, а также решений для потоковой доставки клиентских операционных систем и приложений (Streaming).

 

Рисунок 1. Инфраструктура виртуальных настольных систем (Virtual Desktop Infrastructure, VDI) — сложное решение, которое предъявляет высокие требования к используемым системам хранения данных.

 

 

ЦЕНТРАЛИЗОВАННОЕ ИЛИ ЛОКАЛЬНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО

Вывод о том, какое решение является наилучшим для среды VDI — серверы с локальными жесткими дисками (Direct Attached Storage, DAS) или централизованная система хранения, подключение к которой осуществляется по сети хранения данных (Storage Area Network, SAN), — зависит от предъявляемых к нему требований. Локальные жесткие диски, как правило, дешевле и проще в администрировании, чем сети SAN. Массив из большого числа быстрых жестких дисков, вращающихся со скоростью 15 тыс. об/мин, уровень RAID которого рассчитан на высокие требования ввода/вывода (например, Level 1 или 10), позволяет обеспечить высокую производительность.

Главный недостаток такого подхода заключается в том, что виртуальные настольные системы оказываются привязанными к локальной системе хранения. Их невозможно переместить на другой хост виртуализации без прерывания эксплуатации, поэтому техническое обслуживание хост-систем предполагает вынужденный простой соответствующих виртуальных компьютеров. Кроме того, локальные устройства хранения не позволяют воспользоваться функцией автоматического распределения нагрузки в среде VDI для оптимизации загруженности имеющихся хост-систем, а системный администратор не сможет увеличивать емкость запоминающих устройств, когда сервер будет оснащен максимально допустимым количеством жестких дисков.

Чтобы система хранения не стала причиной возникновения узких мест в производительности, важно определить требования ввода/вывода среды VDI. Это касается как локальных, так и централизованных запоминающих устройств. В зависимости от применяемых приложений, по самым грубым оценкам, виртуальная настольная система должна производить от 5 до 20 операций ввода/вывода в секунду (IOPS), при этом соотношение чтение/запись составляет ориентировочно 20/80. Схема доступа по большей части случайна (Random I/O). При наличии 100 виртуальных настольных систем, используемых с умеренной нагрузкой, количество операций ввода/вывода в секунду составит приблизительно 500 IOPS. При работе 100 активных пользователей (Power User) следует ожидать около 2000 IOPS.

 

ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ ВВОДА/ВЫВОДА

Чтобы получить приближенные к реальности показатели, ИТ-специалистам необходимо продолжительное время измерять производительность и профили ввода/вывода для различных групп пользователей. Дополнительно следует определить долю активных пользователей, а также тех, кто загружает системы со средней и малой интенсивностью. Важно рассчитать соотношение между доступом для чтения и записи данных — это помогает организовать систему хранения данных таким образом, чтобы она успешно справлялась с реальными нагрузками. Приведут ли пиковые нагрузки, такие как массовый запуск компьютеров по утрам или авторизация пользователей в сети, к возникновению «узких мест» при вводе/выводе или нет — этот вопрос специалистам ИТ следует изучить заранее. Хорошей основой для подобной оценки служат профили использования рабочего времени сотрудников.

Далее необходимо подробно рассмотреть вопрос использования вирусных сканеров, порождающих большую нагрузку на системы ввода/вывода. Если все виртуальные компьютеры одновременно начнут выполнять полное антивирусное сканирование систем, это может парализовать систему хранения данных. Для предотвращения подобной ситуации можно, к примеру, запускать сканирование со смещением во времени, так чтобы в одно и то же время проверялась лишь часть виртуальных систем. Или же антивирусное сканирование может проводиться не на самих клиентах, а выполняться специально предназначенным для этого аппаратным устройством (Appliance). Что касается установки «горячих» заплат (Hotfixes) и обновления программного обеспечения, то и здесь смещение по времени способно значительно сократить пиковые нагрузки на системы ввода/вывода.

 

ИНДИВИДУАЛЬНЫЕ ИЛИ СОВМЕСТНО ИСПОЛЬЗУЕМЫЕ СИСТЕМЫ

Требования к ресурсам ввода/вывода, которым должна соответствовать система хранения данных, зависят от того, какое количество индивидуальных виртуальных настольных систем имеется и сколько виртуальных машин использует один и тот же базовый образ (Golden Image). В случае индивидуальных настольных систем каждый пользователь получает в свое распоряжение собственную виртуальную машину с полноценной ОС, а каждый виртуальный компьютер производит примерно такую же нагрузку ввода/вывода, как и физический ПК.

Иначе обстоят дела с разделяемыми (Shared) настольными системами: они используют один и тот же базовый образ, сохраняя в выделенной области памяти лишь некоторые специфические данные отдельных пользователей — временно или длительно. Такая система предъявляет очень высокие требования к операциям ввода/вывода, которым в наибольшей степени отвечают твердотельные накопители (Solid State Drive, SSD), а не традиционные жесткие диски. Компания VMware оптимизировала свое недавно представленное решение View 4.5 для инфраструктур VDI как раз в этом отношении: базовый образ теперь может располагаться отдельно от виртуальных настольных систем — на другом логическом устройстве (Logical Unit Number, LUN), поэтому накопители SSD можно устанавливать именно для него.

Другой способ повышения производительности операций ввода/вывода запоминающих устройств заключается в использовании кэш-модулей, обладающих значительным запасом ресурсов, которые, благодаря интеллектуальным алгоритмам кэширования, позволяют быстро выполнять операции чтения и записи. Этот подход применяет компания Network Appliance. В операционной системе Ontap интегрирована функция прозрачного совместного использования кэш-памяти (Transparent Storage Cache Sharing, TSCS), которую дополняет так называемый модуль ускорения производительности (Performance Acceleration Module, PAM). Такой флэш-кэш ускоряет доступ при чтении и позволяет достичь высокой производительности операций ввода/вывода при сравнительно малом количестве дисков. В результате кэш-ускорения операций ввода/вывода для чтения выигрывают и процессы ввода/вывода для записи, поскольку на диске осуществляется значительно меньше операций ввода/вывода для чтения.

 

ТРЕБОВАНИЯ К ПАРАМЕТРАМ ДИСКА

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

 

Рисунок 2. Современные системы хранения данных, такие как XIV компании IBM или дисковые массивы производства 3PAR, равномерно распределяют данные по всем имеющимся в системе жестким дискам, обеспечивая тем самым высокую производительность операций ввода/вывода.

За прошедшие годы на рынке решений для хранения данных хорошо зарекомендовали себя несколько недавно образованных предприятий, которые при разработке своих продуктов опираются на новые архитектуры систем хранения. В их число входят компания XIV (ныне принадлежит IBM), 3PAR (приобретена HP) и Pillar Data Systems. Их всех объединяет использование внутреннего слоя виртуализации, с помощью которого можно задействовать все жесткие диски системы (см. Рисунок 2); в результате достигается высокая производительность операций ввода/вывода.

Для параметров операций ввода/вывода важен применяемый уровень RAID, от которого зависит число операций ввода/вывода, выполняемых за одну команду записи. Так, массиву RAID-5 потребуется четыре шага для выполнения операции записи на жесткий диск, а массиву RAID-6 — шесть шагов, поскольку данные контроля четности (Parity) должны записываться дважды. Некоторые производители запоминающих устройств разработали специальные решения для ускорения производительности операций RAID. Их пригодность для сред VDI нужно проверять в каждом конкретном случае.

Существует несколько основных правил определения размеров логических устройств. Так, компания VMware проводит различие в зависимости от того, предоставляются ли полноценные виртуальные настольные системы или же предлагаются клиентские операционные системы в виде так называемых связанных клонов (Linked Clones) в режиме совместного использования (Shared Mode). В случае полноценных систем верхняя граница составляет около 30 настольных систем на одно логическое устройство, а для связанных клонов — до 64 систем на одном LUN.

Если для организации виртуальных рабочих станций приходится довольствоваться устаревшими операционными системами, такими как Windows XP, то необходимо принимать во внимание так называемое выравнивание дисков (Disk Alignment): перед установкой клиентской операционной системы на виртуальном диске следует осуществить «выравнивание» разделов (партиций), чтобы обеспечить оптимальную производительность операций ввода/вывода. Для более новых операционных систем?— Windows 7, Vista или Windows 2008 — этого уже не потребуется.

Если предприятия делают выбор в пользу централизованной системы хранения данных для своей инфраструктуры VDI, то необходимо выбрать соответствующий протокол хранения. Как и прежде, лучшую производительность обеспечивает технология Fibre Channel (FC), но для этого придется создать отдельную сеть FC, что потребует очень больших затрат. Блочно-ориентированный протокол iSCSI использует обычные инфраструктуры IP LAN, поэтому обходится дешевле, чем сеть FC?SAN, однако по производительности он все еще уступает FC.

В средах виртуализации для обоих протоколов необходимо увеличить глубину очереди (Queue Depth) адаптеров главной шины (Host Bus Adapter). VMware рекомендует установить значение 128 вместо параметров, указанных по умолчанию. Для своевременного выявления узких мест, связанных с производительностью, следует постоянно контролировать длину очередей на адаптерах главной шины.

Компания Network Appliance — один из наиболее рьяных сторонников использования NAS/NFS в качестве протокола хранения для виртуализированных сред. Среди основных преимуществ производитель указывает на то, что контейнеры с данными очень легко адаптируются для работы с виртуальными машинами, причем их размер можно уменьшить. Как заявляет Network Appliance, производительность этого протокола достигает уровня блочно-ориентированных протоколов FC и iSCSI, а значит, NAS/NFS можно применять и в больших виртуализированных средах без риска возникновения узких мест в производительности.

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

Кристоф Ланге — независимый журналист и ИТ-консультант в области сетевых технологий и систем хранения.