Ltsp термінальний сервер на linux

Ltsp термінальний сервер на linux

Зараз я розповім вам про те, як можна заощадити чималу кількість часу і грошей на вашій IT-інфраструктурі.
Як централізовано адмін велика кількість linux робочих станцій не розводити при цьому хаос у вашій екосистемі.
І так, що ж таке LTSP?

LTSP - Це термінальне рішення на Linux.
Говорячи "термінальне", я в першу чергу маю на увазі не підключення до віддаленого робочого столу як в Windows. Я маю на увазі набагато більш гнучку і просунуту систему доставки ПО, конфігов, домашенего каталогу, та й самої операційної системи на клієнтські робочі станції з вашого термінального сервера.

Зокрема, LTSP - це сукупність переднастроєних програм і скриптів які дозволять вам без особливих зусиль перетворити вашу свіжовстановленому Ubuntu, або інший дистрибутив, в повністю готове до роботи термінальне оточення. Яке буде завантажуватися на будь-яких комп'ютерах у вашій мережі і надавати користувачеві повноцінний інтерфейс.

У LTSP є кілька режимів роботи:

Для того, щоб зрозуміти в чому відмінність для початку нам потрібно розібратися як LTSP працює.

Принцип роботи

Припустимо, у вас є сервер і безліч комп'ютерів (термінальних станцій), які ви роздаєте користувачам, щоб ті за ними працювали. Термінальні станції ці майже нічим не відрізняються від звичайних комп'ютерів, за винятком того, що їх розміри зазвичай досить малі, для роботи їм не потрібен жорсткий диск і, крім того, вони можуть бути досить слабкими і дешевими, на роботі користувачів це не відбивається (в режимі тонкого клієнта). Варто відзначити, що в ролі термінальної станції може виступати будь-який комп'ютер, який вміє завантажуватися по мережі.

Як я вже сказав, на термінальних станціях цілком може і не бути жорсткого диска, а відповідно ніякої операційної системи на них не встановлений, вся завантаження відбувається c LTSP-сервера прямо по мережі.
На термінальному сервері у вас встановлена ​​система, в ній же і зберігаються всі дані користувачів, конфіги, і ПО.
Коли користувач включає свій комп'ютер, у нього завантажується операційна система з термінально сервера, він може в неї увійти, попрацювати, відключитися. При цьому всі дані завжди залишаються на термінальному сервері.

Тепер про режими роботи:

  • тонкий клієнт - Додатки виконуються на термінальному сервері і просто виводяться на дисплей термінального клієнта.
  • товстий клієнт - Додатки виконуються безпосередньо на термінальному клієнті, а сервер просто надає доступ до призначених для користувача файлів і програм.

Отже, який же режим нам вибрати? - все залежить від того, що ви хочете отримати. Ви можете трохи заощадити використовуючи на клієнтах слабкі станції укупі з потужним сервером в режимі тонких клієнтів. Або розвантажити термінальний сервер і локальну мережу, купивши термінальні станції потужніший, переклавши відповідальність за виконання програм на клієнтів, змусивши їх, тим самим, працювати в режимі товстого клієнта.

Крім того, режими можна комбінувати і деякі додатки можна змушувати працювати інакше, ніж всі інші. Наприклад запускати "важкий" браузер з flash локально на клієнтах, а офісні додатки запускати на самому сервері.

Плюси і мінуси

Давайте розглянемо які ж плюси ми маємо в порівнянні зі стандартними принципами побудови ит інфраструктури:

  • Централізоване управління - У вас є одна єдина конфігурація, якої ви керуєте з одного місця.
  • Резервування і бекапірованіе - Всі призначені для користувача дані у вас зберігаються на одному сервері, а соотвественно налаштувавши резервування цього сервера, ви ніколи не втратите призначені для користувача дані.
  • Економія на комп'ютерах - Бездискові термінальні станції стоять помітно дешевше, ніж повноцінні комп'ютери.
  • Швидке розгортання - Вам більше не потрібно встановлювати ОС. Прикупивши чергову пачку терміналів їх можна сміливо встромляти в мережу, вони відразу підтягнутий операційну з сервера і вони будуть повністю готові до роботи. Точно так же неробочий термінал можна швидко замінити іншим.
  • Незалежність від робочого місця - Користувачі можуть працювати під своїм обліковим записом незалежно з будь-якого комп'ютера в мережі, завжди буде довантажувати саме їх особистий профіль.
  • OpenSource - Перш за все, LTSP - це відкритий і вільний проект. Вам не треба купувати ліцензії для його використання. Крім того, ви завжди можете подивитися вихідні, в основі яких лежать звичайні bash-скрипти.
  • Потрібно постійно з'єднані LAN - термінальні станції вантажаться і працюють по мережі, тому потрібно стабільне дротове підключення до мережі.
  • Залежність від сервера - ясна річ, без сервера все термінальні клієнти стають марними і превращяются в гарбуз.

Пристрій

Перше, що ми повинні знати, це компоненти з яких складається сервер:

По-друге розберемося в тому як він працює:

Коли ви встановите на ваш сервер пакет ltsp-server-standalone. ви, до повністю налаштованим сервісів, отримаєте ще кілька ltsp-скриптів:

  • ltsp-build-client - збирає для нас образ системи, який ми будемо віддавати на клієнтські машини.
  • ltsp-chroot - chroot'іт нас в клієнтську систему, наприклад для установки додаткових пакетів і зміни конфігов.
  • ltsp-config - генерує приклади конфігов для LTSP.
  • ltsp-info - виводить інформацію про поточну установці.
  • ltsp-update-image - оновлює nbd-образ базової системи.
  • ltsp-update-kernels - копіює ядро ​​і завантажувач з клієнтського образу, в директорію tftp-сервера
  • ltsp-update-sshkeys - додає ssh publickey вашого сервера, в known_hosts клієнтського образу.

Їх то ми і будемо використовувати для налаштування нашого оточення.

Як влаштована завантаження по мережі?

Так само гранично важливо розуміти як влаштована завантаження по мережі, процес завантаження виглядає приблизно наступним чином:

Скріншот вікна входу

Ltsp термінальний сервер на linux

Коли користувач логинится проиходит наступне:

  • У разі тонкого клієнта, LDM заходить з введенням логіном і паролем на ваш сервер по SSH. якщо успішно, завантажує оточення з сервера простим прокинув X'ов.
  • У разі товстого клієнта, LDM намагається підключитися з введенням логіном і паролем до вашого сервера, якщо успішно, то Маунт домашній каталог користувача з сервера на клієнт за допомогою sshfs, потім запускає оточення.

Я опишу установку LTSP в режимі товстого клієнта, як найбільш складну і цікаву.
Налаштування в режимі тонкого клієнта мало чим буде олічается, за винятком того, що необхідне ПО вам доведеться встановлювати не в chroot, а в основну систему, і після цього вам не потрібно буде збирати заново nbd-образ.

Маленька оговорочка, для сервера краще брати дистрибутиви свіжіше, тому що LTSP знаходиться серед стандартних пакетів і оновлюється разом з дистрибутивом. Для гостьової ос краще брати проверненную Ubuntu 14.04 LTS, тому що якщо брати дистрибутив свіжіше, потім почнуться проблеми, то завантажувач НЕ станавливаются, через перейменування пакетів, то ще щось.

Отже, приступимо. Спочатку встановлюємо ltsp-server-standalone:

Тепер за допомогою ltsp-build-client ми встановимо клієнтську систему. LTSP підтримує різні DE, але найбільше мені сподобалося як працює LXDE. На відміну від Unity він споживає зовсім мало ресурсів і так-сяк працює на голих іксах, він майже повністю конфігурується за допомогою змінних середовища, це дуже зручно, так-як їх можна вказати в головному конфіге lts.conf.

Всі ці опції можна вказати в конфіги /etc/ltsp/ltsp-build-client.conf. що б не прописувати їх вручну:

У разі якщо опція не вказана, буде використовуватися той же дистрибутив і / або архітектура, що і на серверної системі.

Після запуску комманди, у вас в повністю автоматичному режимі, за допомогою debootstrap. розгорнеться система в каталог / opt / ltsp / i386.

Ця ж система і буде використовуватися в подальшому всіма командами LTSP, в неї буде встановлюватися додаткове ПО, з неї будуть генериться завантажувач з ядром і nbd-образ системи. В принципі, її, так само можна віддавати по nfs при належній налаштування завантажувача.
Після установки LTSP автоматично згенерувати з неї nbd-образ. Цей образ і будуть завантажені наші клієнти.

Для того, щоб внести якісь зміни в гостьову ОС, наприклад встановлювати додаткове ПЗ, використовується команда ltsp-chroot.
Якщо ви хочете щось поміняти або додати в гостьову систему, виконайте ltsp-choot і ви опинитеся всередині неї.
Потім зробіть потрібні вам дії, і вийдіть командою exit.
Щоб зміни застосувались, потрібно перегенеріть nbd-образ командою ltsp-update-image

DHCP-сервер:

Але, так як я припускаю, що у вас вже є DHCP-сервер, пропоную налаштувати його.

Тепер вам потрібно додати до вашого dhcp-сервера 2 опції:

Як це зробити, дивіться інструкції до вашого DHCP-сервера.
Ось, наприклад інструкція як це зробити на обладнанні Mikrotik.

установка ПО

  • Давайте ж увійдемо в нашу систему:
  • Тепер встановимо vim:
  • Підтримку російської мови:
  • Останню версію Remmina:
  • Браузер Chromium c плагіном PepperFlash (свіжий flash від google)
  • До речі, PepperFlash можна встановити і запустити без Chromium, в Firefox:
  • Установка PepperFlash для Firefox

    створення користувачів

    • Звичайних користувачів термінального сервера можна створити стандартним способом:

    Або через GUI якщо він встановлений у вас на сервері

  • Також при бажанні можна створити локального адміністратора в клієнтському образі:
  • конфиг lts.conf

    Конфиг поділений на секції, в секції Default інформація про настроювання загальні для всіх клієнтів:

    Взагалі повний список опцій ви можете знайти на цій сторінці. або в

    У підсумку ми отримуємо одночасно гнучку, безпечну і просту в адмініструванні систему.
    Ми можемо стандартними методами встановлювати будь-яке ПЗ на неї, розмежовувати права користувачів, правити конфіги загальні і для кожного користувача окремо, і не боятися за втрату даних.

    До того ж, завдяки вільній ліцензії все це дістається вам абсолютно безкоштовно.

    LTSP можна використовувати як в навчальних закладах, так і в звичайних офісах, як для віддаленого підключення до Windows, так і просто для звичайної роботи.

    Не секрет, що в нинішні часи для більшості співробітників, зараз, буде достатньо лише браузера з базовим набором офісних програм на робочому місці.

    Кілька цікавих посилань:

    • LTSP.org - Офіційний сайт проекту.
    • UbuntuLTSP - Сторінка на Ubuntu Wiki.
    • LTSP-Cluster. - Проект зі створення кластера на LTSP (для великих установок).
    • Raspi-LTSP - Цікавий проект, який дозволяє використовувати Raspberry Pi як термінальних станцій.

    Схожі статті