ОБЗОР

Solaris 8 Operating Environment обладает важными для компаний возможностями, но ее ждет жестокая борьба с другими ОС

Влад Боркус

Наступивший год грозит фирме Sun Microsystems серьезными испытаниями, связанными с выходом 64-разрядного процессора корпорации Intel и ряда новых операционных систем.

На фронте Web-серверов и серверов для корпоративных систем малой и средней мощности Sun Solaris уже сейчас подвергается сильному конкурентному давлению со стороны Linux, FreeBSD, Microsoft Windows NT и Novell NetWare 5.x.

Linux и Windows NT теснят Solaris за счет более низких цен на оборудование и ПО, хотя в целом это давление уравновешивается качеством техники Sun и некоторыми преимуществами самой Solaris в области устойчивости и масштабируемости. Скажем, благодаря поддержке 64-разрядных вычислений Solaris 7 работала с 32 Гб ОЗУ даже на 32-разрядных системах Intel, в то время как Windows NT и Linux не могли использовать и 4 Гб.

На рынке же крупных систем Solaris конкурирует с продуктами HP-UX компании Hewlett-Packard и AIX корпорации Microsoft. Здесь у Sun лишь небольшое превосходство в цене техники: сама ОС до настоящего момента не была столь масштабируема и надежна, как HP-UX и AIX. К примеру, она не имела собственной журналируемой файловой системы.

В ближайшем будущем атака на Sun только усилится. О намерении выпускать продукты на базе новой серверной технологии Intel IA-64 заявили практически все крупные производители оборудования, а это значит, что потребители получат в свое распоряжение серверные Интернет-платформы, по техническим характеристикам соизмеримые с высокопроизводительными системами Sun, но, вероятно, более дешевые.

С программной стороны надежность этих систем будет поддерживаться как новыми ОС - Monterey/64 (совместный проект фирм IBM и Santa Cruz Operations) и Trilian/64 (64-разрядная версия Linux, см. http://www.linuxia64.org; в начале февраля на сайте http://www.kernel.org были опубликованы ее исходные тексты), так и старыми соперниками Solaris - HP-UX и AIX.

Более того, Hewlett-Packard, к примеру, прилагает большие усилия, чтобы сделать свою систему более конкурентоспособной на Интернет-рынке, в частности за счет улучшения средств управления ею. На рынок высокопроизводительных и высоконадежных систем (т. е. туда, где до сих пор безраздельно властвовали Unix-системы и мэйнфреймы) пытается пробиться и корпорация Microsoft с новой ОС Windows 2000 Datacenter Edition, также обладающей повышенной стабильностью и масштабируемостью.

Стремясь нейтрализовать эти процессы, Sun Microsystems анонсировала в конце января новую версию своей операционной системы - Solaris 8 Operating Environment. Фирма позиционирует ее как ОС для “организации хранилищ данных для Интернет”, утверждая, что она позволит сделать Web-серверы и системы ASP столь же надежными и производительными, как мэйнфреймы. Примерно в тех же красках обрисовывает свой продукт и Hewlett-Packard.

Для Solaris 8 главное новшество - новая схема ее распространения. Sun собирается сделать Solaris “бесплатной” для серверов с числом ЦП меньше восьми и открыть доступ всем желающим к ее исходному коду. На самом деле слово “бесплатно” здесь не совсем корректно, но об этом речь пойдет в конце статьи, а сейчас давайте рассмотрим ее технологические новшества.

Снижение простоев

Первое, что даст внедрение Solaris 8 компаниям, - уменьшение простоев оборудования при его обслуживании. Для этого введен ряд новых функций, хотя и следует сказать, что большинство из них уже имелось в других “серьезных” Unix, таких, как HP-UX.

Например, технология Hot Patch (в чем-то похожая на Dynamically Loadable Kernel Modules в HP-UX) позволяет устанавливать “заплаты” для приложений и ядра ОС, не перезагружая ни приложения, ни ОС.

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

Простои сервера, связанные с его администрированием, снижает также функция динамического реконфигурирования (Dynamic Reconfiguration, DR). Она позволяет подключать и отключать устройства, в том числе критические части компьютера (процессор, ОЗУ, сетевую плату, жесткий диск), на “лету”. При перезагрузке сбойные устройства автоматически переводятся в автономное состояние. Эта возможность уже имелась в Solaris 7, и теперь она просто распространена на SCSI-устройства.

Близким родственником DR является менеджер автоматической реконфигурации (Automated Dynamic Reconfiguration, он же Reconfiguration Coordination Manager). Он позволяет задавать сценарии поведения ОС и работающих под ее управлением приложений при возникновении нештатных ситуаций. Например, систему можно запрограммировать так, что при перегреве одного из процессоров он будет отключен, а нагрузка перераспределится на другие ЦП. В других Unix такая возможность также встречается, например, в HP-UX 11 эти функции выполняют Dynamic Memory Resilience, Dynamic Processor Resilience, Event Monitoring Service и т. п.

Solaris наконец-то обзавелась и средствами журналирования файловых систем UFS (UNIX File System) и NFS. Журналирование годами поддерживалась в AIX, HP-UX и даже Windows NT, но в базовой поставке Solaris появилось только сейчас. Данные теперь записываются в виде транзакций: сначала в журнал событий, а затем уже в файл. В результате ситуаций, когда в файл записаны сбойные данные, не возникает. Соответственно отпадает нужда и в утилите проверки разделов fsck.

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

Кластеры

ПО кластеризации - первое, что приходит в голову, когда речь заходит о надежности. Вместе с Solaris 8 OE будет поставляться обновленная версия службы кластеризации Sun Cluster (SC) 2.2, которая интегрируется с ядром ОС и обеспечивает защиту системы от сбоев и увеличение скорости доступа к ресурсам. Ранее она входила в состав Solaris Enterprise Server.

Узлом кластера в Solaris может быть как отдельный сервер, так и домен внутри сервера (скажем, типа E10000). Всего в кластер входит до 256 процессоров. Добавление и удаление узлов производится в режиме реального времени, а для управления этими функциями и их мониторинга можно использовать браузерный Java-инструментарий.

Под SC работают любые приложения, однако наилучшие результаты достигаются, если программа взаимодействует с этой службой через специальный API высокой степени доступности (high-availability, HA). Агентами SC являются различные файловые системы, подсистемы хранения, базы данных, системы управления предприятиями, документами, сетями, почтовые и Web-серверы и т. п. (см. http://www.sun.com/software/solaris/ds/ds-cluster/).

Кластерное решение Sun Cluster гарантирует высокую степень

доступности и масштабируемости системных служб

Конкуренты Solaris 8 - Windows 2000 и Novell NetWare - поддерживают кластеры, содержащие не более двух узлов (Windows 2000 DE будет поддерживать до четырех узлов, но она еще не выпущена). К тому же NetWare плохо поддерживает системы с числом процессоров больше одного, а Windows 2000 - системы с количеством ЦП больше восьми (Windows 2000 DE будет поддерживать 32 ЦП). С другой стороны, Solaris несколько уступает по масштабируемости HP-UX и AIX.

Стоит отметить и то, что Microsoft не разделяет подхода Sun, ориентированного на создание мощных многопроцессорных систем “в одной коробке”, утверждая, что они слишком дороги и не очень гибки. Она противопоставляет ей технологию балансировки нагрузки между машинами. Windows NT 4 и Windows 2000 позволяют создавать так называемые “виртуальные” кластеры из большого числа машин (до 32), объединенных одной сетью. Выделенный сервер перераспределяет между ними поступающие (скажем, по протоколу HTTP) запросы, и каждый компьютер обрабатывает только свои.

Управление доступом к ресурсам

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

Первый из них, Solaris Resource Manager (SRM; http://www.sun.com/software/solaris/ds/ds-srm/), - это средство, с помощью которого можно задавать уровень качества определенных пользователей, групп или приложений - иначе говоря, долю системных ресурсов (ЦП, виртуальной памяти, число системных процессов, количество заходов в систему, время соединения), предоставляемых в их распоряжение. Эти ресурсы перераспределяются автоматически в зависимости от общей загруженности системы.

Другой инструмент, Solaris Bandwidth Manager 1.6 (SBM; http://www.sun.com/software/solaris/ds/ds-bandwidth/), позволяет задавать приоритеты входящему и исходящему трафику в зависимости от типа приложения, сетевого протокола (TCP или UDP), IP-адреса источника или получателя данных, пользовательской группы или типа сервиса.

Оба пакета обеспечивают также сбор статистики об использовании ресурсов. Стоит заметить, что их более ранние версии входили в Solaris Enterprise Server (администраторы HP-UX могут пользоваться программой Process Resource Manager, аналогичной SRM). В ближайшее время Sun собирается их интегрировать.

Безопасность

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

Эти вопросы в Solaris 8 решаются при помощи протокола аутентификации Kerberos v5 (ПО Sun Enterprise Authentication Mechanism), инфраструктуры открытых ключей (ее обеспечивает Netscape Certificate Management Server) и смарт-карт. Аутентификация по смарт-карте производится, например, при входе в систему через графическую оболочку CDE (пользователь должен вставить смарт-карту и ввести логин и пароль). Аналогичные возможности предоставляют и HP-UX, и Windows 2000.

Для повышения защищенности системы были введены специальные средства, которые позволяют разграничивать полномочия, обычно принадлежащие суперпользователю. Эти полномочия теперь “делятся” и могут быть делегированы другим пользователям на основе ролей. Можно, скажем, назначить администратора отдельной части или функции ОС. Эта функция также имелась в других Unix, например в HP-UX. Создатели Solaris наверстали некогда упущенное.

Сетевые ресурсы

На стыке проблем безопасности и сетевых вопросов находится протокол шифрования сетевого трафика (IPSec), необходимый для организации виртуальных частных сетей. Его поддерживают все новые сетевые ОС, и Solaris не стала здесь исключением, но пока только для IP версии 4. Что же касается IPv6, то его поддержка реализована в основных службах Solaris 8 (DNS, NIS, NIS+ и т.п.). Linux и HP-UX обеспечивают работу по IPv6 (в том или ином виде) уже довольно давно.

Кроме того, в Solaris 8 были добавлены брандмауэр, средства для работы с протоколом DHCP (динамическое конфигурирование хоста), “родная” поддержка протокола доступа к сетевым каталогам LDAP, Mobile IP - proxy-технология для мобильных пользователей. Ряд сетевых служб, таких, как DNS и NIS+, Sendmail, драйвер LLC2 для работы с сетами NetBIOS, SAN и др., были модернизированы.

Администрирование

Наиболее значимым изменением в области администрирования является включение в комплект поставки Solaris 8 службы каталогов iPlanet Directory Server. Вообще говоря, не включать в ОС службу каталогов становится неприличным - Windows 2000, NetWare, HP-UX ее имеют, и даже в Linux она скоро появится (Caldera Systems работает над переносом Novell Directory Services).

В ОС введена также поддержка новой технологии WBEM группы Distributed Management Task Force (DMTF), служащая для управления ресурсами в гетерогенных сетях.

WBEM опирается на общую информационную модель (Common Information Model, CIM), язык XML и протокол HTTP и совместима с существующими протоколами: Simple Network Management Protocol (SNMP), Desktop Management Interface (DMI) и Common Management Information Protocol (CMIP). Благодаря этому для удаленного управления Solaris-системами можно использовать инструменты третьих фирм, и наоборот, при помощи инструментов Solaris можно управлять сторонними ресурсами (подробнее об этом см. http://www.sun.com/software/solaris/ds/ds-wbem).

Среди других изменений - несколько улучшенные процедуры установки ОС (WebStart и JumpStart), а также размещение в свободном доступе на сайте Sun комплекта Solaris 8 Admin Pack, в который включен ряд важных инструментов администрирования.

Прочие изменения

Sun провела некоторую работу, чтобы сделать свою ОС более производительной. С этой целью изменено ядро, системные библиотеки, файловая система, Java-машина, введен Solaris Network Cache Accelerator (SNCA) - ПО кэширования трафика, позволяющее ускорить работу Web-сервера.

Согласно официальным документам корпорации, ускоритель Java HotSpot позволил увеличить скорость работы Java-приложений на той же технике на 1400%; она линейно растет с увеличением числа ЦП. Некоторые другие усовершенствования позволяют ускорить работу СУБД (скажем, Oracle 8) на 40%, а Web-серверов - четырехкратно. Независимых подтверждений этих фактов (в отличие от Windows 2000 и NetWare 5) пока нет.

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

В Solaris 8 введены поддержка накопителей Jazz, Zip, DVD. На них можно будет применять файловую систему UFS, а на оптических носителях - файловую систему UDF, ставшую уже новым отраслевым стандартом.

Улучшена графическая оболочка CDE, появилась возможность доступа к X-приложениям через браузер и поддержка новых кодировок. В частности, теперь имеются локаль ANSI1251 (Windows-кодировка) и средства преобразования документов в различные кодировки.

В поставку Solaris введено несколько новых приложений - офисный комплект StarOffice, пакет iPlanet Webtop, Web-серверы iPlanet и Apache для Web-разработки, поддержка языка Perl 5, а также лицензии для разработчика на Netscape Application Server, СУБД Oracle 8i Enterprise Edition и инструмент Oracle Migration Workbench SQL Server.

Готовность

Следует иметь в виду и то, что Solaris 8 OE пока не готова: ее распространение начнется 5 марта, а исходные коды можно будет получить спустя еще два месяца. Многие из объявленных возможностей на первых порах также будут отсутствовать. Sun обещает включать их в ОС в течение этого года, регулярно выпуская пакеты обновления.

Из тех документов, что разместила на своем сайте Sun, неясно, можно ли будет переписать ОС с Web-узла Sun. Цена комплекта поставки Solaris 8 OE на компакт-дисках составляет не $0 (как подразумевает понятие бесплатности), а $75. Официально это трактуется как оплата носителей и лицензий на включенное в систему ПО третьих фирм. Sun также признала, что будет взимать плату за добавления к Solaris, например за новую версию кластерного ПО New Moon 3.0.

Однако напомним, что самый простой вариант Solaris 7 стоил $695. А цена в $75 уже соизмерима с той, которую запрашивают за дистрибутивы Linux, и существенно ниже стоимости лицензии на HP-UX, Windows 2000, AIX и т. п. К тому же, купив комплект один раз, Solaris можно будет вполне легально развернуть на любом числе компьютеров. Значение открытия исходных кодов ОС также трудно переоценить, хотя оно и сопровождается массой ограничений.