Gentoo Logo

Предупреждение : Этот документ находится в разработке, и его пока не следует считать официальным.


Руководство по LTSP в ОС Gentoo Linux

Содержание:

1.  Введение

Что такое LTSP?

LTSP - это аббревиатура "Linux Terminal Server Project". Установленный на сервере он может обеспечить множество рабочих станций (так называемых Тонких-клиентов) одинаковым окружением. Все приложения запущены на сервере и поэтому вы можете использовать старые компьютеры, преобразовав их в X-Терминалы. Такой способ уменьшает общую цену и облегчает содержание особенно там, где вам нужно одинаковое рабочее окружение на каждом компьютере, например в школах или фирмах.

2.  Установка

Договоренности

Все примеры в данном руководстве предполагают, что IP адрес вашего сервера 192.168.0.254, Ваш домен: yourdomain.com и адрес сети: 192.168.0.0/24.

Установка

В первую очередь у вас должна быть работающая система Gentoo. Прочитайте "Руководство по Установке Gentoo" для своей архитектуры на cайте документации Gentoo.

Давайте начнем с самого простого шага, с установки пакета ltsp:

Листинг 2.1: Emerge LTSP

# emerge ltsp

Эта команда установит (как зависимости) следующие пакеты:

  • XFree: Они называются XTerminal'ами, догадайтесь почему :)
  • DHCP: DHCP это протокол для автоматической конфигурации компьютеров, использующих TCP/IP, используется ltsp для выделения IP-адресов рабочим станциям.
  • NFS: NFS это протокол доступа к жестким дискам через сеть, используется ltsp для монтирования базовой системы к рабочим станциям.
  • TFTP: TFTP это простой протокол передачи файлов, используется ltsp для передачи ядра с сервера рабочим станциям.
  • XINETD: Xinetd это более мощная замена inetd, с дополнительными возможностями, используется ltsp, чтобы стартовать tftp-сервер.

Примечание: Если у вас установлен флаг USE kde/gnome, то будет также установлена полная система kde/gnome.

3.  Конфигурация

После того как emerge закончил свою работу, необходимо настроить установленные сервисы:

Системный журнал

Чтобы облегчить отладку, системный журнал должен быть настроен так чтобы фиксировать удаленные соединения. Ознакомьтесь с документацией вашего системного журнала, чтобы узнать как именно это сделать. Например, если вы используете sysklogd, все что вам нужно это отредактировать /etc/conf.d/sysklogd добавив "-r" к строке SYSLOGD:

Листинг 3.1: /etc/conf.d/sysklogd

SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"

NFS

Следующий шаг: отредактировать файл /etc/exports, чтобы позволить рабочим станциям монтировать корневую файловую систему. В нем должно быть, по меньшей мере, 2 строки:

Листинг 3.2: /etc/exports

/opt/ltsp-4.1/i386         192.168.0.0/255.255.255.0(ro,no_root_squash,async)
/var/opt/ltsp/swapfiles    192.168.0.0/255.255.255.0(rw,no_root_squash,async)

Примечание: Вы должны поменять подсеть/маску, чтобы они соответствовали вашим настройкам.

Теперь запустим NFS.

Листинг 3.3: Запуск nfs

# rc-update add nfs default
# /etc/init.d/nfs start

xinetd/tftp

TFTP необходимо настроить для правильной работы. Для начала в файле /etc/conf.d/in.tftpd, выставим пути:

Листинг 3.4: /etc/conf.d/in.tftpd

INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"

Флаг -s заставляет TFTP работать в безопасном chroot режиме (рекомендуется). Это означает, что вам не нужно включать путь /tftpboot, к примеру, в настройках DHCP.

Далее настроим xinetd для запуска TFTP и разрешим удаленные соединения. Проверьте, был ли создан файл /etc/xinetd.d/tftp при установке tftp. По умолчанию TFTP не запускается сервером xinetd, для того чтобы исправить это замените значение disable=yes на disable=no. в файле /etc/xinetd.d/tftp

Листинг 3.5: /etc/xinetd.d/tftp

service tftp
{
		disable = no
		socket_type = dgram
		protocol = udp
		wait = yes
		user = root
		server = /usr/sbin/in.tftpd
		server_args = -s /tftpboot
}

Теперь откройте /etc/xinetd.conf и закомментируйте строку only_from = localhost, поставив знак # в ее начале. Наконец, запустите xinetd.

Листинг 3.6: Запуск xinetd

# rc-update add xinetd default
# /etc/init.d/xinetd start

Разрешение имен (Name resolving)

Для того чтобы, рабочая станция могла использовать все ресурсы, должно работать корректное разрешение имен. Здесь есть несколько вариантов. Можно настроить DNS-сервер в локальной сети. Или можно (что легче) иметь полностью идентичные файлы /etc/hosts на всех системах, что мы и сделаем.

Все рабочие станции должны быть перечислены в /etc/hosts. Например:

Листинг 3.7: /etc/hosts

127.0.0.1        localhost
192.168.0.254    server      server.yourdomain.com
192.168.0.1      ws001       ws001.yourdomain.com

Настройка DHCP

По моему, это самый запутанный этап, вы должны создать работающий конфиг DHCP (/etc/dhcp/dhcpd.conf). К примеру:

Листинг 3.8: dhcpd.conf

(Общие настройки)
default-lease-time            21600;
max-lease-time                21600;
use-host-decl-names           on;
ddns-update-style             ad-hoc;

(Параметры Bootp)
allow booting;
allow bootp;

(Сетевые параметры)
option subnet-mask            255.255.255.0;
option broadcast-address      192.168.0.255;
option routers                192.168.0.254;
option domain-name-servers    192.168.0.254;
option log-servers            192.168.0.254;
option domain-name            "yourdomain.com";

(Параметры путей LTSP)

option root-path              "192.168.0.254:/opt/ltsp-4.1/i386";
filename                      "/lts/vmlinuz-2.4.26-ltsp-2";

(Если у ваших терминалов сетевые карточки (NIC) ISA, )
(то раскомментируйте следующие строки и измените driver и IO)
#option option-128 code 128 = string;
#option option-129 code 129 = text;
#option option-128 e4:45:74:68:00:00;
#option option-129 "NIC=ne IO=0x300";

shared-network WORKSTATIONS {
  subnet 192.168.0.0 netmask 255.255.255.0 {
	(Раздаем динамические IP терминалам)
	range dynamic-bootp 192.168.1.1 192.168.1.16;
	(Специфичные для каждого терминала настройки для
	PXE-загрузки)
	#host ws001 {
	#  hardware ethernet     00:E0:06:E8:00:84;
	#  fixed-address         192.168.0.1;
	#}
  }
}

Если ваши терминалы поддерживают PXE, вы должны перечислить их все, как сделали с host ws001 (не забудьте раскоментировать). Не давайте им адрес из динамического диапазона, иначе возможно что у нескольких терминалов будут одинаковые IP-адреса (что проблематично). Запомните, если вы скопируете-и-вставите (cut-n-paste) вышеприведенный пример, замените любые вхождения "//" на "##", иначе dhcp не запустится.

За дополнительной документацией обращайтесь к официальному руководству по dhcp: http://www.dhcp-handbook.com/

Теперь запустим DHCP, так же как и в случае с NFS и xinetd:

Листинг 3.9: Запуск dhcp

# rc-update add dhcp default
# /etc/init.d/dhcp start

Примечание: Для DHCP необходимо наличие CONFIG_PACKET и CONFIG_FILTER в ядре.

Настройка LTSP

Существует множество опций настройки терминалов, посетите http://www.ltsp.org/documentation/ltsp-3.0-4-en.html#AEN903 для полного их описания.

Несколько советов: сначала скопируйте /opt/ltsp/i386/etc/lts.conf.example в /opt/ltsp/i386/etc/lts.conf и редактируйте уже его. Вы можете попробовать изменить SCREEN_01 на SCREEN_01 = startx. Чтобы использовать USB мышь на удаленной машине (терминале), добавьте следующие, отвечающие за модули, строки, и поменяйте X_MOUSE_* строки как указано ниже:

Листинг 3.10: /opt/ltsp/i386/etc/lts.conf

MODULE_01          = usb-uhci
MODULE_02          = mousedev
MODULE_03          = usbmouse
X_MOUSE_PROTOCOL   = "IMPS/2"
X_MOUSE_DEVICE     = "/dev/input/mice"

Менеджер экрана

Теперь вы должны настроить менеджер экрана так, чтобы он принимал удаленные соединения.

Отредактируйте файл /etc/X11/xdm/Xaccess, раскомментировав следующую строку:

Листинг 3.11: /etc/X11/xdm/Xaccess

#*                   #any host can get a login window

Теперь поменяем настройку вашего менеджера экрана:

XDM: В /etc/X11/xdm/xdm-config раскомментируйте DisplayManager.requestPort: 0

KDM: В /usr/kde/3.1/share/config/kdm/kdmrc в секции [Xdmcp] измените Enable = false на Enable = true.

GDM: В /etc/X11/gdm/gdm.conf в секции [xdmcp] измените Enable = false на Enable = True.

Теперь запустим менеджер:

Листинг 3.12: Запуск xdm

# rc-update add xdm default
# /etc/init.d/xdm start

Предупреждение: На данный момент возникают проблемы с использованием XDM и GDM. Автор использует KDM, чтобы от них избавиться.

Запомните, если менеджер экрана запущен, то при перезагрузке X-сервера с помощью CTRL-ALT-BACKSPACE он не перезапускается.

Создание загрузочной дискеты

Если ваши терминалы не поддерживают PXE-загрузку, вы должны создать загрузочную дискету, которая используется для загрузки рабочих станций и подключения к терминал-серверу. На странице http://www.rom-o-matic.net/, выберите последнюю версию, выберите свою сетевую карту (NIC), нажмите Get ROM и запишите полученный образ на дискету:

Листинг 3.13: Запись образа на дискету

# cat nicfile.zdsk > /dev/fd0

4.  Устранение неполадок

Существует множество вещей, которые могут быть источником проблем, но есть несколько ресурсов, которые помогут их решить:

  • Официальная документация: http://www.ltsp.org/documentation/, Особенно раздел "Troubleshooting" (существует также российский ресурс http://www.ltsp.ruприм. пер.)
  • IRC канал gentoo: irc.freenode.org #gentoo
  • IRC канал ltsp: irc.freenode.org #ltsp
  • Списки рассылки ltsp http://ltsp.org/mailinglists.php полны очень полезных материалов.

5.  FAQ

Q: У моих терминалов процессор Pentium II, но сервер скомпилирован с флагом march=athlon-xp, будут ли они работать?

A: Нет проблем, т.к. все приложения выполняются на сервере.

Q: Какой процессор и сколько оперативной памяти должно быть на сервере?

A: Хороший документ с советами находится на http://ltsp.org/documentation/server_suggestions.html.

Q: Есть ли дополнительная информация о PXE?

A: Да, посмотрите на http://ltsp.org/documentation/eproms.txt и на http://ltsp.org/documentation/pxe.howto.html.

Q: Возможно ли использовать программы, нуждающиеся в 3D видео карте на терминалах?

A: Если вы используете карты от NVidia посмотрите http://ltsp.org/documentation/nvidia.txt.

Q: В некоторых приложениях шрифты выглядят жутко, что делать?

A: Установите XFontServer, добавьте USE_XFS=Y в lts.conf, отредактируйте /etc/X11/fs/config раскомментировав no-listen: tcp, замените XFS_PORT="-1" на XFS_PORT="7100" в /etc/conf.d/xfs и запустите xfs: /etc/init.d/xfs start. Также ПРОВЕРЬТЕ что /etc/X11/XF86Config (или /etc/X11/xorg.conf) содержит FontPath "unix/:7100" в секции Files.

Q: Как я могу использовать звуковую карту на терминале?

A: В gentoo существует пакет ltsp-sound, за дальнейшими инструкциями обращайтесь к README файлу в составе пакета.

6.  Словарик

LTSP "LTSP предлагает способ повторного использования старых компьютеров, как графических или текстовых терминалов на основе GNU/Linux сервера.

PXE "Акроним от "Pre-Boot Execution Environment". Произносится пикси (pixie), PXE один из компонентов спецификации WfM от Intel. Он позволяет компьютеру загружаться с сервера по сети, до загрузки с локального диска. На рабочей станции с PXE сетевая карточка соединена с сетью через джампер, благодаря чему соединение сохраняется даже при выключенном питании."



Для печати

Обновлено 18 октября 2004

Исходный документ обновлен 28 сентября 2008

Аннотация: Это руководство объясняет, как установить LTSP Сервер на Gentoo.

Heinrich Wendel
автор

Josiah Ritchie
автор

Sven Vermeulen
редактор

Эльдар Цраев
переводчик

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.