Международная конференция разработчиков
и пользователей свободного программного обеспечения

Глобальное применение Open Source и Freeware систем в корпоративной среде

Василий К. Савин – Вильнюс, Литва – ren19@mail.ru

LVEE 2007

Рассматривается опыт использования открытого и бесплатного ПО на всех уровнях (от серверов и глобальной сети до рабочих мест) для построения и эксплуатации корпоративных информационных систем.

введение

Открытое ПО в силу своей специфики позволяет максимально оптимизировать систему под имеющуюся аппаратуру и желаемые характеристики, т.е. получить наилучшее соотношение цена/качество, что дает возможность, в свою очередь, либо снизить стоимость, либо получить лучшие характеристики системы. Бесплатное ПО, предоставляемое некоторыми компаниями, обычно не обладает всеми возможностями коммерческого ПО тех же компаний, а также не имеет гибкости, присущей открытому ПО. Тем не менее при наличии соответствующей квалификации разработчика и/или администратора системы, бесплатное ПО позволяет значительно расширить функциональные возможности системы без существенного увеличения стоимости.

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

Далее рассмотрим соответствующие решения на каждом из уровней корпоративных информационные систем.

серверные фермы

Современные принципы построения корпоративных северных ферм демонстрируют устойчивую тенденцию к конвергенции и виртуализации как самих серверов, так и устройств хранения данных. Многие производители серверов (IBM, Sun) имеют собственные средства виртуализации. Среди Open Source и Freeware решений также существует немало интересных проектов (OpenVZ, Qemu, VirtualBox, Xen). Поскольку требуется обеспечить хостинг с приемлемой производительностью не только для Linux-серверов, но и для Windows-серверов, с учетом ограничений сервера, не поддерживающего виртуализацию на аппаратном уровне, выбор резко сужается, и практически остается единственный реальный кандидат – Vmware Server 2. Это достаточно широко распространенный преемник не менее известного коммерческого продукта той же компании Vmware GSX Server, который чуть более года назад был предоставлен компанией Vmware для бесплатного использования.

Такое решение обеспечивает работу виртуальных серверов при единичном отказе любого из реальных компонентов системы.

подключение виртуальных серверов к сети

Чаще всего корпоративные сервера не находятся в одном сегменте сети, а логически разделены для обеспечения безопасности, поддержки внутренней инфраструктуры и т.д.

Здесь возможны проблемы, если количество виртуальных сегментов сети превышает количество реальных портов для подключения к сети, поскольку Vmware Server не поддерживает виртуальных сетевых коммутаторов, – эта возможность реализована только в коммерческой версии Vmware ESX Server. И тут уже проявляется мощь открытого ПО, – мы просто включаем поддержку протокола 802.1q в Linux-ядре 1 и настраиваем систему для работы с VLAN 3.

маршрутизаторы и файрволы

Общеизвестно, что эти функции давно и весьма успешно выполняют подсистемы на базе открытого ПО. Наиболее популярны для этих целей iptables 4 и iproute2 6. Менее известен ebtables 5, который также порой полезен.

удаленная связь

При создании системы связи с филиалами возникают специфические проблемы, которые приходится дополнительно решать:

- приоритетизацию сетевого трафика (QoS 7);

- туннелирование и шифрование канала связи (Ipsec 8);

- обеспечение надежности канала связи (dial-on-demand) путем использования альтернативных каналов (ISDN, EDGE, 3G etc) прозрачно для пользователей.

Здесь также уже давно и успешно применяются решения на базе открытого ПО.

серверы филиалов

Сервера филиалов обеспечивают:

- доступ пользователей филиалов к локальной информации (samba 9);

- синхронизацию (rsync 10) локальной информации с централизованным хранилищем;

- локальную почту;

- локальный иерархический proxy 11 с фильтрацией 12;

- защиту от вирусов.

Это также общеизвестные, «классические» применения открытого ПО, за исключением сервиса синхронизации данных, который распространен в меньшей степени.

рабочие места

В реализованных системах применялись следующие виды рабочих мест (в зависимости от требований заказчика):

Традиционные рабочие станции:

- на базе Windows (Win98, Win2K, WinXP);

- на базе Linux (KDE/Gnome/IceWM/XFce).

Бездисковые рабочие станции с загрузкой от CD/PXE:

- на базе Linux (IceWM/XFce);

- на базе Linux (клиент M$ терминал-сервера);

- Интернет-киоск на базе Linux (firefox с ограниченным списком допустимых сайтов).

Бездисковые рабочие станции с flash-memory:

- на базе Windows (WinCE, WinXP-E);

- на базе Linux (XFce).

Мобильный удаленный клиент (notebook) с OpenVPN доступом.

подсистема управления, контроля и оповещения

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

Управление:

- для виртуальных серверов это штатные средства Vmware (vmware-mui);

- для большинства других систем – webmin 13;

- конечно же shell для *NIX в разных видах (по сети, через мобильный телефон, через webmin, etc);

- специализированные средства.

Контроль:

- жизнеспособности всех подсистем – Nagios 14;

- состояния каналов передачи данных – всем хорошо известный MRTG 15;

Оповещение:

- аудио-визуальные средства;

- электронная почта;

- SMS-сообщения.

Накопление:

- системные журналы;

- базы данных.

В настоящее время ведутся испытания еще нескольких средств контроля состояния систем, которые, возможно, заменят некоторые ныне существующие.

заключение

Многолетняя эксплуатация систем различного назначения и различного уровня сложности, как исключительно на базе открытого ПО, так и в различных сочетаниях с бесплатным и коммерческим ПО, показывает реальность и жизнеспособность таких решений, и даже их техническое и финансовое превосходство. Однако, к сожалению, на корпоративном рынке эти решения сталкиваются со следующими проблемами (человеческий фактор?!):

- нежелание дистрибьюторов продавать эти решения из-за низких комиссионных;

- повышенные требования к квалификации разработчика и/или администратора системы;

- повышенная ответственность администратора системы.

источники

1. The Linux Kernel Archives: http://www.kernel.org/

2. Vmware server: http://www.vmware.com/products/server/

3. 802.1Q VLAN implementation for Linux: http://www.candelatech.com/~greear/vlan.html

4. Linux kernel firewall, NAT and packet mangling tools: http://www.iptables.org/":http://www.iptables.org/

5. Utility that enables basic Ethernet frame filtering on a Linux bridge, MAC NAT and brouting: http://ebtables.sourceforge.net/

6. Linux Advanced Routing & Traffic Control HOWTO: http://lartc.org/howto/

7. iproute2+tc: http://snafu.freedom.org/linux2.2/iproute-notes.html

8. The OpenSource IPsec-based VPN Solution for Linux: http://www.strongswan.org/

9. SAMBA is a suite of SMB and CIFS client/server programs for UNIX: http://www.samba.org/

10. File transfer program to keep remote files into sync: http://rsync.samba.org/

11. A full-featured web proxy cache: http://www.squid-cache.org/

12. Web content filtering via proxy: http://dansguardian.org/

13. Web-based system administration interface: http://www.webmin.com/

14. Host, service and network monitoring program: http://www.nagios.org/

15. A tool to monitor the traffic load on network links: http://oss.oetiker.ch/mrtg/