LTSP

Опубликовано 2 Августа, 2008 под тегами Debian, LTSP, Debian, Soft, Сеть

Я сподобился-таки разобраться с этой системой. Как оказалось, она значительно удобнее любых костылей, приделываемых к XDMCP. Правда пришлось немного поколдовать.

Во-первых немного обрисую картинку. Есть DNS/DHCP сервер, который помимо этого обслуживает много что еще, и вешать на него терминалы - занятие неблагодарное. Есть машина, до сих пор работавшая в качестве XDMCP-терминального сервера. Есть парк машин, работающих как XDMCP-терминалы и позволяющие загружаться локально. Задача - сделать так, чтобы все это работало на LTSP.

В качестве механизма загрузки был выбран бездисковый протокол PXE. Причины довольно просты: хотелось минимальными усилиями сохранить возможность загрузки в изолированном режиме (то есть с локального диска). Поскольку терминалы достаточно новые, PXE поддерживается BIOS’ом материнских плат, и с этим проблем не возникло. Позже попробую перенести эту функциональность на grub.

На терминальном сервере был установлен пакет ltsp-server.

sudo apt-get install ltsp-server

На DHCP-сервере конфигурация (/etc/dhcp3/dhcpd.conf) была изменена следующим образом:

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.101 192.168.0.255;
  option domain-name "livid.local.";
  option root-path "/opt/ltsp/i386/";
  filename "ltsp/i386/pxelinux.0";
  next-server 192.168.0.2;
}

Здесь были добавлены строки:

  option root-path "/opt/ltsp/i386/";
  filename "ltsp/i386/pxelinux.0";
  next-server 192.168.0.2;

next-server указывает на адрес терминального сервера.

На терминальном сервере уже стоял и был настроен openssh. В принципе, настраивать там особо нечего, достаточно его поставить:

sudo apt-get install openssh-server

Для создания образа терминального клиента используется команда

sudo ltsp-build-client

Которая, фактически, устанавливает базовую версию ubuntu в /opt/ltsp/i386 и создает ее squashfs-образ.

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

sudo /etc/init.d/inetd reload

Несколько небольших замечаний. Если требуется что-то изменить в базовой системе в /opt/ltsp/i386, делать это следует в chroot:

sudo chroot /opt/ltsp/i386

После внесения любых изменений в эту файловую систему нужно выполнять команду

sudo ltsp-update-image

Если изменится адрес или ssh-ключ терминального сервера, необходимо выполнить команды

sudo ltsp-update-sshkeys
sudo ltsp-update-image

О более тонкой настройке расскажу в другом посте.

P.S. Если хотите, чтобы съемные диски работали через терминал, поставьте на сервере пакет ltspfs. Работает не идеально, но терпимо.

Материалы: http://www.ltsp.org/twiki/bin/view/Ltsp/WebHome https://help.ubuntu.com/community/ThinClientHowto?action=show http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/ https://wiki.ubuntu.com/EdubuntuLtsConfParams