2. Проблемы?
● KIS 2013 тормозит на старых компах?
● Вам не хочется переставлять WinME/XP
каждый месяц?
● Почему-то вам звонят каждый день и
говорят «у меня не работает принтер»?
● Хочется настроить что-то один раз, а
потом даже и не вспоминать?
● Вы хотите устроить тотальную слежку?
Тогда вас заинтересует моё
предложение.
● Появился новый
сотрудник и ему
срочно нужен
компьютер с
готовой к работе
ОС?
● KIS 2013 тормозит на старых компах?
● Вам не хочется переставлять WinME/XP
каждый месяц?
● Почему-то вам звонят каждый день и
говорят «у меня не работает принтер»?
● Хочется настроить что-то один раз, а
потом даже и не вспоминать?
● Вы хотите устроить тотальную слежку?
Тогда вас заинтересует моё
предложение.
3. Что нам необходимо.
● 20 штук тонких клиентов Pentium III,IV или
Celeron. Можно даже без жестких дисков!!
● Один сервер на Intel i7. RAID массив
жестких дисков. Возможно пригодится
слабенкий компьютер для резервных копий.
● Коммутатор с гигабитной линией до
сервера и 100мбитной до клиентов.
4. Размышления
● Первые 3 проблемы
решаются установкой linux
для слабых машин.
● Но как же тотальная слежка
и настроить всё и сразу?
● Тогда моё предложение-
создать терминальный
сервер и запускать тонкие
клиенты через сеть!
6. PXE
● Preboot eXecution Environment
● Это cреда для загрузки компьютеров с помощью сетевой карты
без использования жёстких дисков, компакт-дисков и других
устройств. Для организации загрузки системы в PXE
используются протоколы IP, UDP, BOOTP и TFTP.
● PXE-код, обычно находящийся в ПЗУ сетевой карты, получает из
сети по протоколу TFTP (получив адрес TFTP-сервера по BOOTP)
исполняемый файл, после чего передаёт ему управление.
● Одна из реализаций загружаемого по PXE файла — pxelinux из
комплекта программ syslinux. Умеет показывать пользователю
меню, похожее на меню syslinux и загружать по сети и передавать
управление ядру Linux и программам, имеющим идентичный
формат загрузки (например, Memtest86).
7. Немного магии
● Wake-on-LAN
● Технология, позволяющая
удалённо включить компьютер
посредством отправки через
локальную сеть специальной
последовательности байтов —
пакета данных (так называемого
magic packet — «волшебного
пакета»)
● Это можно сделать, например, с
помощью другого компьютера с
соответствующей программой
8.
9. BOOTP
● Bootstrap Protocol
● Cетевой протокол, используемый для автоматического
получения клиентом IP-адреса. Это обычно происходит во
время загрузки компьютера.
● BOOTP позволяет бездисковым рабочим станциям получать
IP-адрес прежде, чем будет загружена полноценная
операционная система. Исторически это использовалось для
Unix-подобных бездисковых станций, которые в том числе
могли получать информацию о местоположении загрузочного
диска посредством этого протокола. А также большими
корпорациями для установки предварительно настроенного
программного обеспечения (например, операционной системы)
на новоприобретённые компьютеры.
● Данный протокол поддерживается BIOS на современных
мат.платах и сетевых картах.
10. TFTP
●
Trivial File Transfer Protocol
●
TFTP, в отличие от FTP, не содержит возможностей
аутентификации (хотя возможна фильтрация по IP-адресу) и
основан на транспортном протоколе UDP.
●
Безопасность?
● Демон tftpd отказывается обрабатывать файлы, содержащие
в своём имени комбинацию «/../» или начинающуюся с «../».
Запись разрешается только в файлы, которые уже
существуют (любого размера, например нулевого), и
доступны для публичной записи (права доступа: -rw-rw-rw-).
11.
12. Что дальше?
● Очевидно, из определений протоколов
следует, что нам нужен особый сервер. Что
же он должен уметь?
● DHCP-сервер для обеспечения BOOTP
● TFTPD-сервер
● NFS & Samba
● WOL скрипт
● И какая-то операционная система, которая
будет отпавляться тонким клиентам!!!
13. The Linux Terminal Server Project-добавляет
поддержку тонких клиентов серверу Linux.
Это гибкое, недорогое решение для запуска
тонких клиентов в школах(см. Edubuntu) и на
предприятиях. Тонкие клиенты используются
для веб-сёрфинга, офисных работ- e-mail,
office, icq,и для обучения.
14. Процесс настройки LTSP
● На LTSP-сервере в среде chroot подготавливается
минимальная операционная система на базе Linux и X
Window System;
apt-get install ltsp-server-standalone
● Устанавливаем LTSP сервер, все зависимости
включены автоматически:
ltsp-build-client --arch i386
● Редактируем настройки isc-dhcp-server в
/etc/dhcp/dhcpd.conf
include "/etc/ltsp/dhcpd.conf";
● Правим /etc/exports
/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)
/etc/init.d/tftpd-hpa restar; /etc/init.d/isc-dhcp-server
15. Процесс загрузки
● Клиент использует загрузку по сети с PXE, который по
протоколу DHCP получает свой ip-адрес и адрес
загрузочного сервера (LTSP-сервер). Загрузчик получает
ядро и initrd по протоколу TFTP с LTSP-сервера. Ядро
заново получает свой ip-адрес и адрес сервера, с
которого можно подключить корневую файловую
систему (подготовленное заранее в chroot), после чего
монтирует его по протоколу Network File System (NFS)
либо Network Block Device (NBD)
16. ● Клиент устанавливает SSH-туннель к графическому
окружению LTSP-сервера, через который локально
запускает LDM (LTSP Display Manager). С этого
момента, программы запускаются на LTSP-сервере, а
отображаются и управляются на клиенте.
17. ● Возможен локальный запуск приложений на
тонком клиенте (утолщение). Например,
mplayer, vlc для воспроизведения видео.
18. Преимущества
● Windows
● Дёшево: мощный сервер приложений и куча слабых
nettop-ов или просто старых компьютеров с
поддержкой netboot.
● Бесплатные приложения. Открытая лицензия сервера
GPLv2.
● Простота обслуживания: один раз настраиваем сервер.
Ставим всё необходимое ПО. Создаем пользователей,
раздаем права. Больше никаких «у меня не
открывается word или у меня не работает принтер».
● Безопасность- Вирусы. Удаленное управление через
ssh.
19. А как же Виндовс???
● VirtualBox-Oracle
● KVM(Kernel-based Virtual Machine)-RedHat
● Xen(кроссплатформенный монитор
виртуальных машин)-The Xen Project
● vmware(дорого, круто, сложно)
20. Виртуализация
● VirtualBox-бесплатно, просто, сердито,
медленно. Поэтому я его и выбрал.
● Конечно более привлекательно смотрится
xen, так как паравиртуализация делает его
очень быстрым. Он разработан специально
для разворачивания сервера виртуальных
машин. Он используется как компонент в
облачных вычислениях.
● Vmvare предлагает очень много решений для
разворачивания облаков, но это дорого.
21. Настройка Virtualbox
● Собственно говоря это всё. Теперь, как обычно, из
графического интерфейса создаем виртуальные
машины.
● Добавляем extention-pack для возможности
подключения к виртуальным машинам через
rdesktop.
● Кто-то спросит: «Но как же так? А если на сервере
нет X-system, тогда как будет работать
виртуалбокс?»
apt-get install virtualbox
VBoxHeadless -s "Ubuntu"
22. ● Кроме того, можно
создавать образы
машин из tty
удалено, что очень
удобно.
● Теперь мы можем
подключиться к машине:
Rdesktop localhost:3389
23. VirtualBox+LTSP
● Вы действительно подумали, что клиент будет
запускать X-сиссию на сервере, чтобы потом
запустить себе VBox? Нет конечно, можно
устроить так, чтобы сотрудник даже и не знал
что он в виртуалке, под линуксом и еще где-то
на сервере. Для этого нужно man lts.conf .
ltsp-chroot; nano /etc/lts.conf
24. ● Память сервера:
2Gb+512MB*Users=12Gb(users=20), но на
стайте LTSP другой расчет: 256 + (192 * 20) =
256 + 3840 = 4096 MB
● Некоторые проблемы возникают с пробросом
портов на usb,com-port,sound. Особенно если
человек работает из виртуальной машины.
● Интернет работает очень быстро, можно
смотреть даже YouTube 720p, но по какой-то
непоятной причине обычное локальное выидео
воспоизводится с ужасными фризами.
Итог.
25. А как же управление?
● Дело в том, что за время
своего развития, LTSP
дорос до того что у него
появилась возможность
создавать кластер
серверов, с
балансировщиком
нагрузки и даже
Web-интерфейсом!
Перечислю некоторые
компоненты кластера.
● Load Balancer Server — главный
сервер контроля нагрузки, следящий
за всеми подключёнными серверами
приложений.
● Control Center (Web Interface) —
веб-интерфейс, позволяющий
получить информацию о
подключенных клиентах и нагрузке
на сервера. а также произвести
некоторые настройки.
● NX Loadbalancer — запускает SSH
сервер и следит за подключение
пользователя nx в случае
необходимости перекидывает его на
тот или иной сервер.
26. Мистика!
● Самое интересное -это Windows Applications
Integration.
● Судя по демо-видео и краткому описанию на
сайте, на тонком клиенте запускается
Ubuntu сессия, и из нее можно запускать
приложения с Windows Terminal Server и
выводить как родное приложение.
27. Литература
● https://www.ltsp-cluster.org/
● http://www.ltsp.org/
● http://habrahabr.ru/post/142963/
виртуализация
● http://habrahabr.ru/post/126476/ История
успеха-запуск 200 тонких клиентов на ltsp
● http://wiki.debian.org/LTSP/Howto
● Man lts.conf
● https://www.virtualbox.org/