- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF106:История успеха
Материал из Linuxformat.
Все для ваших лабораторий: теперь с GNU/Linux
- В компании «Химреактивснаб» (http://www.chemical.ru) из г. Уфы работает более ста человек. На рынке химических реактив, посуды и лабораторного оборудования фирма чувствует себя вполне уверенно. Зачем, а главное как в компании происходит перевод компьютерной инфраструктуры на рельсы Linux, расскажет инженер информационно-аналитического отдела Денис Александрович Назаров.
Евгений М. Балдин (LXF): Добрый день, Денис! Прежде всего хотелось бы узнать, как вы лично «вышли» на GNU/Linux?
Денис Александрович Назаров (ДН): Здравствуйте, Евгений! Впервые о GNU/Linux я услышал примерно пять лет назад. Заинтересовался. В аккурат после этого, мой друг привез из Германии дистрибутив SUSE Linux на 5 CD. Было интересно поставить, посмотреть… Ну, собственно, это и можно назвать первым «столкновением».
LXF: В чем причина перевода компьютеров вашей компании на GNU/Linux?
ДН: Причиной, инициирующей переход компании на другую платформу, было несогласие с ценовой политикой, проводимой корпорацией Microsoft в корпоративном секторе. С учетом того, что необходимый функционал можно реализовать на свободной платформе, было принято решение миграции в сторону набирающей популярность ОС GNU/Linux.
LXF: Какой дистрибутив был выбран в качестве базового и почему?
ДН: В качестве основы для рабочих станций был выбран дистрибутив Debian, с KDE в роли окружения рабочего стола.
Debian был выбран потому, что он на 100 % свободный, и, надеемся, таким и останется. Преимуществами этого дистрибутива являются и большое количество пакетов в репозиториях, и удобный пакетный менеджер. Лично мне нравится в нем то, что при установке по умолчанию не ставится гора ненужного ПО на все случаи жизни, то есть это достаточно легкий дистрибутив, который удобно оптимизировать под нужды компании.
Ну, а касательно KDE, даже не знаю… На его месте вполне мог оказаться и GNOME или что-то полегче. Тут ведь, понимаете ли, удобство – это не определяющий фактор. Еще следует постоянно помнить о том, что пользователи переходят с ОС Windows и нужно что-либо максимально дружелюбное с их точки зрения.
LXF: Какие сложности встретились во время перехода? И самое интересное: что нужно сделать, чтобы их не было?
ДН: Проблемы, с которыми мы столкнулись в процессе миграции, можно разделить на две категории. Как несложно догадаться, это:
- проблемы с оборудованием,
- проблемы с ПО.
Что касается аппаратного обеспечения, то ситуация здесь такая, как и прежде: при выборе того или иного устройства (будь то принтер или материнская плата), вам придется учитывать, помимо технических характеристик, еще один критерий, а именно: совместимость с GNU/Linux.
Скажем, вы поступите опрометчиво, если купите в свой офис принтер, не удосужившись до этого зайти на http://www.openprinting.org в раздел баз данных драйверов и не проверить само наличие драйвера для понравившейся вам модели. Ситуация с принтерами осложняется тогда, когда возникает необходимость печатать не только из текстовых редакторов/процессоров, но и через какие-то графические программы, например, из всем известного GIMP. В этом случае уже нужны специальные драйвера из проекта Gutenprint (http://gutenprint.sourceforge.net), где есть собственная база. На данный момент, в наборе Gutenprint, можно сказать, фактически отсутствует поддержка цветной печати на лазерных принтерах. Так что, если чернобелое – не ваш выбор, придется довольствоваться «струйниками».
Аналогичная ситуация, со сканерами. Первым делом необходимо посетить проект SANE (http://www.sane-project.org) и проверить, поддерживается ли ваша модель в Linux.
Подобной стратегии следует придерживаться и со всем остальным оборудованием. Правило сбора информации об устройстве перед покупкой становится ключевым.
LXF: Расскажите подробнее о физической миграции. Если можно, по шагам. Как автоматизировать установку Linux?
ДН: Если у вас имеется парк машин с боле-менее одинаковой конфигурацией, то рациональным решением будет использование образов операционной системы. То есть на машину устанавливается ОС, все необходимые программы и драйверы, заводится тестовый пользователь, настраивается его локальный профиль (под ним я подразумеваю некоторые общие конфигурационные файлы в домашнем каталоге), затем этот эталон заносится в /etc/skel. Последний шаг нужен для унификации рабочего окружения всех пользователей. Например, можно скопировать весь каталог ~.wine с установленным Windows-ПО в /etc/skel или, скажем, файлы *.desktop с рабочего стола (в случае использования KDE). В результате, при создании нового пользователя все, что есть в /etc/skel, скопируется в его домашний каталог и, тем самым, избавит вас от рутинной работы.
Далее, с готовой системы снимается образ. Это можно сделать, без преувеличений, 1000 и 1 способом: хотите – возьмите проприетарный, но хорошо зарекомендовавший себя Acronis (http://www.acronis.ru) или же один из специализированных LiveCD, например, SystemRescueCd (http://www.sysresccd.org). Можно использовать такие базовые для каждого дистрибутива программы, как rsync, или, в конце концов, побайтно скопировать разделы через dd.
Все это работает замечательно, если машины имеют одинаковые параметры. А что делать, если есть (условно) новый парк компьютерной техники и старый? Это обстановка, наиболее приближенная к боевой. Вполне реальна ситуация, когда у вас на старых компьютерах винчестеры подключены через интерфейс PATA, а на новых – через SATA. В таком случае, при развертывании на старой машине образа, снятого с новой, придется каждый раз говорить grub'у init=/bin/sh и вручную переправлять sda на hda, но проще сделать еще один образ для старых машин, и забыть про различные интерфейсы и в целом различное оборудование. Остается только не перепутать, какой образ куда ставить (улыбается).
Для комфортной работы на старых машинах часто бывает недостаточно поставить какие-либо легкие DE или WM (IceWM, Fluxbox, Xfce и так далее). Как правило, сам оконный менеджер или окружение рабочего стола не являются краеугольным камнем в быстродействии системы. Самыми прожорливыми являются пользовательские приложения, типа OpenOffice.org (если более легкий текстовый процессор вроде KOffice вас не устраивает). Так же проблемы могут создавать какиенибудь тяжелые системы документооборота, приложение, запущенное в Wine и прочее. В данных случаях спасают терминальные решения.
LXF: Много кто говорит про терминальные решения, как про панацею. Что это такое?
ДН: Примером терминального решения является LTSP (Linux Terminal Server Project), основанный на бездисковых рабочих станциях. Здесь можно использовать самые слабые машины, начиная даже с Pentium 100. Пользователь работает на LTSP-сервере, а на клиент передается только картинка.
Терминальные решения можно использовать не только в контексте устаревшего парка компьютерной техники. Возможно, у вас имеется терминальный сервер под управлением Windows 2003 Server и вы захотите заменить его и сопутствующие Windows Terminal Services, RDP или ICA Citrix на одну из свободных технологий, скажем, VNC (Virtual Network Computing) или NX (NX NoMachine). Как VNC, так и NX имеют реализации под разные платформы, в том числе, Linux и Windows. Это означает что, например, с сервером 1С под GNU/Linux смогут работать терминально как сторонники GNU/Linux, так и пользователи Windows.
LXF: На что следует обратить особое внимание при внедрении LTSP?
ДН: Если вы планируете перевести значительную часть пользователей на LTSP, то стоит хорошенько подумать об обеспечении непрерывной работы сервера и выработать стратегию минимизации простоев. Они будут стоить здесь гораздо дороже, чем неполадки в случае обычного терминального сервера, так как пользователи не смогут делать на своем рабочем месте вообще ничего.
Еще одним минусом является зависимость стабильной работы LTSP-технологии от нагрузки на сеть. Если каналы сильно загружены, пользователи опять-таки не смогут нормально работать. Поэтому, учитывая данный фактор, нужно подумать о пропускной способности. Одним из решений может быть концентрация LTS-клиентов в отдельном домене коллизий. Если вы все же решили перевести на LTSP немалую часть пользователей, то запасайтесь оперативной памятью, так как, скорее всего, ее будет не хватать. Количество памяти на сервере зависит от запускаемых приложений и от DE. Например, при работе пользователя с OpenOffice.org под KDE потребуется чуть менее 100 МБ. В целом, можно порекомендовать использовать эту технологию на некритичных участках.
LXF: С LTSP понятно. А что с VNC и NX?
ДН: Сравнивая между собой эти две технологии, можно сказать, что у NX преимуществ больше, и для организации терминального доступа множества пользователей (например, к серверу приложений 1С) она подходит лучше, чем VNC, по следующим причинам:
- Возможность работы при низкой скорости канала и большой загруженности сети. Разработчики NX уверяют, что при максимальной степени сжатия (modem) возможна работа даже на 9600 бит/сек, что, в принципе, подтверждается практикой. В отличие от нее, VNC (с любым сжатием) у меня нормально работала лишь в 100-мегабитной сети, а при значительно суженном канале наблюдались жуткие «лаги». FreeNX (http://freenx.berlios.de/) «летает» при гораздо меньших скоростях.
- Минимально необходимой конфигурацией для работы тонкого клиента с пакетом NX можно определить процессор P-120 с объемом оперативной памяти 32 МБ. Для решения на базе VNC требования будут на порядок выше.
- Пользователи могут работать только с нужным приложением, а не со всей сессией DE/WM.
Нужно отметить, что существует две реализации NX архитектуры: от 2K и от NoMachine (изначальный проект). Та, что от 2K – это и есть FreeNX, выложенная под GPL (как клиент, так и сервер). В реализации NoMachine NX Free Edition (http://www.nomachine.com/) имеет ограничение на 2 сессии, а за остальное придется платить. Если желание раскошеливаться отсутствует, то лучше использовать GPL-версию от разработчиков 2K.
Несмотря на перечисленные недостатки, технологию VNC не стоит сбрасывать со счетов. Например, одной из задач для администратора в смешанных сетях является поиск универсального инструмента для администрирования клиентов на различных платформах. Гораздо удобнее производить какие-любо действия с компьютерами пользователей, не задумываясь, какая ОС у них установлена. В качестве такого прозрачного решения замечательно подойдет VNC. Особенно оно будет к месту там, где есть необходимость в интерактивном взаимодействии с пользователем, когда удобнее один раз показать, чем сто раз объяснять по телефону. Данное решение также выгодно использовать, если пользователи каким-то образом разделены территориально.
LXF: На что еще придется обратить внимание администратору?
ДН: Я думаю, что отдельно можно рассмотреть задачу по обновлению программного обеспечения. Если WSUS (Windows Server Update Services) в Windows казался удобным, то менеджеры пакетов во многих дистрибутивах должны выглядеть таковыми вдвойне, поскольку они решают задачу обновления не только самой ОС, но и прикладных пользовательских программ. Скажем, используя approx (проксисервер для системы apt в Debian), очень удобно махом ставить обновления у всех пользователей без всяких лишних манипуляций с ручным копированием файлов с компьютера на компьютер.
Главные же проблемы, все-таки, пока еще связаны с ПО. Если взять небольшую «сферическую фирму в вакууме», в которой преобладает внутренний документооборот, то трудностей будет мало и офисного пакета OpenOffice.org вполне хватит. Однако, если контора имеет самых разнообразных клиентов, поставщиков и так далее, да в большом количестве, то тут неизбежно возникают проблемы различных стандартов документов.
К примеру, однажды одними из наших клиентов была прислана отсканированная документация в формате TIFF, где каждая страница была отдельным слоем. Имеющиеся программы для просмотра изображений в GNU/Linux не могли корректно читать такие файлы. В качестве решения пришлось писать скрипт по конвертации из TIFF в PDF, коим и сейчас пользуются, ибо клиенты продолжают слать… Как можно было догадаться, тот самый злосчастный TIFF-файл был сгенерирован одной из программ фирмы Microsoft. И таких мелких проблем очень много. Например архивы .zip и .rar в кодировке cp1251 «лечатся» тоже скриптами на Bash и Perl, так как сами по себе утилиты unrar и unzip без convmv порождают множество нечитаемых названий файлов (конечно, если у вас установлена локаль, отличная от cp1251). Этих мелких проблем множество, но они, к счастью, решаемы – надо только обращать на них внимание.
Другое дело, когда проблема гораздо серьезнее: я говорю об отсутствии в Linux специализированного ПО. К таковому относятся различные банк-клиенты, которые старается написать каждый банк и, естественно, делает это только под Windows. Выходом здесь может стать Wine или отказ от платформы GNU/Linux. К сожалению, как показывает практика, если программа запустилась под Wine, это еще не повод для радости. Необходимо тщательно проверить весь используемый функционал, так как в противном случае приложение, работающее наполовину, принесет немало мучений и администратору, и пользователям.
LXF: Есть ли помощь от сообщества? В Уфе, на сколько я слышал, существует довольно активный местный LUG.
ДН: Да, бывает, что некоторые технические вопросы решаются на специальных форумах. Но, к сожалению, детально о миграции говорят очень мало. Чужой опыт в нашем деле оказался бы хорошим подспорьем. Касательно уфимского LUG могу сказать, что ребята могут помочь начинающим пользователям, снабдить литературой, да и любым, без преувеличения, дистрибутивом GNU/Linux. Кстати, Debian именно они мне записали.
LXF: Не планируется приобрести платную поддержку на стороне?
ДН: Своих сил нам хватает и мы настроены оптимистично. Есть некий график миграции, и мы ему следуем. Ну а если бы мы захотели какой-либо сторонней поддержки, то изначально доверили бы проект одной из фирм-интеграторов, благо, такие имеются.
LXF: Чего вам не хватает для полного счастья?
ДН: В данном контексте не хватает понимания пользователей. Но это временное явление (улыбается).
LXF: Читаете ли вы журнал Linux Format? Чего бы хотелось увидеть в нем побольше, ну, или поменьше?
ДН: Читаю, но нерегулярно. Из пожеланий: хотелось бы видеть побольше статей, подобной этой. Думаю, поделиться опытом мало кто откажется. Приобрести же такие знания ни для кого сейчас лишним не будет.
LXF: Чего бы Вы пожелали сообществу GNU/Linux?
ДН: Побольше терпения и удачи! LXF