LTSP на основе Openmosix-кластера - идеальный офис

Аватар пользователя slavaz

Настоящим бичем всех предприятий и организаций является парк устаревших компьютеров, который все еще продолжает висеть на балансе предприятия, требует амортизационных отчислений, но реально пылится где-нибудь на складе, а то и в полусырой подсобке. Такая ситуация возникла из-за взрывообразного характера развития компьютерной индустрии и, как следствие, разработчики ПО ориентируются на все большие мощности и ресурсы компьютеров. В результате устаревшая компьютерная техника, исправная и вполне пригодная для решения задач ее уровня, уже не может обеспечить необходимого быстродействия при выполнении современных приложений. Поэтому потребители вынуждены покупать современную оргтехнику, имея при этом парк устаревшей техники. Фактически получается ситуация, когда компьютер секретарши, используемый буквально только как печатная машинка, в состоянии рассчитать траекторию полета баллистической ядерной боеголовки, но реально используется на 5-10% от всей мощности. Технология LTSP (Linux Terminal Server Project) позволяет “реабилитировать” старые компьютеры и вдохнуть в них новую жизнь, сконцентрировав выделенные денежные средства на покупку серверного оборудования.


Сама идея LTSP стара как компьютерный мир (не зря говорят, что новое – хорошо забытое старое). В 70-х – 80-х годах получили развитие mainframe – это центральный вычислительный блок и подсоединенные через COM- или LPT-порты терминалы. Терминал загружался с ROM-памяти, затем обеспечивался вывод информации с порта на экран и ввод с клавиатуры в порт. Все команды и задачи выполнялись непосредственно на майнфрейме, а терминалки служили только средством ввода информации и отображения ее на экране. Современные маинфреймы – это Windows Terminal Server, Hydra (Гидра) под Windows, LTSP и другие. Вместо COM или LPT-портов сейчас используются ethernet-сети. Суть технологии осталась прежней: удаленный пользователь за терминалом запускает приложения на сервере. Более того: при наличии BOOTROM-памяти в сетевой карте терминалки возможна загрузка ОС с самого сервера. В случае с LTSP возможна настройка загружаемой на терминалки ОС таким образом, что все периферийное оборудование, дискеты, CDROMы, USB будут просто не доступны. Это идеальный вариант для предприятий, где критична утечка информации. “Точки входа” в систему будут находится либо у администратора, либо у доверенных лиц. Но вместе с тем, никто не мешает настроить так, что все терминалки будут как бы “видеть” свою периферию и пользователи вполне смогут распечатать что-то на принтере, скопировать на дискету, USBflash-накопитель и т. д.
В качестве терминалок вполне могут выступать первые пентиумы или даже 486-е компьютера. Всего лишь необходимо их загрузить и по telnet, ssh либо удаленно графикой “зайти” на сервер – и скорость работы таких компьютеров приравнивается к производительности центрального сервера. Потому что реально приложения выполняются на сервере, а терминалки показывают всего лишь вывод этих приложений. Для комфортной работы вполне достаточно 100 Mbit на примерно 10-15 графических или 100-120 текстовых терминалок. Для увеличения сетевой пропускной способности сервера можно установить несколько сетевых карт и объединить их посредством драйвера bonding; установить на сервер одну или более гигабитных сетевых карт; либо, в отдельных случаях, установить несколько LTSP-серверов с общим дисковым пространством (посредством NFS) и общим хранилищем логинов и паролей(OpenLDAP, например).

На LTSP-серверах могут одновременно работать много пользователей, запускающих ресурсоемкие приложения (Mozilla, OpenOffice). Вычислительной мощности сервера может не хватать. Как вариант, можно купить двух- или четырех-процессорный компьютер за десятки тысяч долларов, но не исключен случай, что при огромном количестве ресурсоемких задач и этих мощностей может перестать хватать. Решением данной проблемы служит использование Openmosix-кластера. Openmosix – это масштабируемый load balansing кластер (кластер балансировки нагрузки). Для использования ресурсов кластера никакой перекомпиляции существующих пакетов не требуется. Узлами кластера могут выступать различные по быстродействию компьютеры, но, естественно, желательно кластер собирать из мощных машин. При относительно дешевых узлах кластера (примерно 500-900 долларов на узел) можно получить вычислительную мощность, требуемую для решения любых задач. Количество узлов в кластере практически не ограничено (вернее, ограничено количеством узлов в IPv4-сети класса “А”). Принцип работы Openmosix-кластера прост: все узлы рассматриваются как процессоры с собственным ОЗУ. То есть Openmosix-кластер можно рассматривать как многопроцессорный компьютер. Это означает, что задача, запущенная на таком кластере, не будет работать быстрее задачи, запущенной на одиночном компьютере. Разница будет уже заметна на нескольких задачах, работающих параллельно. На кластере, как и на многопроцессорном компьютере происходит перераспределение задач между узлами. В результате несколько параллельно запущенных приложений будут выполнятся также параллельно на нескольких узлах кластера и выполнятся они быстрее, чем на одном компьютере.

Openmosix-кластер можно рассматривать как “сообщество” компьютеров-участников кластера без выделенного (или ведущего) узла. Это означает, что в кластер могут включаться обычные рабочие компьютера со своими операционками, но со специальным openmosix-ядром и дополнительными пакетами. Задачи могут быть запущены с любого узла кластера. В нашем случае важно, чтобы терминалки подсоединялись только к одному узлу – LTSP-серверу – и с него бы уже и запускались приложения. Остальные узлы можно рассматривать как дополнительные вычислительные ресурсы. Исходя их этого, схема LTSP-кластера может выглядеть так:

LTSP-сервер имеет две и более сетевых карт; одна сетевая карта находится в локальной сети кластера; вторая (или остальные) – в сети терминалок. Узлы кластера, в свою очередь, также являются терминалками и предназначены только для предоставления своих ресурсов основному LTSP-узлу. На дополнительных узлах не требуется наличия монитора, клавиатуры, мышки, жесткого диска и прочей периферии. По сути, необходимо только: блок питания, материнская плата, процессор, ОЗУ и сетевая карта с BOOTROOMом. Стоимость одного узла, как уже озвучивалось, колеблется в диапазоне 500-900$. Естественно, никто не мешает собрать кластер и на более дешевом (и менее производительном либо отказоустойчивом) оборудовании. В приведенной схеме кластер для сети терминалок (или, можно назвать, внешней сети) “виден” как один компьютер.

В результате получится один компьютер (сервер), который по сути и является “ядром” всей системы. Все бездисковые станции и узлы кластера грузятся с него, необходимый набор приложений “сконцентрирован” в одном месте, вследствие чего обновление пакетов происходит централизованно на одном компьютере, что очень облегчает жизнь сисадминам. Такой сервер можно буквально взять и перенести в другой офис, подключить к местной локальной сети – и LTSP-офис готов. Развертывание нового офиса займет время, необходимое для загрузки самого сервера, узлов кластера и бездисковых станций.

Для настройки LTSP-кластера используются стандартные пакеты дистрибутива Linux (такие как dhcpd, pxe, nfs-utils, tftp-server, telnet-server, openssh-server, xdm/kdm/gdm) и скачанные отдельно пакеты с сайтов www.openmosix.org, www.ltsp.org. Настройка openmosix-кластера сводится к установке openmosix-ядра, пакета openmosix-tools и перегрузки компьютера. После перегрузки компьютер станет узлом кластера Настройка LTSP-сервера заключается в скачивании пакета ltsp-utils и запуска утилиты ltspadmin; предварительно должны быть установлены уже перечисленные пакеты дистрибутива. Также необходимо будет создать initrd-образ для кластерных ядер на основе initrd-образа ядра из пакета LTSP-kernel и минимальную файловую систему на основе файловой системы ltsp. Схема загрузки бездисковых терминалов выглядит примерно так:

Настроив один раз один такой LTSP-кластер, можно просто запаковать необходимые файлы и каталоги в архив, а потом, при генерации другого такого-же сервера просто распаковать этот архив – тогда время создания сервера сократится до времени установки дистрибутива с выбором необходимых пакетов, времени распаковки архива и донастройки сервера. Займет примерно три-пять часов, что для настройки сервера \\\\\\\"с нуля\\\\\\\" является довольно неплохим показателем.

Часто бывает необходимо оставить Windows на рабочей станции, но при этом пользоваться ресурсами LTSP-кластера. Выходом могут послужить различные telnet- либо ssh-клиенты. Также существуют графические XDM-клиенты под Windows, такие как XLitePro, XoftWare WinaXe и прочие. Бывает необходимо также воспользоваться ресурсами выделенного Windows-сервера из-под Linux. Тогда на Windows-машину устанавливается vnc-сервер, а на Linux vnc-клиент; либо к терминальному Windows-серверу можно подключиться посредством пакета rdesktop, который входит в поставку дистрибутива Linux. Передача файлов между LTSP-кластером и Windows-машинами осуществляется посредством ftp либо samba.

В заключении хотелось бы подчеркнуть особенность такой схемы: как уже было сказано, вся схема локальной сети как бы содержится в одном единственном компьютере – центральном LTSP-сервере. Все остальные компьютера и узлы кластера получают от него динамический IP-адрес, грузятся с него и производят удаленный вход. Точно также с сервера могут грузиться роутера, файволлы, получать закрепленный IP-адрес другие сервера и т.д. Также повышаются требования к отказоустойчивости и безопасности LTSP-сервера. Отказ в работе центрального LTSP-сервера или просто даже его перегрузка приведет к останову компьютеров всей сети и, как следствие, невозможности работы организации, предприятия. Решением может служить создание дублирующих систем на основе heartbeat-кластера, установка источников бесперебойного питания, резервное копирование критических данных на другой компьютер посредством rsync либо на отдельный носитель информации (CDRW, отдельный жесткий диск, стриммер, магнитооптика). Безопасность LTSP-кластера обеспечивается жесткими и четко разграниченными правами доступа пользователей к файловой системе, запуск критических сервисов в chroot-окружении и с правами непривилегированных пользователей, а также ограждением прямого доступа из Интернета посредством внешних файрволлов.

Your rating: Нет Average: 9.2 (14 votes)

Комментарии

Аватар пользователя VadimMV

Re: LTSP на основе Openmosix-кластера - ...

Доступно, достаточно подробно.
Большое спасибо!
С уважением, Вадим Васильевич.

RSS-материал