Так говорил один мой знакомый, отвечающий за информационную систему одного... ну, скажем, одной большой организации. И попал в самую точку – похоже, мысль, давно витавшая в воздухе, начинает воплощаться в реальность: «А не вспомнить ли старый опыт больших вычислительных центров, и не применить ли его в наше насквозь сетевое время? Неужели эксплуатацию современных систем нельзя организовать, как раньше? Неужели нельзя от повсеместного хаоса перейти к порядку? Хорошо бы все же построить Настоящий Вычислительный Центр!»
Наш опыт построения больших информационных систем (а наша компания занимается этим уже более 8 лет) говорит о том, что проблемы повышения надежности, управляемости современных информационных систем можно и нужно решать именно путем изменения взгляда на информационную систему, именно путем применения к ней подходов, которые так хорошо работали в Вычислительных Центрах десять-двадцать лет назад.
Иначе говоря, решения задач надежности, эффективности, управляемости лежат скорее не в технической области, а в идеологической, организационной. Вопрос не в том, серверы какого производителя вы будете применять, а в том, как система будет спроектирована и будет эксплуатироваться.
В чем же заключается «подход Вычислительного Центра»?
На наш взгляд, важнейшими являются три составляющих:
- Архитектура. Стратегические вопросы построения системы: централизация или децентрализация, функциональная специализация серверов, обеспечение надежности и резервирования, сетевые магистрали ВЦ, архитектура приложений, стратегия управления.
- Проектирование и эксплуатация. Проектирование и документирование системы, правила и процедуры эксплуатации, организационные вопросы обеспечения высокой готовности, сервисная поддержка, мониторинг и оптимизация производительности, профилактические работы.
- Персонал. Должностные инструкции, штатные расписания, повышение квалификации, поддержка пользователей, служебная дисциплина.
Рассмотрим их подробнее.
1. Архитектура
1.1. Централизация
Все прекрасно помнят бум персональных компьютеров, этот «глоток свободы», эту эйфорию освобождения от «Большого Брата», от правил и дисциплин, диктуемых Вычислительным Центром. Теперь у меня есть свой компьютер, я на нем делаю, что хочу. Да и по производительности он не хуже мэйнфрейма.
Но: больше свободы – больше ответственности. Сам следи за своими файлами, программами, устройствами. Будь сам себе администратором, оператором, сервисным инженером. Получается, что к Вашей основной работе (которой и без того хватает!) незаметно добавились обязанности системного администратора, сервисного инженера, а то и программиста вашего собственного компьютера. Компьютеры становятся сложнее, их поведение все более загадочно и непредсказуемо. Времени на основную работу остается все меньше и меньше...
Уже хочется обратно, под крыло отдела автоматизации, хочется, чтобы файлы не терялись, а система всегда работала. Хочется перестать бороться с компьютером и заниматься своим делом.
Выход – в централизации. Прежде всего это централизация управления.
Технические средства централизации управления подробно описаны в разделе «Эксплуатация». Во многих случаях ресурсы вычислительного центра тоже целесообразно централизовать, это существенно облегчает управление ими. И, наконец, важно провести организационную централизацию, подчинив выполнение всех критических информационных задач руководству вычислительного центра.
1.2. Специализация
Опыт построения больших информационных систем показал, что специализация серверов по функциональному признаку дает ощутимый выигрыш в производительности, удобстве администрирования и обслуживания таких конфигураций.
1.2.1. Файловый сервер
Самым очевидным решением является выделение файлового сервера. Он снабжается мощной дисковой подсистемой со скоростными интерфейсами, большим объемом памяти для кэширования запросов, высокопроизводительными сетевыми соединениями. Кроме этого, на нем производятся соответствующие настройки операционной системы и устанавливается специальное ПО, позволяющее значительно повысить производительность и управляемость файловой системы (такое, как Veritas Volume Manager и Veritas File System). Файловый сервер должен предоставлять свои услуги различным клиентам, поэтому его программное обеспечение поддерживает протоколы NFS, IPX/SPX, SMB, AppleShare. Важно отметить, что пользователи будут получать доступ к своим файлам независимо от того, с какой клиентской платформы они в данный момент работают. Этим же централизованным файловым сервером пользуются и прикладные системы, и системы хранения конфигураций, и другие подсистемы вычислительного центра.
1.2.2. Сервер баз данных
Сервер баз данных тоже все чаще переносится на отдельную машину и предоставляет унифицированный SQL-интерфейс прикладным системам. Такое решение позволяет полностью настроить сервер на выполнение конкретной задачи обработки реляционных баз данных. Более того, очевидно, что эти настройки заметно отличаются для системы обработки транзакций и для аналитической системы, поэтому эти серверы также устанавливаются на отдельных машинах. Для серверов баз данных также имеется специальное ПО, позволяющее оптимизировать их работу, повысить производительность и надежность (Veritas Database Edition).
Выделение сервера баз данных (как, впрочем, и других специализированных серверов) повышает модульность системы; фактически, ваши прикладные системы «знают» только о том, что они обращаются к серверу баз данных Oracle с определенным именем. Таким образом, администратор имеет возможность наращивать, модифицировать или даже заменять этот сервер, независимо от остальной системы. При необходимости повышения производительности сервера баз данных наращивается именно этот компьютер, и администратор может быть уверен в том, что добавленные ресурсы не будут «съедены» каким-то другим приложением.
1.2.3. Web-сервер
Это еще один тип сервера с ярко выраженным «характером». Его основная обязанность – быть своего рода «коммутатором запросов» к файловой системе (которая у нас хранится на выделенном файловом сервере), приложениям и базам данных (тоже специализированные серверы). В силу своих функциональных обязанностей Web-сервер не несет большой нагрузки на файловую систему, но должен быть в состоянии обработать большое число достаточно коротких сетевых запросов. Он должен иметь хорошие сетевые соединения как с клиентской сетью, так и с серверами вычислительного центра (для них, как правило, организуется выделенный серверный сегмент сети).
Нет необходимости здесь перечислять все возможные специализации серверов, среди них серверы каталогов, почтовые серверы, серверы систем доступа и многие другие. Хочется еще раз подчеркнуть важнейшее значение такого подхода, прежде всего, для облегчения администрирования и эксплуатации информационной системы.
1.3. Тонкие клиенты
Что может сравниться с пользователями информационной системы по количеству хлопот и головных болей, доставляемых администратору системы? И любить их не получается, и избавиться от них нельзя – без пользователей информационная система никому не нужна. Что делать?
Опять вспомним старый добрый вычислительный центр. Правила, расписания, дисциплины. Не это ли залог надежного функционирования всей системы? Да, это не всегда удобно конечному пользователю, но, возможно, если ему объяснить, что от соблюдения этих правил зависит работа системы, он будет относиться к ним с большим пониманием? Именно так советуют поступать люди, на практике внедрявшие подходы вычислительного центра в распределенной Unix-среде в компании Sun Microsystems (см. [1]).
Одним из способов реализации этих правил и дисциплин может быть применение технологии «тонких клиентов». Это могут быть Х-терминалы (так уже более 6 лет работает компания «Инфосистемы Джет»), сильно «ограниченные в правах» персональные компьютеры, полностью управляемые из центра (как в описанной выше финансовой компании), Windows-терминалы, или, наконец, тонкие клиенты фирмы Sun Microsystems, недавно выпущенные на рынок и носящие название Sun Ray. Все эти устройства объединяет одно: они могут полностью управляться из вычислительного центра. Именно это, на наш взгляд, (а вовсе не слабая производительность или ограниченные ресурсы) является «родовым признаком» тонкого клиента.
Еще одной тенденцией развития технологии тонких клиентов является перенесение все большего объема вычислений на сервер. Х-терминалы и «урезанные» персоналки выполняют достаточно много работы локально; с одной стороны, это разгружает сервер, но в случае сбоя на клиентском устройстве вся несохраненная информация пропадает. Более того, в открытых файлах, с которыми проводилась работа, может быть нарушена целостность, и будут потеряны не только последние изменения, но и весь файл. В случае же использования продукта Sun Ray ему передаются лишь функции отображения информации, тогда как все приложения работают на сервере (включая средства формирования изображений). Даже если происходит сбой на устройстве, в локальной сети или в сети питания, все приложения полностью сохраняют свой статус, и после устранения сбоя пользователь увидит на экране точно такую же картинку, что была перед сбоем (с теми же приложениями, открытыми окнами и т.п.).
Устройство Sun Ray обладает еще одной важной особенностью, отличающей его от других тонких клиентов. Оно имеет встроенное средство авторизации пользователей с помощью смарт-карты. Пользователь, вставив карту в Sun Ray, получает доступ к системе, начинает работу с ней. В любой момент пользователь может просто вытащить карту из устройства (оно при этом заблокируется), перейти к другому такому же устройству, вставить в него свою карту и... увидеть точно ту же картину, что и на своем рабочем месте! Только представьте, какие возможности при этом открываются, какой уровень безопасности обеспечивается! Кто-то остроумно подметил недавно, что, по-видимому, у терминалов 3270 была очень хорошая карма, и поэтому мы еще не раз будем видеть их «реинкарнации». Очевидно, что Sun Ray – одна из них.
2. Проектирование
Большая часть сетей, находящихся в эксплуатации сегодня, вырастала постепенно, поэтапно, часто без предварительного проектирования, а по возникновению потребности или (что чаще) по появлению средств на дальнейшее развитие. Не будем критиковать такой подход, он был продиктован внешними обстоятельствами, и, по-видимому, иначе было нельзя. Но при построении настоящего вычислительного центра невозможно обойтись без тщательного предварительного планирования и проектирования, предусматривающего обеспечение надежности, безопасности, необходимой производительности, интеграцию с существующим оборудованием, возможности дальнейшего развития системы на 5-7 лет.
2.1. Документирование
К сожалению, редко удается «начать жизнь с чистого листа». Информационная система уже существует, и ее нужно эксплуатировать, развивать, модернизировать. Огромную помощь персоналу ВЦ в этом случае оказывает аккуратная, полная, актуальная документация на существующую систему. Документация, в которой отражена текущая конфигурация, ведется журнал сделанных изменений, описаны основные процессы и подсистемы (как работает почтовая система, какие правила заложены в систему контроля доступа, как распределены сетевые принтеры по помещениям и т.п.).
Не стоит откладывать документирование вычислительного центра «на потом» – эта работа трудная и кропотливая, но она окупит себя.
3. Эксплуатация и управление
3.1. Технические средства управления
3.1.1. Управление доступом
Системы управления доступом должны удовлетворять современным требованиям удобства использования. Во-первых, пользователь должен быть избавлен от многократной идентификации/аутентификации. Во-вторых, с развитием сетевой модели вычислений возникает необходимость предоставлять доступ к системным сервисам извне: из удаленных филиалов организации, с мобильных компьютеров, из Интернет.
Системы управления доступом позволяют иметь единый каталог пользователей информационной системы, который проводит аутентификацию (проверку подлинности пользователя – тот ли он, за кого себя выдает) и авторизацию (выделение пользователю того набора прав доступа, который ему полагается в соответствии с политикой безопасности организации). Важная особенность такой системы – централизация доступа (единая точка входа и контроля для всех пользователей) и централизация каталога прав доступа к ресурсам. Только при выполнении этих условий можно быть уверенным, что никто не сможет получить несанкционированный доступ к информационной системе. Администратор системы всегда будет иметь информацию о том, кто, когда и в каком объеме пользовался ресурсами системы. С другой стороны, пользователи системы будут избавлены от необходимости «входить» в различные подсистемы, серверы и приложения, этот доступ станет для них прозрачным.
3.1.2. Управление устройствами
На сегодняшний день накоплен достаточный опыт управления различным оборудованием информационных систем: от принтеров до маршрутизаторов. Однако до сих пор одной из главных головных болей администраторов систем остается управление рабочими местами пользователями, теми компьютерами, которые стоят у них на столах.
Решение этой проблемы – в централизованном хранении конфигураций персональных компьютеров и значительном ограничении прав пользователей по внесению изменений в эти конфигурации. Идеальным решением в такой ситуации является применение так называемых «тонких клиентов» (о них речь ниже), но это возможно и при использовании обычных рабочих станций под управлением Windows NT. Системы, в которых конфигурации персональных компьютеров хранятся и загружаются централизованно, уже доказали свои преимущества. Так, в одной из крупных финансовых компаний (являющейся клиентом «Инфосистемы Джет») реализована схема, при которой замена вышедшего из строя компьютера происходит в течение 15 минут; это обеспечивается тем фактом, что никакие данные и профили конфигураций не хранятся на локальных компьютерах, а загружаются из центра. Пользователь (а чаще всего это такой пользователь, время простоя которого обходится компании очень дорого) готов продолжить работу через четверть часа после произошедшего сбоя. Добавим, что в случае использования «тонких клиентов» это время может быть сокращено до одной-двух минут.
3.1.3. Управление данными
Самое ценное в наших системах – это информация. Рабочие файлы пользователей, документы, таблицы, базы данных, графика, системные журналы. Компания должна быть уверена в том, что эта информация будет сохранена при любых отказах отдельных устройств, ошибках персонала и стихийных бедствиях. Централизация управления данными – единственный надежный способ обеспечить такую уверенность.
Никакие важные для компании данные не хранятся вне зоны контроля (на локальных дисках, на дискетах, на файловых серверах, не входящих в состав вычислительного центра). Дисковые системы хранения данных построены по схеме с зеркалированием и дисками горячей замены. В вычислительном центре работает автоматизированная система резервного копирования, выполняющая эту процедуру не реже, чем раз в сутки. Не реже, чем раз в неделю, производится полное резервное копирование всех данных системы целиком. Как минимум одна полная резервная копия всех данных системы хранится вне центрального офиса компании, с тем, чтобы избежать уничтожения в случае стихийного бедствия (пожар в офисе, теракт и т.п.). Проводится регулярный аудит системы хранения данных на предмет доступности, целостности, конфиденциальности информации.
3.1.4. Управление ресурсами
Доступность сервисов системы складывается из доступности данных и доступности ресурсов системы (вычислительных, сетевых, внешних устройств и т.п.). Поэтому администратор должен иметь возможность контроля и управления распределением этих ресурсов.
Загруженность процессоров, сетевых интерфейсов, использование дискового пространства, доступность принтеров – все это показатели, позволяющие не только оценивать текущее «здоровье» системы, но и прогнозировать рост потребностей в будущем.
Из опыта эксплуатации «больших машин» мы помним прекрасную возможность создания логических разделов для отдельных задач, выделения приоритетов и фиксированного количества системных ресурсов пользователям и заданиям. До недавнего времени такие возможности в среде Unix-систем были весьма ограничены. С появлением «крупнокалиберного» сервера Sun Enterprise 10000 стало возможным создание динамических доменов внутри одного сервера с физическим разделением ресурсов вплоть до запуска отдельных копий операционной системы Solaris на отдельных доменах. Кроме того, эти домены могут динамически переконфигурироваться в соответствии с изменяющимися потребностями. Так, например, могут быть выделены домены для обработки транзакций и для аналитики. В период текущей работы большая часть процессорной мощности отдается «транзакционному» домену, а в период подготовки отчетов (конец года или квартала) несколько процессоров и блоков оперативной памяти могут быть перемещены в «аналитический» домен. Подчеркнем, все это происходит на ходу, без остановки работы системы.
Другое средство управления ресурсами – Sun Resource Manager. Эта система позволяет выделить отдельным пользователям, группам, классам задач фиксированное количество системных ресурсов (процессов, памяти, процессорного времени) с тем, чтобы гарантировать решение определенных задач за заданное время. Такая функция доступна уже на всем семействе серверов Sun Enterprise.
Такой же централизованный подход применяется и в остальных областях управления: управление пользователями, управление приложениями, обеспечение информационной безопасности и других. Каждая заслуживает отдельной статьи.
3.2. Процессы и процедуры
Можно ли представить себе вычислительный центр, в котором не были бы разработаны инструкции для всевозможных операций, не производилось бы резервное копирование, не был бы обеспечен круглосуточный режим работы? Между тем, в современных стихийно развивающихся локальных сетях такое наблюдается сплошь и рядом. И управление системой (то, с чем на ВЦ справлялись девочки-операторы) становится задачей для гуру, так как только он знает те магические заклинания, которые требуются для выполнения даже простейших операций.
Решение – в описании и документировании процессов и процедур вычислительного центра с тем, чтобы поддержание нормального функционирования ВЦ перестало быть искусством, а стало обычной повседневной работой. Большую часть рутинных операций можно автоматизировать, некоторые возможно возложить на начинающих системных администраторов, оставив время начальнику ВЦ заниматься тем, чем он должен заниматься – планировать дальнейшее развитие системы с целью повышения ее надежности и эффективности.
3.3. Персонал
Невозможно обойти «человеческий фактор» при разговоре об эксплуатации информационных систем. Штатные расписания, должностные инструкции, периодическое повышение квалификации – весь этот опыт у нас есть, его только надо применить в современных условиях.
К персоналу вычислительного центра предъявляются противоречивые требования. С одной стороны, это должны быть люди технически грамотные, постоянно повышающие свою квалификацию, находящиеся в курсе всех последних технологических новинок. С другой стороны, к системе, находящейся в промышленной эксплуатации, должен применяться в высшей степени консервативный подход, всякие новшества, эксперименты и даже «учебные тревоги» создают серьезную угрозу главным качествам вычислительного центра: надежности, безопасности, доступности.
Как быть? Жестко разделить (разнести на разные серверы, на разные сегменты сети) средства, находящиеся в промышленной эксплуатации, и системы, предназначенные для тестирования. Выработать и соблюдать процедуры внесения изменений в систему (в компании «Инфосистемы Джет» подготовка к переходу на новую версию ОС Solaris заняла 2 месяца). Проводить плановое обучение сотрудников как на собственном тестовом оборудовании, так и на специализированных курсах. Давать возможность сотрудникам развиваться самостоятельно, проявлять себя, иначе повседневная рутина приводит к тому, что самые квалифицированные говорят: «Скучно!» и начинают искать другое место работы.
3.4. Техническая поддержка
Наконец, вычислительный центр построен, оборудование работает, персонал обучен, производители гарантируют замену неисправного оборудования. Нужна ли еще техническая поддержка? Часто приходится слышать мнение: «Мы не можем довериться сторонней компании в смысле технической поддержки наших систем, мы не должны быть «зависимы» от кого-то в процессе эксплуатации. Мы обучим наших собственных специалистов и они будут разбираться в системе не хуже ваших сервисных инженеров.»
К сожалению, это не так. Подготовка, набор знаний и опыта инженера, занимающегося повседневной эксплуатацией системы, и сервисного инженера, призванного устранять неисправности, различаются кардинально. Сервисный инженер нацелен на разрешение проблем, быстрое устранение сбоев. Вся его жизнь состоит из сплошных неисправностей в самых различных системах (именно поэтому от них так часто можно услышать: «это оборудование никуда не годится, эта операционная система вся состоит из ошибок...»). Но именно за счет этого он обладает таким багажом опыта, который невозможно приобрести, эксплуатируя одну систему. Больше систем, больше неисправностей – больше опыта.
Инженер, эксплуатирующий систему, напротив, заинтересован в том, чтобы жизнь протекала как можно более гладко и без сбоев. Его заботы в том, чтобы система работала все более надежно и эффективно, он больше занят профилактикой и развитием, чем оперативным устранением неисправностей.
Опыт нашего Сервисного Центра показал, что наилучшие результаты достигаются тогда, когда каждый занимается своим делом.
4. Заключение
В короткой статье невозможно подробно рассмотреть все технологии современного ВЦ, мы дали лишь общий взгляд на проблему. Каждая из затронутых областей более полно освещена в литературе, список которой приведен ниже. Возможно, не все взгляды, высказанные в этой статье, совпадают с вашими, некоторые, напротив, найдут самый горячий отклик. Нам будет интересно узнать ваше мнение о проблемах построения Настоящего Вычислительного Центра, мы будем признательны за любые высказывания, обмен опытом, советы и пожелания.
5. Литература
1. Kern H., Johnson R. Managing the New Enterprise. The Proof, Not the Hype. – SunSoft Press, 1996.
2. ПапинМ.Техническоеобслуживаниесовременных информационных систем: проблемы и подходы. – JetInfo, 1999, 6. http://www.jetinfo.com/1999/6/2/article2.6.1999.html
3. Столяров М., Трифаленков И. На пути к управляемым информационным системам. – JetInfo, 1999, http://www.jetinfo.com/1999/3/1/article1.3.1999.html
4. Анни П., Черняк Л. Интеллектуальная сеть хране-
ния данных. – JetInfo, 1998, 4. http://www.jetinfo.com/1998/4/1/article1.4.1998.html
5. Радучел У. Открытые сетевые решения 1990-х годов. – JetInfo, 1996, 8. http://www.jetinfo. com/1996/8/1/article1.8.1996.html
Программа Genesys: современная организация серверных комплексов
Продолжается качественное и количественное изменение задач, решаемых информационными системами предприятий. Задача «поставить компьютер на каждое рабочее место» гдето уже решена, а где-то будет решена в обозримом будущем. На первый план выдвигается задача повышения эффективности использования информации. Эта задача подразумевает создание такой структуры информационной системы, которая обеспечит надежное хранение, быструю обработку и своевременное предоставление клиентам необходимой информации в удобной для них форме.
Фундаментальной составляющей подобной структуры являются серверные комплексы. Можно говорить о двух крайних вариантах реализации серверных комплексов – полностью централизованном и децентрализованном. Пример полностью децентрализованного варианта – это система, построенная с использованием только персональных компьютеров, в которой информация хранится на локальных дисках, обрабатывается на той же машине, на которой хранится, при этом управление и обслуживание осуществляются непосредственно владельцами этих машин. Примером другого варианта может служить классический вычислительный центр.
Развитие сетевых технологий повлияло на структуру серверных комплексов двояким образом. С одной стороны, оно стало источником чрезвычайно жестких требований к доступности предоставляемых информационных сервисов, к способности эволюционировать, к производительности, информационной безопасности и т.п. С другой стороны, сетевые технологии позволяют по-новому реализовать серверный комплекс, организуя «сетевой вычислительный центр», сочетающий упорядоченность и стабильность традиционных ВЦ с гибкостью, расширяемостью сетевых конфигураций.
В данной статье речь пойдет о современном подходе к организации серверных комплексов, предложенном компанией Sun Microsystems в рамках программы Genesys [1]. В статьях [2-4] можно найти дополнительную информацию об особенностях аппаратуры серверов, о современных способах организации хранения данных и об управлении информационными системами.
2. Отправные точки программы Genesys
Около года назад компания Sun Microsystems предложила программу Genesys, которая определяет архитектуру, продукты, методологию и сервисы, необходимые для создания среды выполнения множества приложений на комплексе серверов. Сейчас это один из элементов программы datacenter.com, предусматривающей разработку стратегии создания платформы «нового сетевого вычислительного центра».
Использование понятия «сетевой вычислительный центр» говорит о том, что современные серверные комплексы развиваются в направлении, подразумевающем сочетание доступности и динамичности современных сетевых вычислений с предсказуемостью и управляемостью традиционных вычислительных центров. Это неизбежный процесс. Компания Sun считает, что ее подход в рамках программы datacenter.com позволит осуществить такой переход быстрее и надежнее.
Программа datacenter.com имеет три основных элемента:
- Уровень доступа, который определяет то, как конечные пользователи будут взаимодействовать с разрабатываемой средой;
- Уровень приложений и промежуточного слоя, включающий приложения, с которыми взаимодействуют пользователи;
- Платформа вычислительного центра, которая включает всю инфраструктуру (аппаратное и системное программное обеспечение).
Именно этот элемент определяется программой Genesys. С каждым из этих элементов связаны свои продукты, процессы, персонал (то есть уровень и программы подготовки персонала, планы реализации, процедуры, основные аппаратные и программные технологии и т.д.).
3. Цели программы Genesys
Потребность в сетевом вычислительном центре появляется при создании распределенного предприятия. Начало было положено несколько лет назад, когда организации начали подключать отделения к единой сети и использовать приложения, позволявшие воспользоваться такой интеграцией (будь это более тесная координация продаж и производства или ускорение сбора информации, необходимой для поддержки принятия решений).
В настоящее время эти связи внутри компаний продолжают развиваться и, в то же время, корпоративные сети выходят за пределы компаний. Это происходит потому, что поставщикам нужна оперативная информация о потребностях их клиентов, для того, чтобы планировать свои действия. Покупателям нужна информация о продуктах, возможность произвести заказ и обратиться в сервисную службу при помощи web-ориентированных программ. Доступ к корпоративным сетям нужен и тем партнерам, которым приходится координировать свои планы с планами вашей компании.
Наметилось стремление ряда компаний обеспечить такой уровень доступа к информации, который Sun называет A4 (access to information by Anyone, from Anywhere, at Any time, on and to Anything), что означает доступ к информации для всех, отовсюду, в любое время.
Этот подход контрастирует с традиционным, при котором количество и размещение пользователей заранее известны и редко меняются. При этом практически известно и то, когда пользователь будет обращаться к системе, какие транзакции и в каком количестве им будут генерироваться.
Потребность в поддержке работы распределенных предприятий и обеспечении уровня A4 для доступа к информации, заставляют искать решения, позволяющие совмещать свойства Интернета и обычного вычислительного центра. Необходимо отметить, что понятие «вычислительный центр» не ограничивается местоположением или сооружением, оно включает дисциплины, процессы и процедуры, направленные на достижение максимальной доступности и предсказуемости приложений.
Современные вычислительные центры стремятся:
- Обеспечить максимальный уровень сервиса. Понятие уровень сервиса включает доступность и предсказуемость сервиса. Понятие предсказуемость относится к производительности (пропускная способность и время реакции) и к таким понятиям как целостность данных, безопасность и т.д.
- Управлять стоимостью обслуживания, что в данном контексте означает стоимость работы инфраструктуры информационной системы, которая в свою очередь является частью общей цены владения.
- Достичь простоты использования. Сложность рабочей среды повышает сложность и стоимость управления ею, а также снижает предсказуемость и надежность приложений и систем.
- Минимизировать риски при разработке и размещении продуктов. При этом основное внимание обращается на непрерывность и защиту инвестиций.
Для достижения таких характеристик необходимы не только первоклассные продукты, но и отработанные процедуры их использования и подготовленный, опытный персонал. В упоминавшихся программах этим вопросам уделяется особое внимание.
Одной из причин, позволявшей корпоративным вычислительным центрам обеспечивать предсказуемость результатов, было то, что предсказуемыми были обращения к системе. Был известен список пользователей, их рабочее время, действия, которые им разрешено выполнять, расположение их рабочего места и используемое на нем оборудование. Повсеместное распространение сети Интернет и внедрение электронной коммерции изменили ситуацию, сделав нагрузку на систему практически непредсказуемой.
Таким образом, можно говорить о том, что мы стремимся сделать предсказуемыми результаты работы системы при непредсказуемых воздействиях на нее. Решению этой проблемы посвящена программа datacenter.com, а программа Genesys посвящена созданию соответствующей платформы.
4. Вопросы, решаемые в программе Genesys
Обеспечение предсказуемости результата работы усложняется, когда инфраструктура становится распределенной и в том случае если система ориентируется на работу в сети Интернет. При этом информационная система не может перестраиваться с нуля, а должна использовать приложения, системы, инфраструктуру и персонал, в которые уже вложены инвестиции. И, конечно, при этом надо учитывать ограниченность средств, выделяемых на развитие системы.
Одновременно с работой существующей инфраструктуры приходится устанавливать новые приложения и новое оборудование, внедрять новые процедуры и бороться с внешними проблемами, такими как «Проблема 2000».
По мере создания сетевого вычислительного центра, придется учитывать, что:
- Новая инфраструктура не должна требовать изменения приложений (ни способа разработки, ни способа использования). При этом естественно изменение приложений может потребоваться для обеспечения обслуживания большего количества пользователей или для приобретения новых возможностей.
- Современные информационные системы обычно являются гетерогенными и, следовательно, новая платформа должна уметь работать с существующим оборудованием.
Подводя итог, можно сформулировать основные требования к сетевому вычислительному центру. Он должен обеспечивать:
- Доступность;
- Масштабируемость;
- Разделение ресурсов;
- Централизацию и простоту управления;
- Простоту использования;
- Гибкость.
Доступность и масштабируемость влияют на уровень сервиса, разделение ресурсов, централизация управления и простота использования – на стоимость сервиса. Гибкость влияет и на уровень сервиса и на его стоимость.
4.1. Доступность
Современные приложения, рассчитанные на работу в сети Интернет, по определению должны быть доступны 52 недели в году, 7 дней в неделю, 24 часа в день. Традиционные ночные часы или время отпусков не имеют значения. Если потенциальный покупатель не может получить доступ к системе, независимо от того, не работает ли система или слишком велико время реакции, скорее всего он сделает покупку у вашего конкурента. Если эта ситуация повторится более одного раза, скорее всего вы потеряете своего покупателя. Обратите внимание, что требуется не только доступность на уровне приложений, но и производительность. Покупателя не будет интересовать причина недоступности приложения, будь то медленный сервер, низкая пропускная способность сети или подсистемы хранения данных. Поэтому при разработке информационной системы, все эти элементы должны рассматриваться комплексно.
4.2. Масштабируемость
Как было отмечено выше, необходимо учитывать возможность и непредсказуемость появления значительных пиков нагрузки. Неожиданный интерес большого количества пользователей может серьезно нагрузить сайт вашего предприятия. Постоянно внедряются новые приложения и бывает трудно предсказать какие из них и как быстро будут развиваться.
Системы должны выдерживать такие пики нагрузки и динамически масштабироваться при увеличении запросов. Существует потребность как в проактивной, так и в реактивной масштабируемости. Под проактивным масштабированием подразумевается ситуация, когда рост нагрузки можно предусмотреть и создать избыточность ресурсов сервера. Реактивная масштабируемость требуется тогда, когда дополнительная нагрузка возникает неожиданно.
4.3. Разделение ресурсов
В современных системах сетевые ресурсы обычно являются интегрированными, действующими как единое целое, но системные ресурсы и подсистемы хранения данных разобщены. Конкретное приложение работает на конкретной системе и каждая система имеет собственную подсистему хранения данных (см. рис. 1).
Такое использование одной системы для одного приложения считалось допустимым из-за относительно низкой стоимости ресурсов. За долго до этого компьютеры класса mainframe приобрели способность разделять ресурсы так, что стало возможным запускать несколько приложений на одной системе. Современные системы во все большей степени стремятся к разделению ресурсов как внутри системы, так и между системами.
Старая инфраструктура, в которой один сервер использовался для работы одного приложения имеет очень низкий уровень использования ресурсов. Причиной таких низких уровней, значения которых находятся обычно в диапазоне от 10% до 40%, является то, что реальные приложения имеют в своей работе пики и провалы. При этом, необходимые ресурсы сервера вычисляются простым увеличением на 10-20% того, что требовалось для работы при известном наибольшем пике нагрузки. Это может привести к двум проблемам:
- Ресурсы системы никогда не будут использоваться полностью, что отразится на стоимости сервиса;
- Система не сможет обработать нагрузку большую, чем ожидаемый пик, что снизит уровень сервиса.
С этой ситуацией мирились какое-то время, но она особенно нежелательна на распределенном предприятии из-за непредсказуемости потребности в доступе.
4.4. Централизованное и упрощенное управление
Старая архитектура создает проблемы с управлением, поскольку в ней каждая система – это самостоятельный объект, который требует индивидуального управления. И чем больше таких объектов, тем труднее ими управлять.
Элемент непредсказуемости, в свою очередь, также увеличивает потребность в эффективном управлении системами и приложениями. Информационная система требует единой системы управления, которая позволяет интегрировать новые системы и приложения. Персонал, привыкший к такой системе, сравнительно легко обучается управлению новыми системами.
4.5. Простота использования
Масштабирование старой архитектуры делает систему слишком сложной и неуклюжей. Интеграция ресурсов позволяет сделать систему более понятной и управляемой по мере изменения требований к ней, более простой в использовании.
4.6. Гибкость
Старая архитектура оказалась слишком негибкой, чтобы приспособиться к потребностям нового сетевого вычислительного центра. Когда неожиданное изменение нагрузки на приложение происходит на сервере, имеющем старую архитектуру, обычно нет средств для того, чтобы увеличить ресурсы, доступные этому приложению. Если какая-то из подсистем старого сервера выйдет из строя, скорее всего у вас не будет средств, которые бы позволили восстановить его работоспособность без прерывания работы системы. Если необходимо использовать новые приложения, то придется добавлять новые серверы. Поэтому новая архитектура должна соответствовать изменчивости новой сетевой среды и быть гибкой.
5. Программа Genesys как решение
Архитектура, предлагаемая в рамках программы Genesys, позволяет решить перечисленные выше проблемы. В ее основе три идеи: интеграция физической инфраструктуры, обеспечение лучших возможностей по разделению ресурсов, упрощенное и централизованное администрирование.
5.1. Интеграция физической инфраструктуры
Одним из ключевых элементов программы Genesys является разработка новой физической инфраструктуры, необходимой для работы серверных приложений. Речь в данном случае идет как собственно о серверах, так и о средствах хранения информации и о интерфейсах, необходимых для работы в сети (см. рис. 2). Целью интеграции является стремление добиться большей производительности, доступности и масштабируемости всей инфраструктуры в целом. Кроме того это позволяет облегчить проактивное масштабирование и упрощает использование системы.
Опишем основные строительные блоки интегрированной инфраструктуры.
5.1.1. Операционная система Solaris и симметричная многопроцессорная архитектура
Физическая инфраструктура, создаваемая в рамках программы Genesys, по-прежнему основывается на операционной системе Solaris и симметричной многопроцессорной архитектуре, что обеспечивает преемственность, защиту инвестиций, предсказуемость, легкость настройки системы и приложений.
Использование операционной системы Solaris позволяет не изменять приложения и при этом обеспечить единый пользовательский интерфейс.
Симметричная многопроцессорная архитектура обеспечивает легкую настройку и масштабирование системы.
5.1.2. Динамические системные домены
Динамические системные домены – это средство отделения приложений от физической инфраструктуры. При этом приложения работают на виртуальных серверах, называемых системными доменами. В домене работает операционная система Solaris, обеспечивающая работу нескольких приложений. Каждый домен имеет несколько процессоров, память и средства ввода/вывода.
Поскольку домены рассматриваются как основной объект управления в рамках программы Genesys, можно считать серверные системы основанными на доменах. Системы, имеющие одну системную плату, например, сервер Enterprise 250, могут рассматриваться как один статический домен. Системы, имеющие несколько системных плат, как семейство серверов Enterprise 3500-6500, тоже могут иметь только один домен, но этот домен может динамически изменяться. При помощи механизма Dynamic Reconfiguration можно изменять размер домена без остановки приложений или системы.
Несколько системных доменов на одном физическом сервере сегодня возможны только при использовании сервера Sun Enterprise 10000. Домены на этом сервере являются динамическими, т.е. можно изменять размер каждого из них (без остановки приложений или системы) и таким образом менять ресурсы, доступные каждому из работающих на сервере приложений. Это существенно повышает доступность системы и приложений.
5.1.3. Системные сети и сети хранения данных
Целью в данном случае является создание пула системных ресурсов, который затем может распределяться между работающими приложениями. Традиционно это относится к таким ресурсам как процессоры, память, подсистема ввода/вывода, соединяемым высокоскоростными линиями связи. В настоящее время стало возможным создание «системной сети», использующей высокоэффективные линии связи и объединяющие системные ресурсы в единый пул.
Аналогичный результат может быть достигнут для подсистемы хранения данных при использовании технологии FC-AL, связывающей вместе устройства хранения. Таким образом создается «сеть хранения данных». Объединение «системной сети» и «сети хранения данных» позволяет объединить физический сервер и подсистему хранения данных, что дает доступ каждому системному домену к любому устройству хранения.
5.1.4. Проект Full Moon
Естественно, что организации физического соединения недостаточно. Для обеспечения доступа к распределенным ресурсам необходима логическая связь сервера с подсистемой хранения данных. Создание такой связи – одна из целей проекта Full Moon. Но главными целями Full Moon являются создание единой файловой системы кластера, единой консоли управления и возможность присвоения единого имени для кластерной конфигурации.
5.1.5. Динамическая реконфигурация
Технология динамической реконфигурации позволяет изменять размеры созданного пула системных ресурсов без остановки работы системы или приложений. Это увеличивает доступность системы, исключая одну из причин плановых остановок системы.
5.2. Разделение ресурсов и управление ими
Как отмечалось выше, существует необходимость обеспечения работы приложений на едином наборе ресурсов и управления распределением этих ресурсов между приложениями (см. рис. 3). В программе Genesys предлагаются два основных пути достижения этой цели.
5.2.1. Внутри одного домена
Во многих случаях может оказаться предпочтительным запуск нескольких приложений в одном системном домене. Это уменьшает количество работающих копий операционной системы Solaris, которыми нужно управлять. При этом потребуется сбалансировать рабочую нагрузку и управлять распределением ресурсов между приложениями для обеспечения корректного и предсказуемого их поведения. Управление должно быть активным, поскольку одно приложение может забрать все основные ресурсы, оставив другие приложения на голодном пайке независимо от их важности.
Управлять распределением ресурсов в одном системном домене позволяет продукт Solaris Resource Manager. Кроме этого для увеличения доступных ресурсов может быть использована динамическая реконфигурация.
5.2.2. Между доменами
Иногда бывает выгодно изолировать отдельные приложения или группы приложений. Такое решение позволяет снижать риск при работе критически важных приложений на том же сервере, на котором работают другие приложения, в том числе те, стабильность работы которых заранее не известна. Это бывает полезно при тестировании новых версий продуктов. В этом случае также требуется сбалансировать нагрузку, создаваемую доменами.
Из продаваемых сегодня машин только сервер Enterprise 10000 обладает такими возможностями. Домены, создаваемые на этом сервере, являются динамическими и могут быть увеличены или уменьшены по мере того, как меняются потребности приложения.
5.2.3. Пропускная способность
Приложения, работающие в системном домене, должны иметь доступ к сетевым ресурсам и подсистеме хранения данных. Пропускная способность этих соединений обычно является фиксированной и ограниченной. Поэтому требуется средство контроля и управления пропускной способностью канала, выделяемого приложению, пользователю или системе. Появление продукта Bandwidth Allocator можно рассматривать как первый шаг к контролю над пропускной способностью. В настоящий момент он может контролировать выходящий трафик системного домена.
Возможности управления ресурсами, о которых говорилось выше, использовались ранее только на машинах класса mainframe.
5.3. Централизованное и упрощенное системное администрирование
По мере роста информационной системы ее инфраструктура неизбежно усложняется. Усилия, затрачиваемые на управление ресурсами, растут быстрее, чем сами ресурсы. Поэтому в рамках программы Genesys много внимания уделяется централизации, упрощению и автоматизации управления (см. рис. 4).
Компания Sun Microsystems предлагает целый набор средств управления, основным из которых является продукт Sun Management Center (прежнее название – SyMON). Поскольку в большинстве случаев организации используют неоднородное оборудование и управляющее программное обеспечение, то продукт Sun Management Center может тремя разными способами интегрироваться в существующую среду:
- Он может интегрировать управление операционной системой, ресурсами сервера и подсистемой хранения данных;
- Он может интегрироваться в такие существующие системы управления, как CA UNICENTER TNG или Tivoli Enterprise;
- Он может интегрировать управление приложениями и базами данных, взаимодействуя с продуктами BMC Patrol и Halcyon, а также с управляющими модулями СУБД Sybase и Oracle.
Новые возможности упрощения управления появляются при объединении нескольких компьютеров в «системную сеть». Создаваемые в соответствии с проектом Full Moon продукты позволят управлять несколькими копиями ОС Solaris, работающими на узлах кластера, как единым целым. Эта возможность, а также разрабатываемая глобальная файловая система и способ организации глобальных устройств, радикально изменят природу кластера.
В настоящее время большинство систем, называемых кластерами, предназначено для повышения доступности, и в редких случаях для улучшения масштабируемости при работе отдельных приложений. Проект Full Moon предлагает новую концепцию, в рамках которой одним из побудительных мотивов к созданию кластера может стать упрощение управления системой.
Еще одна разработка компании Sun под названием Jiro касается управления подсистемой хранения данных. Она использует платформу, основанную на открытых стандартах и технологии Java, для управления хранением данных в масштабе предприятия. Эта технология получила широкую поддержку среди разработчиков прикладного программного обеспечения, производителей систем, поставщиков комплектующих и др.
Результатом использования продукта Sun Management Center, технологии Jiro, а также реализации проекта Full Moon должно стать уменьшение сложности управления, которое, в свою очередь, снизит риски и стоимость систем. Централизация управления позволит эффективнее использовать возможности высококвалифицированного персонала.
6. Заключение
Серверные комплексы – это необходимый элемент современных информационных систем. Поэтому в последнее время столько сил и средств тратится на разработку новых аппаратных и программных решений, призванных повысить эффективность и надежность работы таких комплексов, сделать более простым управление и более надежной защиту информации. Эти вложения по сути являются капитальными, а размер их для многих организаций весьма чувствителен. Чтобы получить от них максимальную отдачу, необходимо учитывать как внутренние закономерности построения серверных комплексов, так и тенденции развития внешних составляющих.
Основную идею статьи совсем коротко можно выразить следующей фразой: «Необходимо создавать сетевой вычислительный центр». Мы рассмотрели решения, предлагаемые компанией Sun Microsystems в рамках программы Genesys, которые в совокупности позволяют такой центр создать, эксплуатировать и развивать. На наш взгляд, это целостные, практичные решения, обладающие достаточным идейным потенциалом.
7. Литература
1.Genesys: Sun's Platform Vision for the Networked Data Center. – Sun Microsystems, 1999. http://www.sun.com/datacenter/docs/ 113623.pdf.
2. Шадский А. Семейство компьютеров Ultra компании Sun Microsystems. – Jet Info, 1997, 23-24.
3. Анни П., Черняк Л. Интеллектуальная сеть хранения данных. – Jet Info, 1998, 4.
4. Столяров М., Трифаленков И. На пути к управляемым информационным системам. – Jet Info, 1999, 3.