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

«Поскольку для разных проектов требуются разные операционные системы, мы вынуждены пользоваться решениями для каждой из них», Дмитрий Иртегов, заведующий учебно-научной лабораторией НГУ-ParallelsВ Новосибирском государственном университете обучается около 7 тыс. студентов. В 2007 году по итогам Всероссийского конкурса инновационных образовательных программ, проходящего в рамках национального проекта «Образование», это учебное заведение получило 930 млн. руб. на реализацию проекта «Инновационные образовательные программы и технологии, реализуемые на принципах партнерства классического университета, науки, бизнеса и государства». Эти деньги способствовали внедрению новых информационных технологий в образовательной, научной, инновационной и управленческой деятельности университета.

Интерес к технологиям виртуализации возник в НГУ еще раньше, когда в ходе совместного проекта компании Parallels (ранее SWsoft) и НГУ была создана учебно-научная лаборатория НГУ-Рarallels. Основная цель лаборатории — привлечь студентов к исследовательской деятельности в условиях, максимально приближенных к тем, в которых находятся компании, занимающиеся коммерческой разработкой программного обеспечения. По соседству с НГУ, в Новосибирском Академгородке, находится один из центров исследований и разработок компании Parallels. Многие из освоивших технологии виртуализации студентов, вероятно, будут им востребованы.

Благодаря средствам, полученным по гранту, в НГУ созданы современные серверные центры, где будут сконцентрированы основные вычислительные ресурсы, которые пока еще распределены по всей территории университета. «Нам важно было сэкономить как рабочее время администраторов, так и место в серверной комнате, — поясняет заведующий лабораторией НГУ-Рarallels Дмитрий Иртегов. — Держать для размещения сайта каждой кафедры по отдельному мощному серверу нерационально».

В НГУ пошли по пути контейнерной виртуализации, она позволяет запускать на одном физическом сервере множество виртуальных, что очень актуально для учебного процесса. Контейнерная виртуализация обеспечивает работу в одной ОС (Windows, Linux, Solaris) нескольких виртуальных сессий, которые друг друга «не видят». Их изоляция идет не на уровне перехвата обращения к аппаратуре, как в технологии гипервизора, а на уровне операционной системы.

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

Есть у контейнерной виртуализации, в отличие от аппаратной, и недостаток: все виртуальные машины вынуждены работать под управлением одной и той же версии ОС. Это не позволяет, например, запустить Linux и Windows на одной машине.

Развертывание центра

Идея продвижения контейнерной виртуализации в университете принадлежала заместителю декана факультета ИТ Елене Никитиной. Университет закупил несколько терминальных классов с «тонкими» клиентами, однако вскоре выяснилось, что когда студенты со всех терминалов заходят на одну и ту же логическую машину, им нередко не хватает ресурсов, так как каждый студент, занимаясь программированием, может запустить много ресурсоемких процессов. И здесь на выручку приходят технологии контейнерной виртуализации. В НГУ для этих целей используется продукт Virtuozzo Containers компании Parallels.

«Выбирая контейнерные технологии, мы одновременно выбираем и операционную систему, под управлением которой они будут работать, — поясняет Иртегов. — Поскольку для разных проектов требуются разные ОС, мы вынуждены пользоваться решениями для всех них». Как правило, на серверах чаще установлено ПО для Linux, на клиентских машинах — для Windows. В НГУ также разработаны учебные курсы на платформе Solaris, Web-сайт факультета ИТ работает под управлением Solaris.

Специалисты Parallels провели обучение сотрудников университета, а те потом самостоятельно развернули центр контейнерной виртуализации. «Работы по установке и развертыванию серверов с контейнерами заняли всего несколько дней, — вспоминает Иртегов. Мне удавалось развернуть один сервер примерно часа за три, а на создание контейнера уходит от минуты до нескольких десятков минут в зависимости от того, что именно требуется установить в нем».

Проекты и результаты

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

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

Наиболее ярким событием стало применение данной технологии в работе IX открытой всесибирской олимпиады по программированию им. И.В. Поттосина. В Internet-туре участвовало 180 команд из ведущих вузов России и СНГ. Решения задач, которые подготовили участники олимпиады, выкладывались на сервер посредством Web-интерфейса. К этому же серверу подключаются тестирующие компьютеры, которые достают решения из очереди, компилируют их и запускают на наборах тестов. Во время олимпиады тестирование проводится на традиционных персональных компьютерах, во время очного тура в 2008 году для тестирования был задействован целый терминальный класс. Однако во время тренировок в качестве тестирующих компьютеров используются контейнеры под Windows.

Сам сайт олимпиады, база данных, обслуживание очереди решений, определение рейтинга участников — все это работало на виртуальной машине. Чтобы обеспечить вычислительные мощности для олимпиады, был задействован еще дополнительный сервер из университетского вычислительного кластера. Виртуальный сервер олимпиадной системы был перенесен на него с помощью средств миграции Parallels Virtuozzo Containers в течение нескольких минут.

Факультет ИТ НГУ сейчас имеет два сервера под управлением Linux, два — под Windows (все четыре без виртуализации), два — под Solaris, задействованные для обеспечения учебного процесса. Планируется консолидация всего этого хозяйства на двух или трех серверах, предположительно под Solaris.

На серверах Solaris также используется контейнерная виртуализация. Например, с ее помощью учебный курс «Системные вызовы и библиотеки Unix SVR4» ведется на факультете ИТ и на кафедре физико-технической информатики физического факультета. Занятия у студентов проходят в терминальном классе в институте ядерной физики СО РАН, но доступ к серверу этого класса из сети НГУ ограничен. Чтобы студенты могли делать домашние задания, на Solaris-cервере факультета ИТ им выделен контейнер с необходимым ПО.

Технологии виртуализации активно используются в учебном процессе, студенты физических и математических факультетов работают в распределенной среде c пакетом MatLAB, а студенты факультета ИТ занимаются в ней программированием. Всего в НГУ работает пять терминальных классов «тонких клиентов», в среднем по 12 мест. В НГУ имеется десятка полтора терминальных классов с традиционными ПК, также в учебном процессе используются терминальные классы, размещенные в институтах сибирского отделения РАН.

Перспективы

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

Следующим шагом могла бы стать консолидация ресурсов на базе технологий контейнерной виртуализации в масштабах университета, а впоследствии — всего Академгородка. И у факультетов НГУ, и у институтов Академгородка есть собственные вычислительные кластеры, но пока они работают автономно и вычислительные ресурсы между ними не перераспределяются. Факультетские кластеры используются в учебном процессе, на них работают студенты. Понятно, что давать студентам доступ в общий кластер Академгородка с их учебными программами неразумно, необходимо разграничить и перераспределить доступ к кластерам.

«Вполне реально поставить Virtuozzo Containers на факультетские кластеры внутри университета и создавать на них контейнеры, один из которых принадлежит факультетскому кластеру, другой — кластеру Академгородка, — делится своими идеями Иртегов. — Затем посредством скриптов или Web-интерфейса можно по мере необходимости организовать передачу ресурсов физического компьютера от одного кластера другому». Это даст возможность в период, когда занятия не проводятся, передавать мощности университета кластеру Академгородка, а затем, когда они начнутся, возвращать их обратно, чтобы с ними вновь работали студенты.

Технология виртуализации в самом НГУ еще пока не стала общеуниверситетским явлением, поэтому важно провести еще большую работу по ее пропаганде.

Работы по внедрению технологий контейнерной виртуализации идут в общем русле развития информационных технологий в НГУ. Создается единое виртуальное учебное пространство университета, основу которого должны составить инструментальные порталы подготовки и доставки электронных средств обучения, серверы тестирования знаний, специализированные системы видеоконференций для дистанционного проведения лекций, библиотеки и хранилища учебных материалов. Все это предстоит объединить в единую Internet-ориентированную среду.