Тонкий клиент или создаем PXE Boot из LTSP
варианты и решения, рассмотрим задачу по созданию универсального образа или точнее платформы, на которой можно создавать те или иные решения, с применением безопасных технологий.
- Применительно к ситуации, создадим «тонкого» клиента, с возможностью обслуживания разделов жесткого диска,
в частности с возможностью сохранения или восстановления образов партиций NTFS по сети.
1. Устанавливаем необходимые пакеты:
apt-get install isc-dhcp-server tftpd-hpa ltsp-server nfs-common nfs-kernel-server
- рекомендуется после установки запустить программу aptitude и до установить требуемые пакеты, если есть такой запрос.
- при установке сервера tftpd-hpa он будет просить вас указать каталог где будет «платформа», согласитесь по умолчанию /srv/tftp или /opt/ltsp, все равно потом это будем менять..
2. Теперь настраиваем сервер DHCP:
root@debvbox:~#cat /etc/network/interfaces
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 10.10.5.1 netmask 255.255.255.0 network 10.10.5.0 broadcast 10.10.5.255 gateway 10.10.5.1 dns-nameservers 10.10.5.1
root@debvbox:~# cat /etc/dhcp/dhcpd.conf
ddns-update-style none; default-lease-time 259200; max-lease-time 518400; authoritative; log-facility local7; #параметры настроек сети которые будет получать клиент.. shared-network debvbox < option nis-domain "debvbox"; option domain-name "debvbox"; option domain-name-servers 10.10.5.1; subnet 10.10.5.0 netmask 255.255.255.0 < #range 10.10.5.50 10.10.5.60; option routers 10.10.5.1; option subnet-mask 255.255.255.0; option broadcast-address 10.10.5.255; option time-offset -5; # Eastern Standard Time >########################MAC ADDDRESS ALL################# # здесь прописываем нашего будущего клиента, его мак адрес и.т.д. host vclient
root@debvbox:~# cat /etc/default/isc-dhcp-server
# Defaults for dhcp initscript # sourced by /etc/init.d/dhcp # installed at /etc/default/isc-dhcp-server by the maintainer scripts # # This is a POSIX shell fragment # # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth0"
- в данном случае как видно это интерфейс — eth0
- теперь перезапускаем сервер dhcp и на этом настройка первого этапа закончена.
root@debvbox:~# /etc/init.d/isc-dhcp-server restart Stopping ISC DHCP server: dhcpd. Starting ISC DHCP server: dhcpd.
3. Настройка сервера TFTP — HPA
root@debvbox:~#cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/ltsp/boot/" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure"
root@debvbox:/etc# /etc/init.d/tftpd-hpa restart
Restarting HPA's tftpd: in.tftpd.
udp 0 0 0.0.0.0:69 0.0.0.0:* 16665/in.tftpd
4. Настройка сервера LTSP
- Корневая файловая система, которую будут использовать клиенты, находится в каталоге /ltsp. Она должна быть доступна через NFS. Настраивается все это через конфиг /etc/exports
- прописываем настройки для сервера nfs-kernel, nfs-common
root@debvbox:/etc# cat /etc/exports
# /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) ## первый каталог - это система и он в режиме только чтение. /ltsp/ *(ro,no_root_squash,async,no_subtree_check) ## второй - это домашняя папка пользователя, и он доступен уже на запись. /ltsp/home/user/ *(rw,no_root_squash,async,no_subtree_check)
showmount -e Export list for nzip: /home/ltsp/home/user/ * /home/ltsp/ *
root@debvbox:~# cd /ltsp root@debvbox:~# ltsp-build-client --arch i386 --dist squeeze --mirror http://ftp.ru.debian.org/debian/ squeeze main . . invoke-rc.d nfs-kernel-server reload info: LTSP client installation completed successfully
root@debvbox:~# chroot /ltsp root@debvbox:~/#
root@debvbox:~/# adduser user . . successfully
root@debvbox:~/# apt-get install sudo ntfs-3g ntfsprogs
- прописываем права пользователя user в sudo и group в каталоге среды /ltsp/etc
- теперь нам необходимо настроить загрузку нашего тонкого клиента, чтоб он мог по умолчанию через 15 секунд загружать систему с жесткого диска или выбрав нижнее меню, загрузить уже нашу среду и провести восстановление системы у себя с помощью ntfsclon
root@debvbox:/ltsp# cat /ltsp/boot/pxelinux.cfg/default
TIMEOUT 60 PROMPT 0 DEFAULT menu.c32 MENU TITLE BOOT_MENU MENU COLOR unsel 37;40 MENU COLOR sel 30;47 MENU COLOR border 37;40 MENU COLOR title 37;40 MENU COLOR hotkey 36;40 MENU COLOR tabmsg 36;40 MENU TABMSG Brought to you by Blue Light. MENU AUTOBOOT # # label WINDOWS localboot 0 # label SYSTEM_RECOVERY kernel vmlinuz APPEND ro initrd=initrd.img quiet root=/dev/nfs ip=dhcp boot=nfs nfsroot=10.10.5.1:/ltsp/ ramdisk=8192
cp /ltsp/usr/lib/syslinux/menu.c32 /ltsp/boot/menu.c32
root@debvbox:/etc# /etc/init.d/tftpd-hpa restart
Restarting HPA's tftpd: in.tftpd.
Настройка тонкого клиента (Ubuntu, LTSP)
Linux Terminal Server Project (LTSP) — это свободно распространяемый пакет для Linux, который позволяет нескольким слабым компьютерам использовать ресурсы другого компьютера (сервера). Слабые компьютеры в данном случае будут являться тонкими клиентами.
Данная статья будет интересна учителям информатики в школах, детским домам.. в общем везде где переходят на СПО -свободное программное обеспечение.
С помощью LTSP можно организовать компьютерный класс, в котором будет всего один мощный компьютер, а остальные слабые. Слабые компьютеры будут использовать ресурсы сервера, то есть на тонких клиентах не каких вычислительных операций практически не происходит. Всю обработку информации производит сервер тонких клиентов.
Я решил попробовать установить и немного посмотреть, что это такое и как это на самом деле работает.
В качестве тонких клиентов у меня выступал один «динозавр» и мой ноут(у меня под рукой больше не оказалось рабочих «динозавров» и ради эксперимента использовал свой ноут). Под «динозавром» я имел ввиду компьютер с оперативной памятью pc133 256mb и процессором 1,4Ghz. Ставил на этот системник Ubuntu 9.10, тормозил ужасно. В качестве тонкого клиента в самый раз, летает. С оперативкой 128mb работает так же как и с 256mb. В этом системнике я отключил жесткий диск, привод и флопик (для экономии энергии и для уменьшения шума).
Вот пример покупного тонкого клиент (нашел в интернете):
В качестве сервера я использовал компьютер со следующими параметрами: Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz/ 1Gb RAM и видеокарта NVIDIA GeForce 9600 GT.
В терминальный сервер входят следующие пакеты: DHCP, TFTP, SSH, LTSP, X11 (LDM desktop manager).
На работе у меня есть DHCP сервер и нужно было сделать так, что бы DHCP сервер устанавливаемый на сервер тонких клиентов не нарушил работу сети. Решел сервер тонких клиентов изолировать в отдельную сеть. В системник уставил вторую сетевую карту для отдельной сети с тонкими клиентами. Это решение значительно поможет снизить нагрузку на сеть.
DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP.
Я установил Ubuntu 10.04 LTS с официального образа диска. LTSP можно установить двумя способами:
- установка с диска alternate (установочный диск ubuntu, без графической оболочки в установщике)
- Установкой пакетов в уже установленную Ubuntu
Дальше нажимаете «установить Ubuntu» и начнется установка системы. После установки системы назначьте на сетевую карту ip адрес 192.168.0.1. Дальше создайте загрузочный образ для тонкого клиента командой:
открываем терминал и вводим
устанавливаем русский язык:
sudo apt-get install language-pack-gnome-ru language-pack-ru -y
Замечание: для того что бы у вас система была полностью на русском языке, после установки этих пакетов перезагрузите компьютер
Для того что бы установить сервер тонких клиентов на desktop версии, надо установить всего два пакета ltsp-server-standalone и openssh-server. После установки у вас уже будет рабочий сервер тонких клиентов на Ubuntu 10.04 LTS, но перед их установкой надо настроить сетевую карту, назначить ей ip адрес 192.168.0.1:
sudo gedit /etc/network/interfaces
в редакторе gedit откроется файл с настройками сетевых интерфейсов, дописываем в конец файла настройки установленной сетевой карты (для второй):
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
вот как у меня выглядит данный файл после редактирования:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
Устанавливаем ltsp-server-standalone openssh-server:
sudo apt-get install ltsp-server-standalone openssh-server
создаем загрузочный образ для тонкого клиента:
если у вас 64-bit система то для создания образа 32-bit укажите параметр (две черточки)–arch i386.
Смотрим настройки DHCP сервера, если надо то редактируем «под себя»:
sudo gedit /etc/ltsp/dhcpd.conf
Обратите внимание на путь к файлу с настройками. Содержание файла:
#
# Default LTSP dhcpd.conf config file.
#
subnet 192.168.0.0 netmask 255.255.255.0 range 192.168.0.20 192.168.0.250;
option domain-name «example.com»;
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
# next-server 192.168.0.1;
# get-lease-hostnames true;
option subnet-mask 255.255.255.0;
option root-path «/opt/ltsp/i386»;
if substring( option vendor-class-identifier, 0, 9 ) = «PXEClient» filename «/ltsp/i386/pxelinux.0»;
> else filename «/ltsp/i386/nbi.img»;
>
>
После того как вы установили и настроили сервер тонких клиентов, его надо проверить. Для этого на компьютерах, которые используются в качестве тонких клиентов, надо в BIOS выставить загрузку по сети. Для этого нужны сетевые карты способные загружаться по протоколу PXE. Мне повезло и встроенная сетевая карта поддерживала протокол PXE. Если у вас сетевая карта не поддерживает протокол PXE, то можно сделать загрузочную дискету или диск, смотрите информацию на этом сайте rom-o-matic.net.
Я сначала попробовал сделать загрузочную дискету и очень долго с ней возился, как выяснилось позже виной был не рабочий флопик.
Для записи образа gpxe-1.0.1-gpxe.dsk на дискету введите команду (при условии что вы находитесь в папке с образом дискеты):
sudo dd if=gpxe-1.0.1-gpxe.dsk of=/dev/fd0
На сервере тонких клиентов создайте несколько учетных записей.
Вводите логин / пароль и вы входите в систему. Работает все давольно шустро, но есть один момент. Видео работает не очень хорошо, если вы хотите на тонких клиентах запускать и смотреть видео то эта не очень хорошая идея (если сильно хочется, то установите и посмотрите как это будет выглядеть у вас). На видеокарту я устанавливал драйвера, которые скачивал с официального сайта производителя. Видео пробовал запускать на двух клиентах, смотреть можно.
Подключенные флешки к тонкому клиенту определяются и отлично работают. Если вы устанавливаете приложение на сервере, то оно становится доступным всем тонким клиентам, которые подключены к этому серверу.
На сервере для тонкого клиента требуется приблизительно 120mb (у всех по разному, в зависимости от используемого ПО), эта информация пригодится для расчета оперативной памяти.
При смене ip адреса сервера необходимо выполнить команду:
При изменении ядра сервера или для устранения некоторых неполадок:
Требования к терминальному серверу: рекомендуется 2-х (и более) ядерный процессор, 512 Мб RAM на систему и по 120 Мб RAM на каждого терминального пользователя. Сеть – 100 Мбит/с, желательно для тонких клиентов выделить отдельную сеть и свитч.
Оставьте свой комментарий!