Тонкие клиенты (linux) из устаревших компьютеров

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



    Постановка задачи

    В наличии имеется следующее «железо»:

    • Мощный системный блок (двухядерный Athlon, 3Гб оперативной памяти, большой жесткий диск)
    • Несколько списанный системников уровня Pentium III, порядка 256 Мб оперативки, жесткие диски убитые/отсутствуют, есть CD-приводы


    Необходимо из них собрать офисную сеть, чтобы все могли комфортно работать. Единственное решение в такой ситуации — сделать из списанных компьютеров тонких клиентов, которые могут работать на мощном компьютере (сервере). Загрузка тонких клиентов будет выполняться со специально сделанных LiveCD. Желательно использовать безопасный протокол, так как в будущем хотелось бы иметь возможность работать и удаленно (через интернет).

    В качестве серверной ОС взята Linux (Ubuntu).

    Способ решения

    Для того, чтобы сделать тонких клиентов, воспользуемся thinstation. С официального сайта можно скачать как универсальный LiveCD, так и архив, из которого можно дальше сделать собственный iso-образ. LiveCD подходит для первого знакомства и содержит в себе различные клиенты для подключения к Windows и Unix серверам по разнообразным протоколам (RDP, VNC, SSH и т. д.) Мы будем работать с архивом и сделаем с его помощью свой iso-образ, «заточенный» под наши нужды.

    Перед началом сборки определимся, какой сервер терминалов мы будем использовать. Так как у нас линукс, то, по идее, достаточно туннелировать графику через SSH, однако все это танцы с бубном — как на стороне клиента, так и на стороне сервера. Возьмем готовое решение — NX Server. Для Ubuntu уже существуют deb-пакеты. С другой стороны, NX client есть и в составе thinstation. Таким образом, нам остается только настроить сервер и сделать загрузочные CD-диски.

    Делаем iso-образы клиентов

    Примерная последовательность выглядит так:

    1. Скачиваем с официального сайта пакет ThinStation.....tar.gz

    2. Распаковываем: tar xzvf Thinstation-2.2.2.tar.gz

    3. В корневой папке редактируем build.conf и thinstation.conf.buildtime (эти файлы используются во время сборки образа)

    • В файле build.conf оставляем только нужные модули и пакеты (модули отвечают за драйверы, пакеты — за программы).
    • В блоке, где идет активация клиентов, оставляем только package nx — это наш NX клиент.
    • param nxurl должен указывать на пакет nxclient.....tar.gz (этот пакет подгружается во время сборки iso-образа). Можно указать внешнюю ссылку, можно скачать и положить на localhost. Ссылки на образы других клиентов, естественно, комментируем.
    • param keyfile — берем с сервера (файл ssh_host_rsa_key.pub). Рекомендую прописать полный путь до этого файла во избежание путаницы.
    • param knownhosts — проще всего сгенерировать с помощью любого LiveCD. Загружаемся, по ssh выполняем вход на наш сервер, после этого в профиле должен появиться файл known_hosts. Копируем его. Также необходимо прописать полный путь до этого файла.
    • В файл thinstation.conf.buildtime копируем содержимое из /conf/nx.conf.sample и /conf/x-common.conf.sample. Настраиваем, исходя из своей сети. Проще всего прописывать статические ip-адреса.


    Образец файла thinstation.conf.buildtime:

    NET_HOSTNAME=ThinClient1

    NET_USE_DHCP=Off
    NET_IP_ADDRESS=10.0.0.3
    NET_MASK=255.255.255.0

    AUTOSTART=On

    SESSION_0_TYPE=nx
    SESSION_0_TITLE="Gnome"
    SESSION_0_NX_ADVANCED_ENABLE_SSL_ENCRYPTION="true"
    SESSION_0_NX_GENERAL_DESKTOP="Gnome"
    SESSION_0_NX_GENERAL_SERVER_HOST="10.0.0.1"
    SESSION_0_NX_GENERAL_REMEMBER_PASSWORD="true"
    SESSION_0_NX_GENERAL_RESOLUTION="fullscreen"
    SESSION_0_NX_GENERAL_SESSION="Unix"

    SCREEN_RESOLUTION="1280x1024"
    SCREEN_COLOR_DEPTH="24"
    SCREEN_BLANK_TIME=10
    SCREEN_STANDBY_TIME=20
    SCREEN_SUSPEND_TIME=30
    SCREEN_OFF_TIME=60

    MOUSE_RESOLUTION=100

    X_COOKIE=36d71ab85c18ef065702c181a3d21593


    4. Выполняем сборку образа: ./build

    5. Смотрим на лог сборки. Если все ОК — готовый образ появится в /boot-images/iso/. Записываем его на болванку.

    Устанавливаем сервер терминалов

    Делаем так, как указано на официальном сайте:

    sudo dpkg -i nxclient…
    sudo dpkg -i nxnode…
    sudo dpkg -i nxserver…

    Все должно заработать «из коробки».

    Чтобы убедиться в работоспособности, можно быстро загрузиться с любой другой машины через LiveCD (Ubuntu/Xubuntu), прописать у нее сеть, поставить на нее только NX клиента, и подключиться к нашему серверу.

    Реальные наблюдения

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

    #!/bin/sh

    setxkbmap -model pc105 -layout us,ru\(winkeys\) -option -option grp:alt_shift_toggle -option compose:ralt


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

    Наконец, бесплатная версия NX сервера допускает одновременную работу только двух клиентов (итого — 3 человека: один на самом сервере, 2 — через тонких клиентов). Если хотим больше — либо приобретаем платную версию, либо ставим виртуальные системы (например, на proxmox). Но это уже, как говорится, совсем другая статья…
    Share post

    Comments 49

      0
      > В нашей системе почему-то не активируется смена языка

      попробуйте в настройках переключалки caps lock или клавишу win поставить на переключение. у меня работало.
        +1
        Вместо NX используйте FreeNX. В нём нет ограничения на количество пользователей. Проект жив и развивается, насколько мне известно… Правда на некоторых дистрибутивах не заводится из коробки. Но попытка не пытка. Может быть у вас заведется сразу. В любом случае в интернете вполне можно получить помощь с возникающими с ним проблемами.

        Клиент правда лучше использовать официальный, от компании NX.
          0
          Хорошо, запомним на будущее. Правда, последняя версия FreeNX датируется 2008 годом…
            0
            freenx мертв. на natty завести не реально. на maverick через костыли еще выходит.
              0
              openx от гугла можно попробовать. но сильно уж альфа :)
            0
            Несколько списанный системников — это сколько? Интересно сколько тонких клиентов на 3 гигах может потянуть.
              0
              по памяти свеже запущенная сессия занимает где-то 600мб. правда если активно пользовать и не вылогиниваться то за неделю может и 2гб натикать :)
                +1
                Помнится мне, не так давно в ядро memory deduplication запиливали. Может помочь.
                  0
                  может. там самое главное что кушается это все прикладными приложениями. я на неделю оставил открытый gedit с 6-ю фалами (не большими — меньше 1кб каждый) так эта скотина откушала больше 1гб.
                    0
                    жестокие объёмы :-(
              0
              Для пользования только фаерфоксом — идеальный вариант.

              Для более-менее продуктивной работы, например, программиста — это оооочень мало. Мне вот иногда даже 3 гига мало.
                0
                Программисты тоже разные бывают.

                В любом случае, нужно соизмерять задачи и способы их решения. Если тот программист или дизайнер будет съедать кучу ресурсов — зачем ему тонкий клиент?
                  0
                  А чем контора занимается?

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

                    0
                    веб-программированием.
                      0
                      тогда не завидую Вашим работникам. У меня один нетбинс кушает гиг, а если еще и автокомплит настроить как я люблю…

                      А под линь и не знаю больше хороших IDE с более-менее нормальным анализатором кода.
                        0
                        ну некоторым хватает текстового редактора — gedit, scribes.
                          0
                          В моей текущей рабочей сессии (тоже занимаюсь веб-прографией, «Нетбинс» не использую, запущены все используемые приложения) занято 427 мебибайтов оперативной памяти.
                            0
                            Натягивать шаблон на вордпресс и джумлу — это не тоже самое, что поддерживать и разрабатывать систему, у которой иерархия классов в распечатанном виде еле помещается на А0 12 кеглем, причем каждый класс нужен и используется, у которой жесткие стандарты к оформлению кода и которую разрабатывают 3-4 человека одновременно, где рефакторинг идет параллельно разработке, а комментарий, не поставленный перед функцией или в файле класса может стоить тебе премии.

                            Я не спорю, клепать сайты тоже кому-то надо, но называть себя «веб-программистами» не надо. «веб-мастер» — вот название этой профессии.
                              0
                              Как хотите, так свою профессию и называйте :) Я разве возражаю.
                                0
                                b00tanik, еще раз замечу, что решение должно соответствовать имеющимся задачам. Если у вас такие нагруженные проекты — ясное дело, что вам нужна отдельная машина (почти сервер). Тонкие клиенты оптимальны в определенном диапазоне задач.
                                  0
                                  Про веб-программирования не я завел разговор. А если задачи сводятся к редактированию файлов по 10кб, зачем тогда вообще тонкие клиенты?

                                  Засунуть в машины с P3 побольше памяти — и вперед. Я помню свой первый сайт в dreamweawer делал на Celeron 466 с 128Мб оперативы… И мне комфортно было.

                                  А в универе вообще 20 терминалов висят на одном спарке 2000 года выпуска, так те, у которых комп сломался, даже умудрились там свои курсовики на яве написать.

                                  Человек ко всему привыкает — и к креслам, от которых спина болит, и к клавиатурам, от которых руки отваливаются под конец рабочего дня, и к мониторам в 17 дюймов, и к зарплате в 600 баксов.

                                  Только не ждите от работников энтузиазма и поддержки. Каково Ваше отношение к ним — так и они к Вам будут относится.

                    +2
                    А чем ltsp плох?
                      –25
                      линукс в очередной раз подтвердил свой статус — системы для нищебродов
                        +6
                        Как скажешь, толстячок.
                          +3
                          А я думал, что Жир over Ethernet не существует…
                            0
                            Это так нелепо и абсурдно что даже смешно)
                            +1
                            А чем, собственно, стандартный LTSP не подошел?
                            (Вроде в вариации Alternanate он присутствует и ставится «мастером»). + убрать любые хранилища из «тонких клиентов» и сделать загрузку по сети.
                              0
                              мы используем neatx от гугла. ограничений нет, работает отлично. Также есть вариант — RX@etersoft тоже на основе NX, пишут что работает отлично с кириллицей и переключениями раскладок
                                0
                                Очередное изобретение велосипеда. Thinstation имеет смысл использовать если для винды тонкий клиент нужен. LTSP решит все ваши задачи без всяких танцев с бубном и никаких глюков. Работает на нем 30 клиентов в сети уже 2 года. И никаких глюков. Только ставьте в FF плагин для блокировки флеша, а то анимация сеть всю захавает. Пара-тройка анимированных баннеров отнимет 2 Мбита сети.
                                  0
                                  а вообще как по ресурсам? сколько 20-30 клиентов хавают памяти? и какой под них сервер?
                                    +1
                                    В качестве оси стоит Ubuntu 10.10
                                    Процессор Intel® Core(TM) i5 CPU 650
                                    Оперативки 8 Гб.
                                    Если интересно, могу скрин мониторинга zabbix за день выложить по основным характеристикам.
                                      +1
                                      Да, очень интересно.
                                    0
                                    А конфиг сервера можно узнать? А чем занимаются клиенты (характер работы, выполняемые задачи, используемый софт)?
                                      0
                                      Конфиг постом выше или что-то еще интересно?
                                      Занятия офисные в основном. FireFox, OpenOffice, Gimp иногда, RDP для доступа к виндовому серваку с 1С, софтовые SIP телефоны.
                                        0
                                        Ага, спасибо.
                                          0
                                          А как с внешними носителями на тонких клиентах: флешки, диски? Умеет монтировать?
                                        +1
                                        Да не только сеть, процессор тоже кушает дай бог.
                                        Аналогично работаем на ЛТСП второй-третий год. Два четырехядерных сервера с 4 гигами оперативки. На одном была Федора, после весеннего обновления часть клиентов, которые не 686 не заработали. Убунта на втором сервере решила проблему. Кстати, если у кого еще есть компортовые мышки (да-да минимальный терминал у нас P-233), то там глючок в стартовых скриптах, патч я запостил в ланчпад.
                                        Вообще Убунта для ЛТСП гораздо лучше заточена. Не перевел все на нее по одной причине — 386-directory server.
                                        +2
                                        А почему именно убунта на сервер?
                                        Какой круг задач выполняют сотрудники на тонких клиентах?
                                          0
                                          Хотелось бы услышать пару слов об отзывчивости системы и о комфортности работы.
                                            0
                                            Имхо перенос LiveCD на флешку сильно ускоряет загрузку. При цене 2-гб флешки ~ 300 рэ это наверное можно себе позволить. Или, как уже писали, сделать загрузку по сети. И кстати, а чем занимаются клиенты (характер работы, выполняемые задачи, используемый софт)?
                                              0
                                              А зачем вообще что-то переносить? Проще по сети грузится. Основная масса встроенных видеокарт поддерживают PXE. Если и нет, то можно купить дополнительную карту, они по 15 президентов стоят.
                                                +3
                                                Видеокарт?
                                              0
                                              >>> Несколько списанный системников уровня Pentium III
                                              списанныХ?

                                                0
                                                Сдаётся мне, что вы через полгодика намучаетесь со старым железом — то сетевая карта с ума сойдёт, то ещё чего… Я бы рекомендовал потихоньку менять их на нормальные тонкие клиенты, благо уже инфрастуктура работает.
                                                  0
                                                  У нас тонкие клиенты HP T5540 (на VIA + WinCE) — они стоят порядка 10-11 тыщ. Проще купить новую м/б + проц + память. Тем более что в топике сказано про необходимость сокращения затра т- а значит, покупка нормального тонкого клиента сложна финансово будет.
                                                    0
                                                    HP MultiSeat t100 cтоят порядка 5,5 т.р Но не только это главное. Не забывайте про стоимость обслуживания/сопровождения всего этого хозяйства. Как ни крути, а тонкий клиент априрори работает надёжнее самосбора.

                                                    ЗЫ Хотел ещё написать про электричество, но подумал, что экономию на нём трудно подсчитать. :)
                                                      0
                                                      HP MultiSeat t100 подключаются (1) по USB, (2) к HP MultiSeat ms6000 Desktop с предустановленной Microsoft MultiPoint Server 2010. Считать t100 тонким клиентом имхо нельзя, пусть сам эйчпи и называет его t100 thin client: нет возможности подключения по эзернету, и требуется свой специфический сервак. Так что t100 тут — не пример. Стоимость обслуживания, если десктоп настроить по загрузке по сети клиента для RDP, будет ± такой же.
                                                  0
                                                  Движущим моментом, с которого вы начинаете рассказ, являются финансовые соображения. Можете опубликовать выкладки: во сколько обошлось решение?
                                                    0
                                                    Старые системники достались практически даром. Сервер уже был, оперативку только добавили.

                                                  Only users with full accounts can post comments. Log in, please.