LTSP-5 Как это должно работать?

Обсуждение технических вопросов по продуктам Novell под Linux, а также *nix систем

LTSP-5 Как это должно работать?

Сообщение Игорь Вершинин » 07 май 2007, 11:15

Столкнулись совершенно случайно с проблемой.

Установлены в наших учебных классах терминалы под управлением LTSP-5. Судя по документации, там есть файл конфигурации (/etc/ltsp.conf) в котором кроме всего прочего прописываются каталоги, с доступом ReadWrite и виртуальные каталоги. Все это должно работать. Но...
Изначально, после инсталяции (на Ubuntu 7.04) все загружалось, вводился любой логин и ничего не происходило - экран приглашения перезагружался (это в графике). В текстовом терминале логинится получалось лишь введя пользователя в chroot (в Убунту LTSP запускается через chroot, соответственно введя пользователя в это окружение можно логинится через tty1 в текстовом режиме). Обещанный режим "через OpenSSH" не работал.
Затем найдя какой-то мануал на каком-то сайте, ввели автологон в LTSP. Это стало работать следующим образом. После загрузки терминала вводим логин реального пользователя (не chroot'овского) и входим в Gnome. Практически ничем работа он режима локальной загрузки не отличается. Т.е. все вроде как нормально. Но.. Определения каталогов из ltsp.conf не работают. Раз. Если все входят под одним логином, то работают в одним домашним каталогом реальным (а не виртуальным, как хотелось бы), т.е. один юзер создал у себя файл, другой его тут же удалил (ведь неясно что это такое появилось, если сам ничего не делал :) ). В общем-то, бардак. И, самое неприятное, если запустить на одном терминале wine-приложение (например, 1С), то на другом терминале оно не запускается (почему-то), хотя тот же Firefox и OpenOffice работают нормально.

Как вообще все это должно работать?

Я подумал, что возможно части библиотек не хватает в chroot LTSP'шном. Но тогда каких? Все ставилось на чистый Desktop Ubuntu 7.04 из стандартного репозитария. Потом запуск автонастройки и все... пытаемся работать.

На сайте много говориться, что все это работает в масштабах героических. Но не очень понятно как...

:(
Аватара пользователя
Игорь Вершинин
 
Сообщения: 387
Зарегистрирован: 05 июн 2002, 20:34
Откуда: Волгоград

Сообщение Nooob » 07 май 2007, 15:48

Мне тоже кажется что это дело в дистребутиве. Я ставил на OpenSuse и все работало нормально. Можно сказать из "Коробки" :)
Аватара пользователя
Nooob
 
Сообщения: 75
Зарегистрирован: 08 фев 2007, 19:45

Сообщение Игорь Вершинин » 07 май 2007, 19:13

А вообще как это должно выглядеть с точки зрения пользователя?

Вот я ввожу логин и загружаюсь как в локальную станцию? Мне доступен мой /home? или будет доступен chroot'овский для моего логина? (т.е. если я поработаю через терминал, то к своим данным я доберусь из локальной машины, и будут ли они лежать в том же самом месте?)

Что будет, если еще кто-то другой войдет с моим логином? Как его работа отразится на моей работе? (т.е. не будет ли одно wine-приложение мешать работе другого? - на одной машине работает, а на другой, пока на первой не закроешь, не запускается)

Я спрашиваю, потому что никак не понимаю, что должно получится в конце после настройки. Вроде как у нас что-то работает, но, мне кажется, на уровне какого-то шаманства - не чувствуется "индустрии". :)
Аватара пользователя
Игорь Вершинин
 
Сообщения: 387
Зарегистрирован: 05 июн 2002, 20:34
Откуда: Волгоград

Сообщение Иван Левшин aka Ivan L. » 23 авг 2007, 17:32

Попробовал сабж на опенсусе 10.2. Замечания:
1. Под опенсусей работает не сам LTSP-5, а некий Kiwi-LTSP. Как я понял, это куча перловых скриптов, которое создают chroot-окружение, которое монтируется по NFS. Оттуда уже запускается ldm.
2. После ввода логина/пароля в ldm попадаем в GNOME. Пока не разобрался - как переключиться в КДЕ (мне лично он нравится больше гнома). Плюс - такое впечатление, что после того, как зашел, работаешь уже не в chroot. В связи с этим - у меня вполне реальные опасения относительно того, что юзвери свернут чего-нибудь. Кто владеет информацией - просветите, плз.
3. Никак не пойму, как сделать поддержку локального оборудования и перенести часть нагрузки на локальную машину. В LTSP такая штука, судя по пресс-релизам, есть. lts.conf создавал сам, руками - но, походу, он не читается при загрузке. Сам разработчик Kiwi-LTSP обещал нормальную поддержку локального железа ближе к октябру.
Рецепт с сайта OpenSUSE в части
Код: Выделить всё
mkdir -p /home/$USER/mountpoint
ltspfs clientIP:/media /home/$USER/mountpoint
мне лично, во-первых, непонятен. Не понимаю я, что делает указанная комбинация команд. Вроде бы должон создаваться mountpoint в домашнем каталоге пользователя, но этого не происходит. Во-вторых, сокет /tmp/.ltspfs-socket у меня отсутствует :(
4. Не могу понять, как завернуть трафик сессии в ssh и пожать его. Таки VNC кушает изрядно трафику. А по NX, насколько я понял, LTSP не работает.

В общем, пока удалось только загрузить по PXE удаленный рабочий стол. И ничего более. А хочется - всего, много и исключительно в одно рыло.
Иван Левшин aka Ivan L.
 
Сообщения: 2378
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Александр Читалкин » 23 авг 2007, 21:59

Экспериментировал одно время с LTSP, нужно было помочь хорошим людям это все настроить под убунтой. Делалось примерно так (предполагаю, что вы, Игорь, делали тоже самое).

Ставим софт, все что нужно есть в репозитариях:
Код: Выделить всё
apt-get ltsp-server ltsp-build-client

Последняя утилита - это билдер-хелпер, очень много за тебя делает - выкачивает систему для загрузки на клиента, раскручивает tftp, поднимает pxe, ssh, nfs и экспортирует все что нужно. У меня все заработало почти сразу (проблемы были, но сути их уже не припомню - разрешил достаточно оперативно).

Вообще, если сервер планируется только в качестве LTSP, лучше использовать edubuntu - там все в комплекте и настроено, плюс утилита LTSPManager для руления посредством GUI.

Определения каталогов из ltsp.conf не работают. Раз. Если все входят под одним логином, то работают в одним домашним каталогом реальным (а не виртуальным, как хотелось бы), т.е. один юзер создал у себя файл, другой его тут же удалил (ведь неясно что это такое появилось, если сам ничего не делал Smile ). В общем-то, бардак. И, самое неприятное, если запустить на одном терминале wine-приложение (например, 1С), то на другом терминале оно не запускается (почему-то), хотя тот же Firefox и OpenOffice работают нормально.

Как это работает? Полагаю примерно так. По bootp клиенты получают ip адрес. Далее по этому адресу с сервера через tftp забирается загрузчик PXE, который загружает vmlinuz (ядро). Ядро грузится, и подключает по nfs то, что станет системе рутом (/opt/ltsp/i386). В итоге мы уже имеем бездисковую рабочую станцию, только с корневой файловой системой nfs, смонтированную с сервера, а не с привычной дисковой ext3. В комплект уже входит все необходимое для работы плюс обвязки вроде ltspfs для маппинга девайсов сервера в дерево девайсов на клиенте. Он стартует, и мы получаем обычное tcp/ip между X сервером и клиентом, никаких фокусов - также как и на локальной машине. Очевидно, что никаких "виртуальных домашних каталогов" быть не может - все пользователи работают внутри своей одной-единственной домашней директории, сколько бы их подключено не было.
Последний раз редактировалось Александр Читалкин 26 авг 2007, 04:19, всего редактировалось 2 раз(а).
Аватара пользователя
Александр Читалкин
 
Сообщения: 112
Зарегистрирован: 13 ноя 2002, 23:29
Откуда: Москва

Сообщение Иван Левшин aka Ivan L. » 24 авг 2007, 11:00

Ну, если уж мы про убунту/едубунту - то работает оно примерно так :)
Иван Левшин aka Ivan L.
 
Сообщения: 2378
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Александр Читалкин » 24 авг 2007, 13:56

Расхождений не заметил.
Аватара пользователя
Александр Читалкин
 
Сообщения: 112
Зарегистрирован: 13 ноя 2002, 23:29
Откуда: Москва

Сообщение Иван Левшин aka Ivan L. » 24 авг 2007, 14:18

Во-первых, по ссылке объяснение более подробно. В частности, там указывается, что LTSP может запросто находиться вне /opt/ltsp/i386.
Во-вторых - отнюдь не "очевидно", что
Очевидно, что никаких "виртуальных домашних каталогов" быть не может


Пользователи работают не в chroot - уже хотя бы потому, что та же Opera, установленная мною, доступна всем пользователям. И с локальной консоли в т.ч. (установлена из рпм, а не скомпилирована в Home directory). Так что вопрос обеспечения пользовательского взаимодействия и безопасности остается открытым.
Иван Левшин aka Ivan L.
 
Сообщения: 2378
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Александр Читалкин » 24 авг 2007, 14:47

Во-первых, по ссылке объяснение более подробно. В частности, там указывается, что LTSP может запросто находиться вне /opt/ltsp/i386.

Цель детального описания процесса никогда не ставилась - для этого есть масса информации в Сети.

Во-вторых - отнюдь не "очевидно"
Пользователи работают не в chroot - уже хотя бы потому, что та же Opera, установленная мною, доступна всем пользователям. И с локальной консоли в т.ч. (установлена из рпм, а не скомпилирована в Home directory). Так что вопрос обеспечения пользовательского взаимодействия и безопасности остается открытым.

И вновь не соглашусь. Для тонкого клиента создается NFS-экспорт, содержащий "scaled-down GNU/Linux installation, customized so that it's efficient to boot over the network", с его стороны являясь корневой файловой системой, а со стороны сервера - это черут. И должен быть черутом, потому что корень самого сервера не годится в качестве корня для тонкого клиента - для него нужна своя инсталляция, которую вышеуказанный скрипт генерирует в /opt/ltsp/i386. И если DHCP настроен правильно, именно она будет использоваться при загрузке клиента. Весь дополнительный софт, в связи с этим, следует устанавливать, предварительно сделав черут в корень для тонких клиентов - допустим "chroot /opt/ltsp/i386".

В итоге, отличия от полнофункциональной инсталляции Linux у тонкого клиента таковы: 1) Загрузка ядра производится не с диска, а из сети 2) Корневая файловая система - не дисковая ext3, а сетевая NFS (важно заметить, что для всех клиентов - одна и та же) 3) Х-сервер не локальный, а удаленный. В остальном существенных отличий нет. Во время процедуры логона в качестве пользовательского каталога будет назначен путь из /opt/ltsp/i386/etc/passwd (или чего-то подобного) - например /home/user со стороны тонкого клиента, который на стороне сервера будет размещаться в /opt/ltsp/i386/home/user. Или где-то в другом месте на сервере, если /home - это независимая точка монтирования и отдельный экспорт.

Попробуйте на своей машине зайти в систему одним и тем же пользователем одновременно с разных консолей - и у всех будет одна и та же домашняя директория. Не встречал случая, чтобы для каждого сеанса создавался собственный экземпляр home :) Хотя, думаю, что и это можно реализовать, но тривиальным решением это не будет.

Подозреваю также, что VNC к протоколу X не имеет никакого отношения, и не используется в общении тонкого клиента и сервера. Для компресси Х можно использовать lbxproxy или dxpc.
Последний раз редактировалось Александр Читалкин 26 авг 2007, 04:17, всего редактировалось 1 раз.
Аватара пользователя
Александр Читалкин
 
Сообщения: 112
Зарегистрирован: 13 ноя 2002, 23:29
Откуда: Москва

Сообщение Иван Левшин aka Ivan L. » 25 авг 2007, 10:14

Александр Читалкин - спасибо за очередную научно-популярную лекцию :D Тут, в общем, люди грамотные, читать вполне обученные. И насчет "отдельных экземпляров" - боюсь, в курсе.
Насчет "полно информации в сети" - ох, лукавите, любезный :) Не так уж ее и много - особенно по LTSP 5. Который, смею заметить довольно сильно отличается даже от LTSP 4.2, не говоря уже о ранних релизах.
Домашняя папочка не из чрута подключается - не знаю, как в убунте, в опенсусе 10.2 именно так. Что, собственно, и удивляет - похоже, что в сусе для того, чтобы все заработало в чруте, надо делать дополнительные телодвижения. По крайней мере, файл /srv/kiwi-ltsp/etc/ltsp-chroot пуст.

По теме повествования - господа, у кого есть знания в области программирования hal, python, bash, c и немного свободного времени - проекту kiwi-ltsp необходима помощь. Как сказал один одинз из разработчиков (cyberorg): "We know how it works but we can't coding..."
Иван Левшин aka Ivan L.
 
Сообщения: 2378
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Александр Читалкин » 25 авг 2007, 18:05

Александр Читалкин - спасибо за очередную научно-популярную лекцию Very Happy Тут, в общем, люди грамотные, читать вполне обученные. И насчет "отдельных экземпляров" - боюсь, в курсе.

Всегда пожалуйста. Тема повествования у нас "LTSP-5 Как это должно работать?" на примере Ubuntu 7.04. Далее, если об "отдельных экземплярах" тебе все известно, в чем заключался вопрос о "виртуальный домашних каталогах"? Что ты хочешь увидеть?

Домашняя папочка не из чрута подключается - не знаю, как в убунте, в опенсусе 10.2 именно так.

Что является / для тонкого клиента, и что экспортируется и монтируется на нем в качестве /home в opensuse и kiwi-ltsp?
Аватара пользователя
Александр Читалкин
 
Сообщения: 112
Зарегистрирован: 13 ноя 2002, 23:29
Откуда: Москва

Сообщение Иван Левшин aka Ivan L. » 25 авг 2007, 20:57

Александр Читалкин - ну, по теме повествования я имею честь доложить - к сожалению, далеко не все так гладко. Насколько известно лично мне - все гладко, пострижено, покрашено и посыпано песком только в Edubuntu. Потому как дистр лепили изначально с LTSP. Ubuntu/Kubuntu - несмотря на то, что изначально LTSP ориентирован на них, - далеко не всегда и не сразу работают по человечески.
Относительно чрута - у меня нет возможности пробовать работу LTSP в Ubuntu. Мне этот дистрибутив не нравится :) Плюс - по вполне известным причинам мы ориентированы на продукты компании Novell, Inc. Следовательно - активно грызем SuSE.
Так вот в Kiwi-LTSP все просто до безобразия - такое впечатление, чрут там действительно есть. До момента запуска Gnome/KDE :). Дальше - абсолютно обычная, ничем не примечательная X-сессия. Еще раз повторяю - не в курсе, что творится в убунту, однако подозреваю, что положение дел и там похоже. Хотя - вполне может оказаться, что Ubuntu действительно запускает полностью чрут :)

Относительно того, что монтируется/подключается - я ссылку нумер раз уже давал. Там - про Убунту. Ссылка нумер два - Kiwi/LTSP :) Чай не маленький, читать умеешь?

P.S. Упоминание о /etc/lts.conf, кстати, настораживает. Судя по документации - оно должно управлять процессом. Ну или, по крайней мере, влиять на него. Однако в kiwi оно отсутствует, да и Игорь жалуется... Может не зря Schaefi его не включил в kiwi?
Иван Левшин aka Ivan L.
 
Сообщения: 2378
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Александр Читалкин » 25 авг 2007, 23:49

Относительно того, что монтируется/подключается - я ссылку нумер раз уже давал. Там - про Убунту. Ссылка нумер два - Kiwi/LTSP Smile Чай не маленький, читать умеешь?

Мне это давно и хорошо известно. Вопрос был о том, что сделано конкретно у тебя.

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

Вариант два. Разделить задачи загрузочного сервера и сервера приложений на одном физическом сервере - создав новую, "пользовательскую" дистрибуцию со всем необходимым для клиента софтом, и запускать там экземпляр GDM/KDM с Xvfb, или openssh/ldm для LTSP5 в chroot. Настроить тонких клиентов соответствующим образом. Как создать дистрибуцию описывать не буду. Стартовать X из черута также достаточно просто - тут, в общем, люди грамотные, пользоваться google вполне обученные. В этом случае home локальных пользователей сервера и home удаленных клиентов будут разделены. Но их и нетрудно связать, не теряя изолированность остальной среды.
Аватара пользователя
Александр Читалкин
 
Сообщения: 112
Зарегистрирован: 13 ноя 2002, 23:29
Откуда: Москва

Сообщение Иван Левшин aka Ivan L. » 26 авг 2007, 15:05

Александр Читалкин писал(а):Мне это давно и хорошо известно.

Ну раз такое дело, чем тогда был обусловлен вопрос?
Код: Выделить всё
Что является / для тонкого клиента, и что экспортируется и монтируется на нем в качестве /home в opensuse и kiwi-ltsp?

Нестыковочка получается... ;)
Александр Читалкин писал(а):Вопрос был о том, что сделано конкретно у тебя.

Я не кульхацкер, а простой советский админ. Следовательно - пользую то, что сделали разработчики Kiwi-LTSP.
Александр Читалкин писал(а):Что более занятно... Это вопрос с X-сессией и изолированностью среды удаленного клиента от хост-машины (точнее, ее отсутствием). Чтож, неприятно конечно, если этот сервер выполняет еще тыщу других задач. Как вариант решения - использовать обособленную машину в качестве сервера приложений.

Зачрутить можно, конечно, все. Ну или почти все. Только я не совсем понимаю - если у меня 50 пользователей, мне что, для каждого из них чрут-окружение создавать? Нелогично как-то вытанцовывается. Хотя бы с точки зрения дискового пространства. Да и в случае внесения изменений на хост-машине - это ж целый огород надо городить с синхронизацией всех пользовательских окружений.

Пока я больше склоняюсь к варианту, который предлагает Kiwi-LTSP. Т.е. - Х-сессия, завернутая в ssh. И настройки безопасности как для локальной многопользовательской машины. Другой вопрос - отчаянно не хватает информации о том, как именно работает Kiwi-LTSP. Что оно работает - хорошо, но я, как тебе, наверное, известно, привык знать - как и зачем оно работает.
Иван Левшин aka Ivan L.
 
Сообщения: 2378
Зарегистрирован: 05 июн 2002, 18:36
Откуда: Новомосковск, Тул. обл.

Сообщение Игорь Вершинин » 27 авг 2007, 13:48

Завтра хочу попробовать на тестовом сервере решение от 2X (www.2x.com). Вроде как тот же терминальный сервер с загрузкой через PXE, но работает по NX (что сильно экономит траффик). И конфигурируется как-то проще... Устали мы с LTSP-5. Что-то как-то работает, но... авторизация идет через SSH, потом вываливаемся в обычную сессию. Я даже ради эксперимента убил несколько специально созданных конфиг-файлов в /etc из сессии простого юзера (права на файлы 777, разумеется). Что повергло меня в некоторое недоумение. Чрута там нет, либо не умеем настраивать. В любом случае, решение кривое получается... :-(
Завтра инсталлируем Федору 7, на нее 2Х-сервер. Напишу, что получилось.
Аватара пользователя
Игорь Вершинин
 
Сообщения: 387
Зарегистрирован: 05 июн 2002, 20:34
Откуда: Волгоград

След.

Вернуться в *nix

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron