Юрий Кажаров,
специалист компании SoftLine по UNIX-системам
IouriK@softline.ru, kajarov@cmail.ru

UNIX и Windows - могут ли эти совершенно различные системы сосуществовать? Предвижу ответ: нет! Споры сторонников UNIX и приверженцев Microsoft Windows нескончаемы. На тему преимуществ той или другой ОС написано огромное количество статей и книг, проведено множество конференций и дебатов. Но мы не станем это обсуждать, а попытаемся объединить в рамках статьи все лучшее из этих систем, что можно использовать в современных корпоративных информационных решениях.

За те 10 с лишним лет, что автор имеет дело с ИТ, приходилось работать практически со всеми существующими ОС. Чтобы действительно понять все особенности операционной системы, необходимо освоить не одну-две ОС, а как можно шире охватить все направления в этой области.

Хотелось бы подчеркнуть, что я с уважением отношусь как к UNIX-, так и к Windows-системам и считают, что обе они занимают свое место в мире ИТ. Личное же мое предпочтение отдано UNIX-системам, а точнее, Sun Solaris.

Часто, решая задачи внутрикорпоративной интеграции, мне приходилось заниматься проблемами совместного использования ресурсов UNIX-серверов. Причем, как правило, это выходило далеко за рамки сетевой интеграции и превращалось в задачи использования UNIX-серверов в качестве серверов приложений и баз данных. Тут-то и начинались главные трудности, связанные с различиями UNIX- и Windows-систем: с различиями в файловых системах, GUI (graphical user interface - графический интерфейс пользователя) и т. д. На деле набор средств для решения задач совместного использования UNIX-ресурсов, имеющийся в распоряжении ИТ-специалистов, не так велик, как хотелось бы. Поэтому зачастую приходится применять все эти средства, а иногда и разрабатывать интерфейсы собственными силами.

Я бы считал нужным выделить 5 типов таких средств:

  • ftp, telnet, r-команды;
  • NFS (network file system) - сетевая файловая система;
  • сервер/клиент SAMBA, Solaris PC NetLink;
  • службы терминалов и эмуляция X-Window для PC;
  • средства, разработанные непосредственно для решения конкретных задач.

Сюда можно было бы добавить еще один тип средств: так называемые виртуальные машины (http://vmware.com), но, на мой взгляд, они, как и эмуляция Windows API с помощью WINE (http://www.winehq.com), относятся несколько к другой области и заслуживают отдельного рассмотрения.

Из приведенных выше типов наиболее известны и чаще всего используются первые два. В эпоху Интернета невозможно найти специалиста, ни разу не имевшего дело со службами ftp и telnet. Что же касается NFS, то разработанная Sun Microsystems сетевая файловая система - это самая распространенная служба при интеграции сетевых файловых ресурсов. Основное ее достоинство - сглаживание различий между платформами и предоставление доступа к выделенным ресурсам серверов. Следует отметить, что и средства первого типа, и NFS непременно будут присутствовать в арсенале ИТ-специалиста, занимающегося интеграцией разнородных систем.

SAMBA

Огромную роль в интеграции UNIX- и Windows-систем играет SAMBA. Столь экзотическое название было дано системе одним из ее создателей, по сути дела, случайно. Подбирая комбинацию из ключевых букв S, M и B, Эндрю Триджелл (Andrew Tridgell) остановил свой выбор именно на этом сочетании. Напомню: SMB (server massage block) - это протокол, используемый в большинстве ОС (Windows, OS/2, UNIX) для организации клиент-серверной структуры сети. Он осуществляет следующие функции:

  • аутентификацию входа клиентов в домен Windows;
  • обзор сетевых ресурсов домена (Network Neighborhood Browsing);
  • обеспечение работы WINS (Windows Internet Name Server);
  • выделение сетевых файловых ресурсов;
  • выделение сетевых ресурсов печати.

SAMBA, используя протокол SMB, позволяет Windows-системам взаимодействовать, составляя как бы единую Windows-ориентированную систему (рис. 1). Но такая эмуляция выходит за рамки просто обеспечения совместного доступа к выделенным сетевым ресурсам. Сегодня сервер SAMBA может выступать в качестве контроллера NT-домена, что позволяет экономить значительные средства, которые пошли бы на приобретение сервера Windows NT и сопутствующих клиентских лицензий.

Fig.1
Рис. 1. Функциональная блок-схема работы SAMBA-системы.

То, что SAMBA - это по сути эмулятор Windows-ресурсов, совершенно не означает, что, как любой эмулятор, она уступает в производительности оригинальной системе. Проведенные тесты дают совершенно неожиданные результаты. По данным Джона Кирша (John Kirch, http://www.unix-vs-nt.org), сервер SAMBA при 32 клиентских сессиях оказался в 2,5 раза производительнее NT-системы. Не так давно автору пришлось заниматься внедрением сетевой модификации "1С:Предприятия" версии 7.7. В качестве эксперимента вся база программы была помещена на UNIX-сервере, и выигрыш в производительности составил 15-20% по сравнению с Windows 2000 Server (в качестве UNIX-системы выступала Sun Solaris 8 с SAMBA). Оба сервера, Solaris и Windows 2000, были установлены на идентичных устройствах (AMD Athlon 700 МГц, 256 Мбайт ОЗУ, жесткий диск Quantum FireBall 10 Гбайт, сетевая карта 3Com 905-TX). На рабочих станциях использовалась ОС Windows 98.

Как показывает практика, при работе на одинаковом оборудовании UNIX-системы обеспечивают более высокую производительность, чем Windows. Включение серверных служб (DNS, DHCP, FTP, WWW, IMAP/POP/SMTP, PROXY, SAMBA) заметно замедляет производительность Windows-сервера, в то время как в UNIX-системах эти службы включены уже при установке системы и не вызывают заметного снижения быстродействия системы. Например, время загрузки известного в UNIX-среде Proxy-сервера SQUID на сервере у автора составило примерно 5-7 с, при этом загружалось около 20 тыс. кэш-объектов.

Вернемся к SAMBA-серверу. Конечно, не все так замечательно, как хотелось бы. Все дело в том, что, к большому сожалению, SAMBA не работает с Windows 2000 Domain Controller - "не понимает" Active Directory. Кроме того, она не поддерживает SAM-репликацию в Windows NT 4.0 и управление пользовательскими ресурсами из User Manager for Domains.

Подведем итог: SAMBA позволяет Windows-клиентам использовать ресурсы UNIX-серверов, обеспечивая при этом высокую производительность и существенную экономию средств компании.

Solaris PC NetLink

SAMBA - не единственный продукт, позволяющий эмулировать работу Windows-сервера. Solaris PC NetLink от компании Sun Microsystems (http://www.sun.com/interoperability/netlink/), основанный на AT&T Advanced Server for Unix, предоставляет NT-подобный сервис, включающий:

  • полное соответствие с Windows NT 4.0 Server Directory (PDC/BDC);
  • защиту и аутентификацию (SAM/SID);
  • NetBIOS и WINS;
  • Network-браузер;
  • файловые системы и серверы печати (NTFS);
  • поддержку Service Pack.

Fig.2
Рис. 2. Solaris PC NetLink.

Нужно отметить, что в данном продукте отсутствуют недостатки, присущие SAMBA-серверу. Solaris PC NetLink поддерживает все основные клиентские Windows-системы, включая Windows NT 4.0, Windows 95/98, Windows 2000. Однако и здесь не все гладко. Solaris PC NetLink выпускается только для платформы SPARC, и пользователям х86-систем остается рассчитывать только на SAMBA.

Службы терминалов и эмуляция X-Window

Итак, мы подошли к рассмотрению четвертого типа средств интеграции - служб терминалов и эмуляции X-Window. К службам терминалов можно в определенном смысле отнести и некоторые ресурсы из группы первого типа. Действительно, для подключения к UNIX-серверу используются уже знакомые нам telnet, rexec, rsh и т. д. Однако существует важная особенность, которая позволяет выделить службу терминалов в отдельную группу. В отличие от символьно-ориентированных служб первого типа, службы терминалов с эмуляцией X-Window позволяют выполнять графические приложения UNIX-серверов, тем самым предоставляя пользователям РС богатый арсенал средств UNIX-систем. Запущенное таким образом приложение работает непосредственно на UNIX-сервере, а клиенту передаются только ресурсы системы X-Window (окна, меню, кнопки, сообщения и т. д.)

Современный рынок X-терминалов очень обширен, поэтому выделим только несколько самых серьезных продуктов:

Все эти продукты имеют свои преимущества и недостатки, и все они заслуживают отдельного описания. Но в данной статье мы подробно обсудим только продукт Reflection v9.0 от WRQ.

Компания WRQ мало известна в России. Основанная в 1981 г., она специализируется на разработке решений, позволяющих оптимизировать доступ и интеграцию информационных потоков на корпоративном уровне. Ее продукты популярны по всему миру, среди более 8 млн ее пользователей - крупные финансовые структуры, производственные корпорации и системы здравоохранения. В 2000 г. WRQ заняла 15-е место в рейтинге компаний - производителей ПО SoftLetter 100 (http://www.softletter.com/sl100.html).

Приведем решающие факторы, под влиянием которых автор и его коллеги в компании SoftLine (http://www.softline.ru) остановили свой выбор на Reflection 9.0 из ряда однотипных продуктов.

Во-первых, при разработке продуктов семейства WRQ Reflection максимально учитывались все особенности и преимущества среды Windows 2000. Именно поэтому Reflection 9.0 - единственный из эмуляторов терминалов, получивший от Microsoft сертификат Certified for Windows 2000.

Во-вторых, Reflection 9.0 - это широкий спектр функциональных модулей, входящих в состав семейства WRQ Reflection.

WRQ Reflection X. Эмулятор Х-Window, позволяющий Windows-клиентам подключаться и запускать приложения из систем UNIX, OpenVMS, Unisys и Linux (рис. 3).

Fig.3
Рис. 3. CDE-терминал и браузер Netscape запущены c Windows-станции на сервере под управлением Sun Solaris 8.

WRQ Reflection для UNIX и Digital. Рассчитан на использование совместно с большими ЭВМ; в отличие от предыдущего продукта, предоставляет доступ к символьно-ориентированным приложениям.

WRQ Reflection для IBM. Предназначен для работы с мэйнфреймами IBM и хостами AS/400.

WRQ Reflection для Интернета. Осуществляет подключение к хост-системам с помощью Web-браузера. Используется для организации доступа к данным и прикладным программам на больших ЭВМ через Интернет (рис. 5). Разработанный на основе технологий JAVA, WRQ, продукт исполняется практически в любом браузере, что обеспечивает доступ к унаследованным приложениям из самых разнообразных операционных систем и рабочих станций.

WRQ Reflection NFS Connection. Осуществляет доступ к службам NFS (файловым системам, серверам печати).

В-третьих, в Reflection интегрированы средства разработки Visual Basic for Applications 6.0, что предоставляет мощные средства программирования для решения конкретных производственных задач.

Перечислять возможности продуктов семейства WRQ Reflection можно еще долго. Наиболее существенные из них представлены в таблице. Упомянем здесь еще некоторые.

Основные характеристики продуктов семейства WRQ Reflection

  Reflection Suite для X Reflection X Reflection для UNIX и Digital Reflection NFS Connection
Состав (модули) Reflection X, Reflection для UNIX и Digital, Reflection FTP-клиент, Reflection NFS Reflection X, Reflection для UNIX и Digital, Reflection FTP-клиент Reflection для UNIX и Digital, Reflection FTP-клиент Reflection NFS
Типы соединений PC X Server, VT, ANSI, Wyse, NFS, ADDS, TN3270E, Unisys T27, TCP/IP-апплеты, FTP-клиент PC X Server, VT, ANSI, Wyse, ADDS, FTP-клиент VT, ANSI, Wyse, ADDS, Unisys T27, FTP-клиент NFS-клиент, TCP/IP-апплеты, FTP-клиент, нет эмуляции
Программная совместимость Microsoft VBA 6.0, API для NFS и Sun rpc Microsoft VBA 6.0 Microsoft VBA 6.0 API для NFS и Sun rpc
Дополнительные возможности TCP/IP-утилиты, NFS-администратор, UNIX r-команды, Интеграция с браузером Интеграция с браузером Интеграция с браузером TCP/IP-утилиты, NFS-администратор, UNIX r-команды

Очень удобно организован механизм добавления Х-шрифтов и конфигурирование РС Х-сервера (рис. 4). Большое значение уделено вопросам безопасности. Продукты Reflection поддерживают Kerberos 5, работают с VPN и SOCKS v.4, v.5 Proxy-серверами.

Fig.4
Рис. 4. Конфигурирование основных параметров работы PC X-терминала.

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