Юрий Хныкин,
Сергей Розенфельд,
Андрей Куликов
Опыт использования ОС Linux в ЛВС и МТК
От редакции
Нас иногда упрекают в том, что мы воспринимаем жизнь компьютерного рынка России через призму московского благополучия. А в регионах, говорят нам, все по-другому: иные возможности, критерии, устремления. Не исключено. Но мы абсолютно уверены в том, что в любом регионе найдутся проекты по ИТ, о которых стоит рассказать.
Сегодня мы представляем команду ижевских разработчиков из фирмы ИТК, специализирующуюся на Unix-системах.
В 1997 г. специалистами ИТК установлено 20 рабочих комплексов на базе Linux. Все комплексы работают в автоматическом режиме, некоторые круглосуточно. По мнению разработчиков, Unix позволяет не только значительно повысить производительность систем, но и существенно сэкономить средства и нервы.
Отечественные предприятия, использующие в своих ЛВС классическую файл-серверную архитектуру Novell NetWare, Ethernet или xBase-программы, рано или поздно сталкиваются с необходимостью ее модернизации. Объясняется это многими причинами, говорить о которых не является целью настоящей статьи. Но медленная работа компьютеров, объединенных в локальную сеть, в какой-то момент становится реальной помехой в производительности труда бухгалтеров, менеджеров, экономистов. При этом руководители предприятий вплотную сталкиваются с задачей инвестирования средств в модернизацию сети.
К сожалению, в большинстве случаев “законы жанра” и “ненавязчивая” реклама различных “дилеров от лидеров” предлагают самый простой и не всегда оправданный способ модернизации замену оборудования. Самый дешевый вариант замена файлового сервера на более мощный, самый дорогой полное обновление всего парка персональных компьютеров и кабельной системы, а в некоторых случаях и установка нового программного обеспечения, ориентированного на модные технологии. При этом замена сервера даже на самый мощный Pentium не дает почти никаких результатов, а модернизация всей сети приводит в лучшем случае не более чем к двукратному приросту производительности, что ничтожно мало, если учесть понесенные затраты. Замену же ПО можно сравнить разве что с землетрясением.
Для предприятий, использующих компьютеры на базе процессоров 286486 (а таких еще очень много), такая модернизация равносильна полному списанию старого оборудования и монтажу/запуску нового. Большинству небольших предприятий такие затраты чаще всего не под силу, так как могут составлять суммы свыше нескольких сотен тысяч долл. Ну а крупным предприятиям? Им тоже несладко десятки серверов, сотни устаревших машин, куча еле шевелящихся АРМов (но при этом приносящих некоторою пользу, а иногда и незаменимых). Ситуацию усугубляет недостаточность на рынке ПО локализованных полнофункциональных корпоративных систем автоматизации “всего и вся”, их заоблачная цена, малое количество специалистов по внедрению и запуску сложных информационных систем.
И кто в данной ситуации не мечтает получить “отсрочку платежа” до лучших времен? Или просто выиграть время для выбора, изучения, запуска новой системы учета? Между тем существует способ повысить производительность сети в пять и даже более раз при незначительных финансовых и интеллектуальных вложениях. Но прежде чем говорить о том, как этого достичь, нужно иметь представление о том...
...как работают существующие сети
Так как же работают эти сети? Поразительно бестолково. По отношению к клиентским машинам файловый сервер ведет себя как классический бюрократ. Клиенты выстраиваются в очередь к “окошку бюрократа” за данными, хранящимися на его диске, и получают их со скоростью в лучшем случае 800 Кб в секунду. При этом любой из них может запросто отправить остальных на “перекур”, просто попросив достаточно большой объем данных. Клиентская же машина большую часть времени занята ожиданием ввода или данных с сервера, для чего особой производительности не требуется. Получается, что сеть загружена до предела, клиентские машины практически простаивают, и в то же время ощущается нехватка ресурсов. Сам собой напрашивается вопрос: а нельзя ли заставить вычислительную сеть перераспределять ресурсы в соответствии с потребностями пользователей?
Вперед к прошлому?
Решение заключается в том, чтобы не гонять по сети мегабайты данных, а обрабатывать их в той же машине, где они располагаются. Скорость доступа к данным в этом случае возрастает до скорости накопителей этой машины, а при использовании интерфейса SCSI файловые операции будут выполняться без перерыва в вычислениях. Кроме этого при частом обращении к одной и той же информации данные будут выдаваться из общей кэш-памяти, что существенно увеличит производительность системы. Рабочее место пользователя в этом случае станет простым терминалом, а по сети будут передаваться только изменения картинки на его мониторе и информация о нажатых им клавишах. Высокоскоростной сети для этого не требуется.
В недалеком прошлом “большие ЭВМ” так и работали. Современные ПК уже давно обогнали ЕС ЭВМ по своим возможностям, и решение применить на них операционную систему, позволяющую одновременно работать нескольким пользователям, не является новым. Такие системы можно разделить на три типа:
1. Системы, специально разработанные для многопользовательского выполнения DOS-программ и предоставляющие удаленный доступ. К ним относятся: DOS7, VirtuOS, VM/386, DosLine и некоторые другие.
2. Модные системы от фирм Microsoft и IBM.
3. Немодные системы семейства Unix.
Все они имеют свои недостатки. Системы первого типа изначально создавались как DOS-системы, поэтому использовать их для других задач проблематично. Из систем второго типа можно говорить только об OS/2 и Windows NT, но при их использовании накладные расходы на эмуляцию DOS-машины непомерно высоки. Кроме этого они слишком много ресурсов выделяют для “оконно-мышиного” интерфейса. В Windows NT 4.x, например, достаточно взять мышкой какое-нибудь окно и таскать его по экрану, чтобы больше никто ничего не смог сделать.
Теперь о системах третьего типа. С появлением ПК не могла не возникнуть идея перенести Unix на “персоналки” и посмотреть, что из этого получится. В результате на них сейчас работают BSD, Solaris, SCO, AIX, FreeBSD, Linux и некоторые другие виды Unix. Это системы, изначально ориентированные на многопользовательскую работу; в них используется опыт, накопленный за десятилетия (!) эксплуатации, они не зависают, и им не страшны никакие вирусы. Многие из них имеют в своем составе средства для выполнения DOS-программ, но тут проблема в том, что эти системы принципиально другие и обеспечить высокую совместимость с DOS-машиной довольно сложно. К тому же практически ни одна из систем не обеспечивает правильную работу с клавиатурой в режиме удаленного доступа.
После практической эксплуатации различных вариантов специалисты Ижевской “инженерно-Технической Компании” (ИТК) остановили свой выбор на Unix-системах, потому что это действительно открытые системы, позволяющие “изменять себя”. Конкретно Linux и ее DosEmu.
Что из этого получилось?
Работать с чужими исходными текстами программ часто бывает довольно сложно (а дополнять и переделывать пришлось много), но результат принес нам творческое удовлетворение, а наши клиенты решили свои проблемы. Доработка включала в себя небольшое изменение ядра операционной системы, переделку некоторых системных утилит, дополнение клиентской оболочки KA9Q новыми возможностями и разработку эмулятора терминала для Windows 95.
Доработанная система была испытана на сети из 13 станций (386486 машины) с файловым сервером NetWare 4.1 (Р133/ 32M). Собственно модернизация заключалась в установке на сервер новой ОС и переделке загрузки клиентских машин (в т. ч. бездисковых).
Три часа работы -и все!!!
Говорить о росте производительности всего комплекса нужно в разрезе конкретных задач. Так, например, такой “ревматизм” xBase СУБД, как переиндексация баз, стал вылечиваться в пять раз быстрее, а требовать лечения в несколько раз реже. Время на открытие файла с установленным фильтром уменьшилось тоже в пять раз. По другим показателям был получен не менее чем трехкратный рост производительности.
Фактически результат можно представить как предоставление каждому пользователю мощности локального P90 вместо сетевого 386-го. Замена сервера на P166MMX/64M дала выигрыш в производительности еще в два раза.
Учитывая, что Linux, DosEmu и KA9Q распространяются бесплатно, клиентам пришлось только оплатить стоимость работ по установке и настройке программного обеспечения. Нетрудно подсчитать, во что бы обошлась модернизация сети при доведении ее параметров до полученных результатов методом замены оборудования.
Использование Linux оказалось экономически выгодным и для малых комплексов. Многотерминальный комплекс (МТК) для небольшого предприятия, состоящий из центрального P133/16M и двух алфавитно-цифровых терминалов (всего три рабочих места), обойдется в ту же сумму, что и два полноценных персональных компьютера и сетевое оборудование для них (без учета стоимости сетевого ПО). Опыт использования одноранговых сетей в таких комплексах показал их полную непригодность из-за низких надежности и производительности.
Основные преимущества использования Linux
- С любого клиентского места можно запускать несколько программ и переключаться между ними.
- Можно подключить как рабочее место алфавитно-цифровой терминал или любую “персоналку”, от ХТ до Pentium-II (в том числе бездисковую), которая, кстати, сможет использоваться как сервер печати или архивный сервер.
- В качестве клиентской ОС может быть использована любая система: DOS, Windows 3.11/95/NT, OS/2, Unix.
- Встроенные средства работы с почтой и Internet, удаленный доступ (специалисты предприятия могут работать с информационной системой, в том числе с DOS-приложениями, со своего домашнего компьютера или удаленных филиалов).
- Высокая надежность хранения и защиты информации.
- Возможность автоматического запуска любых задач в любое время.
- Возможность использования центральной машины как файлового сервера.
- Легкая интегрируемость с существующими сетями, построенными на основе других сетевых ОС.
- Тысячи бесплатных программ для Linux, распространяемых на CD и через Internet.
- Правда, нужно отметить, что работа в таких комплексах возможна только в текстовом режиме.
- Увеличение производительности вычислительного комплекса осуществляется путем замены или модернизации только центральной машины.
- На сервере можно полноценно работать, в том числе играть в любимые (DOS’овские!) графические игрушки.
- Все программное обеспечение бесплатное.
- Графический интерфейс X Window System, набор программ, функционально не уступающий классическому набору MS-Office.
С авторами статьи можно связаться по адресу: uri@itk.udmurtia.su.