- LTSP/About
- Чем удобен терминальный сервер
- Функциональность
- Требования
- LTSP/Deploy
- Установка
- Ознакомительная
- Простой случай
- Сложный случай
- LTSP/BuildYourself
- Версии
- Настройка сервера
- Сборка LTSP chroot
- Запуск
- Вариации на тему
- dnsmasq
- ALTSP inside OpenVZ
- Загрузка тонких клиентов с локальных HDD
- Шпаргалка
- Примечания
- LTSP/About
- Чем удобен терминальный сервер
- Функциональность
- Требования
LTSP/About
ALTSP — это сокращение от ALT Linux Terminal Server Project, а также результат скрещивания ужа (дистрибутивы ALT Linux) с ежом (терминальная технология LTSP.org). При этом используется смесь технологий LTSP4/LTSP5 с тем, чтобы обеспечить как интеграцию в дистрибутив, так и легковесность.
Чем удобен терминальный сервер
Использование ТС и тонких клиентов позволяет:
- сэкономить средства на обновлении имеющихся мест: теперь их быстродействие зависит от более мощной системы, а «морально устаревшие» компьютеры могут потребовать разве что новых монитора и клавиатуры с мышкой вместо полной замены;
- сохранить время и спокойствие при резервном копировании: данные пользователей собраны на одной системе (нередко с зеркалом из двух дисков) и делать бэкапы не так уж и тяжело;
- гибко распределять рабочие места: можно работать, войдя в систему с любого терминала;
- не терять время на администрирование N клиентских ПК, а заниматься одним или несколькими серверами.
О выгодах применения терминального сервера в школе также рассказано в этой статье
Функциональность
После установки дистрибутива и загрузки терминального сервера для подключенных тонких клиентов доступны:
- сетевая загрузка;
- централизованная регистрация пользователей на терминальном сервере;
- работа с развёрнутыми на сервере приложениями, используя его вычислительные ресурсы;
- поддержка локальных устройств (CD/DVD-ROM, USB Flash, USB HDD, флоппи-дисковод);
- воспроизведение звука;
- управление при помощи несложного модуля Alterator.
Требования
Необходима хотя бы одна достаточно современная система в качестве терминального сервера; желательно подключение тонких клиентов отдельным физическим сегментом Ethernet.
- сервер: от PIII с 512M ОЗУ (рекомендуется двухъядерный процессор и 1Gb RAM или лучше)
- клиент: от Pentium с 16M ОЗУ (рекомендуется от Pentium II с 32M RAM)
- локальная сеть: 100Mbps (рекомендуется подключать сервер гигабитом)
LTSP/Deploy
Пожалуйста, вдумчиво прочитайте всё по порядку — это в итоге сэкономит как минимум время:
Заранее спланируйте установку, уяснив для себя, каковы:
- разбиение дисков
- синхронизацию существующих пользовательских данных
- подключение терминалов
Установка
Ознакомительная
Можно воспользоваться описанным вариантом создания стенда для тестирования в VirtualBox; см. тж. по тестированию.
Простой случай
Рекомендуемый вариант установки:
- выделенная терминальная сеть с отдельным коммутатором
- выделенный физический терминальный сервер
- готовый дистрибутив
- загрузить дистрибутив;
- установить его по инструкции к соответствующему десктопному варианту;
- загрузиться в проинсталированную ОС;
- проверить соответствие логических интерфейсов физическим;
- подключить интерфейс с адресом 192.168.0.1 к свичу терминальной сети;
- подключить хотя бы один совместимый тонкий клиент;
- загрузить его;
- создать пользовательские записи;
- приступить к синхронизации пользовательских данных;
- заниматься оставшимися терминалами.
Если возникли проблемы, проверьте, не описаны ли они уже.
Сложный случай
При необходимости изменения префикса терминальной сети (обычно для использования уже существующего сегмента локальной сети) придётся скорректировать вручную содержимое файлов, упомянутых на странице конфигурации сети.
Страница по самостоятельной сборке терминального сервера может пригодиться в ситуациях, когда:
- требуется загружать клиентов в сети, где уже есть DHCP-сервер — при этом следует заранее связаться с его администратором и оговорить добавление необходимых настроек (как минимум next-server);
- уже существует настроенный мощный десктоп и требуется только добавить к нему возможность загружать стоящие рядом маломощные машинки, добавив необходимые серверные пакеты и сформировав ltsp chroot.
LTSP/BuildYourself
Здесь описан процесс превращения в терминальный сервер уже развёрнутой десктопной [1] системы. Обычно это слишком много труда и достаточно взять уже готовый дистрибутив терминального сервера [2] .
Версии
Для создания терминального сервера mike@ проверены пакеты из веток:
- 4.0 (выделенная система, 2007-09-11);
- p5 (дистрибутив, 2010-03-15);
- 5.1 (контейнер OpenVZ, 2011-04-03);
- t6 (дистрибутив, 2012-03-09);
- p7 (из стартеркита, 2015-11-28)
Следует использовать пакеты из актуальной копии выбранного бранча либо из дистрибутива терминального сервера. Первые сборки 2006/2007 года имели известные недоработки и нюансы; соответствующие примечания ниже отмечены [OLD] [3] и будут через некоторое время убраны как устаревшая документация.
Бранч 4.1 не применялся [4] для создания дистрибутивов терминального сервера.
Sisyphus по состоянию на весну 2012 года местами пригоден для создания терминального чрута; в kernel-image-ltsp-client-2.6.32-alt1+ есть поддержка KMS, необходимая для текущего xorg .
Настройка сервера
Предварительно необходимо подключить один из поддерживаемых бранчей.
- Установить пакет ltsp-server-{basic,enhanced,light,kde> (в basic и enhanced оконным менеджером служит twm , в light — icewm )
- Настроить dhcp ; можно взять рабочую заготовку в пакете ltsp-server :
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.BAK cp -a /etc/ltsp/dhcpd.conf /etc/dhcp/
- Настроить tftp-server : дописать в /etc/xinetd.d/tftp рядом с остальными строчку only_from = 192.168.0.0/24 (или другую сеть, на которую настроен DHCP-сервер) и выполнить команды
chkconfig tftp on chkconfig xinetd on
control portmap server chkconfig portmap on
/var/lib/ltsp/i586 (ro,no_root_squash,async)
- При объёме памяти бездисковых станций менее 64..128Mb рекомендуется организовать сетевой своп.
- Настроить Display Manager:
- выполнить chkconfig dm on
- для kdm : в секции [Xdmcp] файла /etc/X11/kdm/kdmrc обеспечить Enable=true
- для gdm смотрим файл /etc/X11/gdm/custom.conf :
- в секции [Xdmcp] требуется Enable=true ,
- в секции [daemon] — RemoteGreeter=/usr/lib/gdm/gdmgreeter
:0 local /etc/X11/xinit/xserverrc
Сборка LTSP chroot
Для сборки чрута из пакетов требуется [9] :
- отредактировать (при необходимости):
- /etc/ltsp/update-kernels.conf [10] ;
- /etc/ltsp/ltsp-update-kernels.conf ;
- /etc/ltsp/ltsp-build-client.conf :
- ARCH , BASE [11] , MIRROR [12] (настроить на доступный репозиторий)
- ROOTPASS ( prompt — спросить при генерации);
- возможно, EXTRA_MIRROR (например, EXTRA_MIRROR=»file:/var/ftp/ltsp5 i586 ltsp5;file:/var/ftp/ltsp5 noarch ltsp5″ );
- возможно, KERNEL (по умолчанию — kernel-image-std-smp ; достаточно указывать только суффикс std-smp );
- возможно, KERNEL_MODULES (субпакеты через пробел; по умолчанию — alsa )
- CHROOT_IMAGE [13] ;
Запуск
service dhcpd restart service xinetd restart service portmap restart service nfs restart service ltspswapd restart || service nbd-server restart service xfs restart # для ltsp-client >= 5.0-alt0.49 xfs необязателен service dm restart
- Требуется также обеспечить обратный резолвинг IP клиентов, чтобы избежать таймаутов при отрабатывании dm («крестик на экране») — либо путём настройки DNS на терминальном сервере с обратной зоной для выдаваемых по DHCP адресов, либо хотя бы выполнить нечто вроде (для локального доменного суффикса ltsp):
grep -q ^192.168.0.1 /etc/hosts || echo "192.168.0.1 server server.ltsp" >> /etc/hosts grep -q ^192.168.0.250 /etc/hosts || < for i in `seq 20 250`; do echo "192.168.0.$i ws$i ws$i.ltsp" >> /etc/hosts done > update_chrooted conf
# вариант "на железе" echo fuse >> /etc/modules modprobe fuse control fusermount public
# вариант "под OpenVZ" # HN: echo fuse >> /etc/modules modprobe fuse vzctl set ltsp --devnodes fuse:rw --save # VE, которое --name ltsp: control fusermount public
Вариации на тему
dnsmasq
Роль сервера DHCP, TFTP и DNS вместо dhcpd , tftp-server и bind прекрасно исполняет dnsmasq со следующим конфигурационным файлом:
bind-interfaces interface=lan interface=lo resolv-file=/etc/resolv.conf.dnsmasq strict-order expand-hosts domain=mydomain.com dhcp-range=192.168.0.100,192.168.0.199 enable-tftp tftp-root=/diskless/altsp/boot/i586 dhcp-boot=pxelinux.0
ALTSP inside OpenVZ
Недавно повторено и описано тут enp@.
Загрузка тонких клиентов с локальных HDD
Шпаргалка
Для справки можно подсматривать в профиль, по которому собирался дистрибутив ALT Linux 4.0 Terminal, и фрагмент инсталятора. Оттуда видно, что, скорее всего, будет достаточно установить в VE по вкусу один из пакетов ltsp-server-{basic,enhanced,light,kde> и все, что он вытащит по зависимостям, а также выполнить действия по мотивам написанного в скрипте настройки.
Примечания
- ↑ Терминальный сервер самому проще сделать из десктопа (которым он функциональности в основном и является), чем из сервера (который сперва всё равно придётся превратить в десктоп).
- ↑ При сильном желании модифицировать не просто отдельную систему, а сам инсталяционный образ — читайте про сборку дистрибутивов.
- ↑ Совсем старые пакеты назывались ltsp5-* и ориентировались на расположение терминального чрута в /var/lib/ltsp5/ .
- ↑ Переработанный alterator-backend-x11 в 4.1/branch не работал без HAL; решено в бранчах 5.1/p5 пакетом ltsp-x11-autosetup .
- ↑ Как вариант, закомментировать PORTMAP_ARGS=»-l» в /etc/sysconfig/portmap
- ↑ В Sisyphus и бранчах старше 5.1/p5 замените portmap на rpcbind .
- ↑ При использовании в контейнере OpenVZ вместо nfs-server придётся взять unfs3 , это приведёт к удалению метапакета ltsp-server-basic — не страшно, его роль только втащить нужные пакеты по зависимостям.
- ↑ для ltsp-client >= 5.0-alt0.49 xfs необязателен.
- ↑ [OLD] В ранних сборках также был необходим пакет hasher .
- ↑ [OLD] Для standalone-сервера рациональнее будет NFSROOT_OPTS=tcp вместо udp (по умолчанию); с tcp наблюдались проблемы в контейнере OpenVZ.
- ↑ В BASE , если необходимо, изменить путь к chroot, расположив его на разделе без noexec.
- ↑ Если в MIRROR указать полную строчку из sources.list , начинающуюся с rpm , то реконструкция с использованием ARCH и COMPONENTS производиться не будет, а строчка попадёт «как есть».
- ↑ CHROOT_IMAGE имеет смысл, если используется заранее приготовленный с помощью spt и spt-profiles-ltsp-root (или другим способом) корень.
- ↑ Для ранних пакетов ltsp также были актуальны следующие замечания:
- [OLD] Для успешной сборки могло быть необходимо поправить /usr/share/ltsp/profile/ltsp-root/packages из пакета spt-profiles-ltsp-root , добавив туда which, xinitrc, libhw-tools .
- [OLD] После сборки следовало проверить права доступа на чтение в /var/lib/tftpboot/ltsp5
- [OLD] Также доводилось поправить /etc/exports на предмет лишнего пробела, иначе старый unfs3 не разрешал клиенту подмонтировать корень; в unfs3-0.9.18 была добавлена опция проверки корректности конфигурации и она теперь используется в инитскрипте, с 0.9.17 и ltsp5-server-5.0-alt0.44 тоже всё в порядке.
LTSP/About
ALTSP — это сокращение от ALT Linux Terminal Server Project, а также результат скрещивания ужа (дистрибутивы ALT Linux) с ежом (терминальная технология LTSP.org). При этом используется смесь технологий LTSP4/LTSP5 с тем, чтобы обеспечить как интеграцию в дистрибутив, так и легковесность.
Чем удобен терминальный сервер
Использование ТС и тонких клиентов позволяет:
- сэкономить средства на обновлении имеющихся мест: теперь их быстродействие зависит от более мощной системы, а «морально устаревшие» компьютеры могут потребовать разве что новых монитора и клавиатуры с мышкой вместо полной замены;
- сохранить время и спокойствие при резервном копировании: данные пользователей собраны на одной системе (нередко с зеркалом из двух дисков) и делать бэкапы не так уж и тяжело;
- гибко распределять рабочие места: можно работать, войдя в систему с любого терминала;
- не терять время на администрирование N клиентских ПК, а заниматься одним или несколькими серверами.
О выгодах применения терминального сервера в школе также рассказано в этой статье
Функциональность
После установки дистрибутива и загрузки терминального сервера для подключенных тонких клиентов доступны:
- сетевая загрузка;
- централизованная регистрация пользователей на терминальном сервере;
- работа с развёрнутыми на сервере приложениями, используя его вычислительные ресурсы;
- поддержка локальных устройств (CD/DVD-ROM, USB Flash, USB HDD, флоппи-дисковод);
- воспроизведение звука;
- управление при помощи несложного модуля Alterator.
Требования
Необходима хотя бы одна достаточно современная система в качестве терминального сервера; желательно подключение тонких клиентов отдельным физическим сегментом Ethernet.
- сервер: от PIII с 512M ОЗУ (рекомендуется двухъядерный процессор и 1Gb RAM или лучше)
- клиент: от Pentium с 16M ОЗУ (рекомендуется от Pentium II с 32M RAM)
- локальная сеть: 100Mbps (рекомендуется подключать сервер гигабитом)