01.01.13
Организация ТЕРМИНАЛЬНОЙ
информационной системы
Выполнил: Сиганов Илья СБС-001-О
А так же виртуализация
Проблемы?
● KIS 2013 тормозит на старых компах?
● Вам не хочется переставлять WinME/XP
каждый месяц?
● Почему-то вам звонят каждый день и
говорят «у меня не работает принтер»?
● Хочется настроить что-то один раз, а
потом даже и не вспоминать?
● Вы хотите устроить тотальную слежку?
Тогда вас заинтересует моё
предложение.
● Появился новый
сотрудник и ему
срочно нужен
компьютер с
готовой к работе
ОС?
● KIS 2013 тормозит на старых компах?
● Вам не хочется переставлять WinME/XP
каждый месяц?
● Почему-то вам звонят каждый день и
говорят «у меня не работает принтер»?
● Хочется настроить что-то один раз, а
потом даже и не вспоминать?
● Вы хотите устроить тотальную слежку?
Тогда вас заинтересует моё
предложение.
Что нам необходимо.
● 20 штук тонких клиентов Pentium III,IV или
Celeron. Можно даже без жестких дисков!!
● Один сервер на Intel i7. RAID массив
жестких дисков. Возможно пригодится
слабенкий компьютер для резервных копий.
● Коммутатор с гигабитной линией до
сервера и 100мбитной до клиентов.
Размышления
● Первые 3 проблемы
решаются установкой linux
для слабых машин.
● Но как же тотальная слежка
и настроить всё и сразу?
● Тогда моё предложение-
создать терминальный
сервер и запускать тонкие
клиенты через сеть!
Учите матчасть!!
PXEPXE BOOTBOOT
TPTP
WAKE-WAKE-
ON-LANON-LAN
VirtualizVirtualiz
ationation
TFTPTFTPLTSPLTSP
PXE
● Preboot eXecution Environment
● Это cреда для загрузки компьютеров с помощью сетевой карты
без использования жёстких дисков, компакт-дисков и других
устройств. Для организации загрузки системы в PXE
используются протоколы IP, UDP, BOOTP и TFTP.
● PXE-код, обычно находящийся в ПЗУ сетевой карты, получает из
сети по протоколу TFTP (получив адрес TFTP-сервера по BOOTP)
исполняемый файл, после чего передаёт ему управление.
● Одна из реализаций загружаемого по PXE файла — pxelinux из
комплекта программ syslinux. Умеет показывать пользователю
меню, похожее на меню syslinux и загружать по сети и передавать
управление ядру Linux и программам, имеющим идентичный
формат загрузки (например, Memtest86).
Немного магии
● Wake-on-LAN
● Технология, позволяющая
удалённо включить компьютер
посредством отправки через
локальную сеть специальной
последовательности байтов —
пакета данных (так называемого
magic packet — «волшебного
пакета»)
● Это можно сделать, например, с
помощью другого компьютера с
соответствующей программой
BOOTP
● Bootstrap Protocol
● Cетевой протокол, используемый для автоматического
получения клиентом IP-адреса. Это обычно происходит во
время загрузки компьютера.
● BOOTP позволяет бездисковым рабочим станциям получать
IP-адрес прежде, чем будет загружена полноценная
операционная система. Исторически это использовалось для
Unix-подобных бездисковых станций, которые в том числе
могли получать информацию о местоположении загрузочного
диска посредством этого протокола. А также большими
корпорациями для установки предварительно настроенного
программного обеспечения (например, операционной системы)
на новоприобретённые компьютеры.
● Данный протокол поддерживается BIOS на современных
мат.платах и сетевых картах.
TFTP
●
Trivial File Transfer Protocol
●
TFTP, в отличие от FTP, не содержит возможностей
аутентификации (хотя возможна фильтрация по IP-адресу) и
основан на транспортном протоколе UDP.
●
Безопасность?
● Демон tftpd отказывается обрабатывать файлы, содержащие
в своём имени комбинацию «/../» или начинающуюся с «../».
Запись разрешается только в файлы, которые уже
существуют (любого размера, например нулевого), и
доступны для публичной записи (права доступа: -rw-rw-rw-).
Что дальше?
● Очевидно, из определений протоколов
следует, что нам нужен особый сервер. Что
же он должен уметь?
● DHCP-сервер для обеспечения BOOTP
● TFTPD-сервер
● NFS & Samba
● WOL скрипт
● И какая-то операционная система, которая
будет отпавляться тонким клиентам!!!
The Linux Terminal Server Project-добавляет
поддержку тонких клиентов серверу Linux.
Это гибкое, недорогое решение для запуска
тонких клиентов в школах(см. Edubuntu) и на
предприятиях. Тонкие клиенты используются
для веб-сёрфинга, офисных работ- e-mail,
office, icq,и для обучения.
Процесс настройки 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
Процесс загрузки
● Клиент использует загрузку по сети с PXE, который по
протоколу DHCP получает свой ip-адрес и адрес
загрузочного сервера (LTSP-сервер). Загрузчик получает
ядро и initrd по протоколу TFTP с LTSP-сервера. Ядро
заново получает свой ip-адрес и адрес сервера, с
которого можно подключить корневую файловую
систему (подготовленное заранее в chroot), после чего
монтирует его по протоколу Network File System (NFS)
либо Network Block Device (NBD)
● Клиент устанавливает SSH-туннель к графическому
окружению LTSP-сервера, через который локально
запускает LDM (LTSP Display Manager). С этого
момента, программы запускаются на LTSP-сервере, а
отображаются и управляются на клиенте.
● Возможен локальный запуск приложений на
тонком клиенте (утолщение). Например,
mplayer, vlc для воспроизведения видео.
Преимущества
● Windows
● Дёшево: мощный сервер приложений и куча слабых
nettop-ов или просто старых компьютеров с
поддержкой netboot.
● Бесплатные приложения. Открытая лицензия сервера
GPLv2.
● Простота обслуживания: один раз настраиваем сервер.
Ставим всё необходимое ПО. Создаем пользователей,
раздаем права. Больше никаких «у меня не
открывается word или у меня не работает принтер».
● Безопасность- Вирусы. Удаленное управление через
ssh.
А как же Виндовс???
● VirtualBox-Oracle
● KVM(Kernel-based Virtual Machine)-RedHat
● Xen(кроссплатформенный монитор
виртуальных машин)-The Xen Project
● vmware(дорого, круто, сложно)
Виртуализация
● VirtualBox-бесплатно, просто, сердито,
медленно. Поэтому я его и выбрал.
● Конечно более привлекательно смотрится
xen, так как паравиртуализация делает его
очень быстрым. Он разработан специально
для разворачивания сервера виртуальных
машин. Он используется как компонент в
облачных вычислениях.
● Vmvare предлагает очень много решений для
разворачивания облаков, но это дорого.
Настройка Virtualbox
● Собственно говоря это всё. Теперь, как обычно, из
графического интерфейса создаем виртуальные
машины.
● Добавляем extention-pack для возможности
подключения к виртуальным машинам через
rdesktop.
● Кто-то спросит: «Но как же так? А если на сервере
нет X-system, тогда как будет работать
виртуалбокс?»
apt-get install virtualbox
VBoxHeadless -s "Ubuntu"
● Кроме того, можно
создавать образы
машин из tty
удалено, что очень
удобно.
● Теперь мы можем
подключиться к машине:
Rdesktop localhost:3389
VirtualBox+LTSP
● Вы действительно подумали, что клиент будет
запускать X-сиссию на сервере, чтобы потом
запустить себе VBox? Нет конечно, можно
устроить так, чтобы сотрудник даже и не знал
что он в виртуалке, под линуксом и еще где-то
на сервере. Для этого нужно man lts.conf .
ltsp-chroot; nano /etc/lts.conf
● Память сервера:
2Gb+512MB*Users=12Gb(users=20), но на
стайте LTSP другой расчет: 256 + (192 * 20) =
256 + 3840 = 4096 MB
● Некоторые проблемы возникают с пробросом
портов на usb,com-port,sound. Особенно если
человек работает из виртуальной машины.
● Интернет работает очень быстро, можно
смотреть даже YouTube 720p, но по какой-то
непоятной причине обычное локальное выидео
воспоизводится с ужасными фризами.
Итог.
А как же управление?
● Дело в том, что за время
своего развития, LTSP
дорос до того что у него
появилась возможность
создавать кластер
серверов, с
балансировщиком
нагрузки и даже
Web-интерфейсом!
Перечислю некоторые
компоненты кластера.
● Load Balancer Server — главный
сервер контроля нагрузки, следящий
за всеми подключёнными серверами
приложений.
● Control Center (Web Interface) —
веб-интерфейс, позволяющий
получить информацию о
подключенных клиентах и нагрузке
на сервера. а также произвести
некоторые настройки.
● NX Loadbalancer — запускает SSH
сервер и следит за подключение
пользователя nx в случае
необходимости перекидывает его на
тот или иной сервер.
Мистика!
● Самое интересное -это Windows Applications
Integration.
● Судя по демо-видео и краткому описанию на
сайте, на тонком клиенте запускается
Ubuntu сессия, и из нее можно запускать
приложения с Windows Terminal Server и
выводить как родное приложение.
Литература
● 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/

Linux Terminal Server Project

  • 1.
    01.01.13 Организация ТЕРМИНАЛЬНОЙ информационной системы Выполнил:Сиганов Илья СБС-001-О А так же виртуализация
  • 2.
    Проблемы? ● KIS 2013тормозит на старых компах? ● Вам не хочется переставлять WinME/XP каждый месяц? ● Почему-то вам звонят каждый день и говорят «у меня не работает принтер»? ● Хочется настроить что-то один раз, а потом даже и не вспоминать? ● Вы хотите устроить тотальную слежку? Тогда вас заинтересует моё предложение. ● Появился новый сотрудник и ему срочно нужен компьютер с готовой к работе ОС? ● KIS 2013 тормозит на старых компах? ● Вам не хочется переставлять WinME/XP каждый месяц? ● Почему-то вам звонят каждый день и говорят «у меня не работает принтер»? ● Хочется настроить что-то один раз, а потом даже и не вспоминать? ● Вы хотите устроить тотальную слежку? Тогда вас заинтересует моё предложение.
  • 3.
    Что нам необходимо. ●20 штук тонких клиентов Pentium III,IV или Celeron. Можно даже без жестких дисков!! ● Один сервер на Intel i7. RAID массив жестких дисков. Возможно пригодится слабенкий компьютер для резервных копий. ● Коммутатор с гигабитной линией до сервера и 100мбитной до клиентов.
  • 4.
    Размышления ● Первые 3проблемы решаются установкой linux для слабых машин. ● Но как же тотальная слежка и настроить всё и сразу? ● Тогда моё предложение- создать терминальный сервер и запускать тонкие клиенты через сеть!
  • 5.
  • 6.
    PXE ● Preboot eXecutionEnvironment ● Это cреда для загрузки компьютеров с помощью сетевой карты без использования жёстких дисков, компакт-дисков и других устройств. Для организации загрузки системы в PXE используются протоколы IP, UDP, BOOTP и TFTP. ● PXE-код, обычно находящийся в ПЗУ сетевой карты, получает из сети по протоколу TFTP (получив адрес TFTP-сервера по BOOTP) исполняемый файл, после чего передаёт ему управление. ● Одна из реализаций загружаемого по PXE файла — pxelinux из комплекта программ syslinux. Умеет показывать пользователю меню, похожее на меню syslinux и загружать по сети и передавать управление ядру Linux и программам, имеющим идентичный формат загрузки (например, Memtest86).
  • 7.
    Немного магии ● Wake-on-LAN ●Технология, позволяющая удалённо включить компьютер посредством отправки через локальную сеть специальной последовательности байтов — пакета данных (так называемого magic packet — «волшебного пакета») ● Это можно сделать, например, с помощью другого компьютера с соответствующей программой
  • 9.
    BOOTP ● Bootstrap Protocol ●Cетевой протокол, используемый для автоматического получения клиентом IP-адреса. Это обычно происходит во время загрузки компьютера. ● BOOTP позволяет бездисковым рабочим станциям получать IP-адрес прежде, чем будет загружена полноценная операционная система. Исторически это использовалось для Unix-подобных бездисковых станций, которые в том числе могли получать информацию о местоположении загрузочного диска посредством этого протокола. А также большими корпорациями для установки предварительно настроенного программного обеспечения (например, операционной системы) на новоприобретённые компьютеры. ● Данный протокол поддерживается BIOS на современных мат.платах и сетевых картах.
  • 10.
    TFTP ● Trivial File TransferProtocol ● TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP. ● Безопасность? ● Демон tftpd отказывается обрабатывать файлы, содержащие в своём имени комбинацию «/../» или начинающуюся с «../». Запись разрешается только в файлы, которые уже существуют (любого размера, например нулевого), и доступны для публичной записи (права доступа: -rw-rw-rw-).
  • 12.
    Что дальше? ● Очевидно,из определений протоколов следует, что нам нужен особый сервер. Что же он должен уметь? ● DHCP-сервер для обеспечения BOOTP ● TFTPD-сервер ● NFS & Samba ● WOL скрипт ● И какая-то операционная система, которая будет отпавляться тонким клиентам!!!
  • 13.
    The Linux TerminalServer 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/