Бездисковая загрузка или Linux+ms (Thinstation)

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Kaster Troy
Сообщения: 193
Статус: Кроме звезд
Контактная информация:

Бездисковая загрузка или Linux+ms

Сообщение Kaster Troy »

Думаю многим приходится админить виндовые станции, т.к. у меня на них завязано много, то пример будет на них.. работает эта зараза с чем угодно!

Дело было так.. :)
Купили мы терминальные лицензии на свой 2003 сервер с 1С и MS Office
еще в наш экшин пак вошло куча всякого софта типа visio\infopath и т.п.
были там там же WindowsXP на 20 установок.
Раставил я эти ХР людям которые работают не в терминале, т.е. дизайнерам, некоторым людям из отдела ИТ и бухгалтерам которых работают с программуленками типа "Банк Клиент".
Остальные юзвери работают в терминале. От старых админов осталась такая система на старом железе = полном хламе, стоят Windows95\98, которые загружают винду и подключаются к терминал серверу.. (короче лишний мозг, лишняя оперативка и кривые руки которых сохраняют док-ты в локальных папках и потом их теряют..)
Потихоньку переносим мы свой Win2000 terminal server на Win2003..
Из пиратского у нас остались только клиентские ОС.. покупать туда винды выходит идиотизм! (1 - нафиг это надо, 2 - не все тачки потянут 98ой, 3- переустанавливать около 30тачек - лошадиный труд! :blink: )
Ищем альтернативу.. Шэф нашел Thinstation и WTware.. копаюсь..

Thinstation - опэнсорсовый буржуйский проект, есть возможность бездисковой загрузки практически ко всем серверам терминалов. Не понравилось (т.к. все тачки неопознанного железа, то КУЧА стандартных дров его неопределяет :angry: ) . Беру
WTware - здесь проще 5 минут настройки DHCP, минута правки 1го конфига "на все случаи жизни" и моя машинка благодаря доброму Линуксу уже в терминале.. НО! наш собрат хочет 400рэ за 1 подключение.. ФИХ! - отсеил..

Возвращаюсь на Thinstation куча буржуйских доков.. начинаю втыкать.. все как и подозревал..
обрезанный до нехочу Линукс.. запускает rdesktop И делов.. теперь как это работает..
грузится он может несколькими способоми
*(рассмотрю способы для Windows TS, т.к. другие меня не интересовали, думаю, что для CITRIX, Tarantella и т.п.. будет схоже..)

1 - загрузка с жесткого диска (если нет бутрома и не требует TFTP)
Сливаем соответствующий образ, правим конфиг, льем его на дискету, закатываем СД, с него грузимся и ставим на хард..
далее станция загружается, ищет DHCP сервер получет адрес и показывает меню с указанными в конфиге терминал серверами.
2 - загрузка с дискеты (если нет бутрома) (для этого способа нужны настройки на сервере DHCP _о них ниже..)
Сливаем образ загрузочной дискеты
Ставим форматированную дискету и командуем..
Windows: rawrite2 -d A -f ebnet522.dsk
Linux: cp ebnet522.dsk /dev/fd0
устанавливаем загрузку с флоппи_диска
далее загружаются друйвера сетевой карты с дискеты и идет поикс DHCP сервера, сервер получет адрес и показывает меню с указанными в конфиге терминал серверами.
После обнаружения в оперативку грузится thinstation и конфиги с папки
c:\tftpdroot DHCP сервера.
3 - загрузка по сети..
Самое наверно приятное, потому, как, в компьютере работает только вентилятор БП и проца, больше механики нет..
Устанавливаем загрузку по сети.. Настраиваем DHCP..
далее загружаются друйвера сетевой карты с дискеты и идет поикс DHCP сервера, сервер получет адрес и показывает меню с указанными в конфиге терминал серверами.

Настройка DHCP и TFTP
теперь переходим к самому серверу терминалов! эти настройки нужны при способах загрузки 2 и 3
**Я эксперементировал на Win2000, думаю от 2003 сильно отличаться не будет.
Устанавливаем tftp сервер.
Теперь создаем в корне системного диска каталог "c:\tftpdroot" и заливаем в него наш образ (у меня был Thinstation-2.0.2-prebuilt-NetBoot заливать, нужно не все!)
Зайдем в TFTPDroot и запустим файл "thinstation.nbi (autoextract)".
Согласимся с лицензионным соглашением и получим файл thinstation.nbi.
Перепишем thinstation.nbi вместе с thinstation.conf в созданный нами
каталог "c:\tftpdroot".

файл thinstation.conf.network - это файл конфигурации
(разрешение экрана, сесии терминала, принтеры) пользователей.

исправляем

SESSION_0_TITLE="название терминала"
SESSION_0_TYPE=rdesktop
SESSION_0_RDESKTOP_SERVER=192.168.1.1
SESSION_0_RDESKTOP_OPTIONS="-u 'имя пользователя по умолчанию'"

добавить второй терминал так

SESSION_1_TITLE="название терминала"
SESSION_1_TYPE=rdesktop
SESSION_1_RDESKTOP_SERVER=192.168.1.1
SESSION_1_RDESKTOP_OPTIONS="-u 'имя пользователя по умолчанию'"

и т.д..
***не понимет по русского в своих менюшках
Настройка DHCP

Жмем правой кнопкой по "Scope options" - "Configure".
В открывшемся окошке ищем опцию номер 66, ставим галочку и заполняем текстовое
поле IP адресом машины, на которой активизирован сервис TFTP. В моем случае - это эта же тачка.

Двигаемся чуть ниже и активизируем опцию номер 67. В текстовом поле пишем
имя загрузочного образа ThinStation. У меня это thinstation.nbi.zpxe

Вот и все.. УДАЧИ! :D
Чтобы пересобрать все это дело под себя, слил я Thinstation-2.0.tar.gz , да вот только не брался еще все руки не доходят.. если кто-то уже делал это пишите очень поможите..
:coffee:
Глубина, глубина, я не твой.. отпусти меня глубина..
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: Бездисковая загрузка или Linux+ms

Сообщение sash-kan »

настройка тонкого клиента с novell/rpl boot-rom'ом.
есть в моем хозяйстве тонких клиентов одна машинка, pc book некий.
корпус маленький, правда есть место и для сидюка и для винта (которые отсутствуют за ненадобностью).
до недавнего времени грузился он, миленький, с дискеты (из комплекта thinstation),
потом к серверу моему обращался (debian sarge, кстати), ну а дальше я уж извращался как мог.
то голый rdesktop включал, то как x-terminal'ом пользовался, то сваял на сервере для него
корневой каталог и полноценную систему грузил по nfs, благо памяти у него предостаточно - аж 64МБ :)
только все не оставляла меня в покое ситуация с евойной сетевой карточкой с чипсетом davicom.
вроде бы она boot-rom имеет, а значит, при загрузке можно и без дискеты обходиться.
а так как я раньше с boot-rom'ами дела не имел, то и мучил время от времени сервер и данную
машинку в безуспешных попытках избавиться от флоппика.
пока не пришло мне в голову устроить "темную" :) - это я так назвал состояние, когда
в локалке включены только сервер и клиент и все, что клиент серверу пишет, tcpdump'ом (например)
посмотреть можно.
а запросы мой клиент посылал весьма странные. вида:
[mac-адрес клиента] > 03:00:02:00:00:00 sap fc ui/C len=...
что за mac такой 03:00:02:00:00:00? в локалке у меня такого отродясь не было.
с ответом, как всегда, выручил всемогущий интернет. по мотивам этого запроса отыскался сайтик
http://www.huweb.hu/maques/rpl.htm
оказалось, что клиент настроен на загрузку с сервера novell. а чем linux хуже novell'а? не знаю -
с novell'ом не работал :) но точно знаю, чем linux лучше - он может прикинуться novell/rpl-сервером!
достаточно установить и настроить rpld. установка (в моем случае) - вопрос элементаный, так как
rpld входит в дистрибутив debian. хватило apt-get install rpld. настройка же свелась к
следующей редакции файла /etc/rpld.conf :

HOST {
ethernet = [mac-адрес клиента];
FILE {
path="/boot/davicom.zpxe";
load = 0x7c00;
};
execute = 0x7c00;
};

файл davicom.zpxe взят из пакета etherboot (ура создателям debian!), только в пакете он был
запакован как davicom.zpxe.gz, но что означает эта мелочь для настоящего линуксоида :))
теперь общая картина следующая:
- после загрузки из boot-rom'а клиент посылает запрос к novell-серверу
- rpld, "прикинувшись" novell'ом, скармливает ему davicom.zpxe
- клиент загружает полученный файл и передает ему управление
- davicom.zpxe посылает стандартный dhcp-запрос - просьбу помочь с сетевой загрузкой,
ну а что должен ответить dhcp-сервер, мы уже проходили :)
дальше все идет по избитому сценарию, как с обычным thinstation-клиентом.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
zag
Сообщения: 102

Re: Бездисковая загрузка или Linux+ms

Сообщение zag »

Время идет и разработчики не стоят на месте. Я много чего перепробовал, но уже давно остановился всё-же на thinstation.
Активно использую в трех своих офисах. В каждом сейчас по серверу и по два десятка тонких клиентов,
в которые превратил уже имевшиеся в офисах старенькие компы (процессоры Сeleron 3хх, памяти по 32-64 мега).
Отказался от тотального обновления парка компьютеров, закупил в два офиса под сервера по новенькому компу P-IV 3000, 1 гиг dual DDR, 2xSATA HDD RAID-1 (mirror) 80 Gb. В головном давно трудится 2-х процессорный сервер.
Таким образом сэкономил тучу денег.
Объединил офисы туннелем. Кроме того, пробросил порт RDP через шлюзы, дал права на доступ со своего IP и рулю офисами лежа на печи :), из пяти с лишним десятков компьютеров только шесть с ОС - три с FreeBSD (шлюзы) и три с W2003.

Как все это делаем?
Заходим на сайт http://www.itadvisor.ru и скачиваем последнюю сборку
(на момент написания статьи thinstation-2.2b8-etherboot-20060308). Легко подключаются ресурсы тонкого клиента -
USB, FDD, HDD, CDROM, принтеры - как usb, так и LPT.
Ссылка http://www.itadvisor.ru/sites/ita/Shared%2...ot-20060308.zip

Загрузку тонких клиентов можно осуществлять с жесткого диска или дискеты (remoteboot) или ПЗУ сетевой карточки (PXE).
Я использую самый простой (для меня) метод - с дискеты, ибо сетевух с бутромом нет.

Создаем универсальную загрузочную дискету (или можно создать самому http://rom-o-matic.net/5.4.1/ ).
Образ http://www.wtware.ru/files/ebnet522.img, программа для записи образа на дискету
http://www.wtware.ru/files/rawwritewin-0.7.zip.

Устанавливаем сервер (у меня W2003). Почему винда? Из-за 1с, трижды горячо любимой :).
Вообще-то 1с у меня крутится на одном сервере, в головном офисе. В остальных офисах держу сервера как резервные (в песпективе распределенная база, сейчас в стадии тестирования), да и в графических программах удобнее работать локально - траффик экономится.
Юзеры при загрузке из меню выбирают нужный сервер - локальный или удаленный.

При желании можно в филиалах сервера сделать и на *BSD, достаточно подробно описано http://www.opennet.ru/docs/RUS/diskless-FreeBSD/index.html.

Можно вообще отказаться от локальных серверов - с примитивной задачей - раздать IP и отдать тонкому клиенту образ может справиться и слабенький комп. Тогда необходимо позаботиться о стабильном канале и, возможно, его резервировании, а также уделить внимание повышению надежности головного сервера. Иначе придется запастись вазелином :D или :cc_hang:

После установки выбираем роль сервера - сервер терминалов. Создаем пользователей, включаем их в группу
"Пользователи удаленного рабочего стола", обязательно заводим пароли - без них просто не войти на сервер.
Кроме того, для работы тонких клиентов необходимо добавить компоненты Windows -
DHCP и Службы удаленной установки или иначе TFTPD (упрощенный FTP-демон).

Распакуем thinstation-2.2b8-etherboot-20060308.zip, запустим scripts\mkdhcpd.cmd и mktftpd.cmd.
Создадим область адресов DHCP, настроим параметры 003, 006, 066 (ip локального сервера), 067 (thinstation.nbi.zpxe).
Не забудьте в "Панель управления-Администрирование-Службы" тип запуска службы "Упрощенный FTP-демон" изменить на Авто
и запустить его, разумеется.

В настройках служб терминалов в параметрах клиентов установите наибольшую глубину цвета 24 бита.

Кроме того, надо настроить конфиги для групп или отдельных клиентов.
Содержимое папки (по умолчанию после запуска mktftpd.cmd):

Код: Выделить всё

C:\tftpboot
thinstation.conf.buildtime
thinstation.conf.example
thinstation.conf.group-1024@75
thinstation.conf.group-1280@60
thinstation.conf.group-1280@75
thinstation.conf.group-800@75
thinstation.conf.group-cdrom
thinstation.conf.group-com3
thinstation.conf.group-fdd
thinstation.conf.group-unichrome
thinstation.conf.group-usb
thinstation.conf.network
thinstation.conf.user
thinstation.nbi
thinstation.nbi.zpxe

Для начала подправим (в блокноте !!!) только файл thinstation.conf.network - общий конфиг для всех клиентов.

Вот его пример

Код: Выделить всё

AUTOSTART=Off
#local server
SESSION_0_TYPE=rdesktop
SESSION_0_RDESKTOP_SERVER=192.168.1.254
SESSION_0_TITLE="Local_Server"
#remote server
SESSION_1_TYPE=rdesktop
SESSION_1_RDESKTOP_SERVER=192.168.0.254
SESSION_1_TITLE="Remote_1c_Server"
#
RDESKTOP_FDD=Off
RDESKTOP_CDROM=On
RDESKTOP_USB=On
TIME_ZONE="Europe/Moscow"

Смотрим в DHCP MAC-адреса сетевых карт тонких клиентов и создаем файл thinstation.hosts,
на основе которого будем создавать конфиги для отдельных клиентов и групп.

Вот его пример:

Код: Выделить всё

# HOST          MAC                GROUPS                   COMMENTS
#donald          003103014152       unichrome com3             # Donald Ducks Computer
#daffy           005001231234    1024@75                    # Daffy Ducks Computer
petrov        0011111e9735
sidorov        00a0c9457727

Создаем файлы конфигурации тонких клиентов:

thinstation.conf-petrov
thinstation.conf-sidorov

Пример файла thinstation.conf-petrov:

Код: Выделить всё

SCREEN_RESOLUTION="1280x1024"
SCREEN_COLOR_DEPTH="24"
SESSION_0_RDESKTOP_OPTIONS="-u petrov -p secret"
#local printer
PRINTER_0_NAME=parallel
PRINTER_0_DEVICE=/dev/printers/0
PRINTER_0_TYPE=P
#local HDD
RDESKTOP_HDD=On

Устанавливаем на сервере принтер. Выбираем "Локальный принтер", снимаем галку "Автоматический поиск".
Добавим новый порт "Стандартный TCP-IP", вводим IP тонкого клиента, выбираем "Generic Network Card", выбираем принтер (ставим драйверы с диска). Так для каждого принтера.


Вот и все :).
Отдельное и огромное спасибо ребятам с http://www.itadvisor.ru
Спасибо сказали:
Pulse
Сообщения: 2

Re: Бездисковая загрузка или Linux+ms

Сообщение Pulse »

Ребята подскажите очень нуждаюсь.
С таким вариантом решения как описан выше, реально ли запустить 95 терминалов? Ориентировочно какие в таком случае требования к серверу?
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Бездисковая загрузка или Linux+ms

Сообщение TuLiss »

Pulse писал(а):
26.05.2006 13:47
Ребята подскажите очень нуждаюсь.
С таким вариантом решения как описан выше, реально ли запустить 95 терминалов? Ориентировочно какие в таком случае требования к серверу?


Смотря какие задачи ставятся. Что вы собираетесь делать.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Pulse
Сообщения: 2

Re: Бездисковая загрузка или Linux+ms

Сообщение Pulse »

Задачи не очень ресурсоёмкие Office, Internet, Mail.
Это юр. Корпорация то есть вся работа с документами.
Ну и 1С в бухгалтерии.
Я думаю что 2-ух головый Р4 Xeon вытянет.
Вот вопрос сколько ему ОЗУ потребуется?

И как быстро это всё шевелится?
Спасибо сказали:
Igor B.
Сообщения: 324

Re: Бездисковая загрузка или Linux+ms

Сообщение Igor B. »

Pulse писал(а):
26.05.2006 15:03
Задачи не очень ресурсоёмкие Office, Internet, Mail.
Это юр. Корпорация то есть вся работа с документами.
Ну и 1С в бухгалтерии.
Я думаю что 2-ух головый Р4 Xeon вытянет.
Вот вопрос сколько ему ОЗУ потребуется?

И как быстро это всё шевелится?


95 клиентов на один сервер - это вряд ли. Тем более что Офис - весьма ресурсоемкое приложение в смысле памяти. У Мелкософта есть оценки памяти на каждого клиента. Поищи. Если память не изменяет, то 35-40 Мб на клиента. И подумай про _пиковые_ нагрузки (когда все 95 перцев утром одновременно садятся за компьютеры и начинают _запускать_ весь свой софт).
Спасибо сказали:
artem
Сообщения: 18

Re: Бездисковая загрузка или Linux+ms

Сообщение artem »

Pulse писал(а):
26.05.2006 15:03
Задачи не очень ресурсоёмкие Office, Internet, Mail.
Это юр. Корпорация то есть вся работа с документами.
Ну и 1С в бухгалтерии.
Я думаю что 2-ух головый Р4 Xeon вытянет.
Вот вопрос сколько ему ОЗУ потребуется?

И как быстро это всё шевелится?

Из собственного опыта могу сказать, что 2-х головый Ксеон 2.8 4Гб памяти при 25-30 клиентах уходит просто в даун :(( Загрузка проца периодически 100%. Правда на нем кроме перечисленных приложений еще SQL сервер поднят для 1С бухгалтерии 7.7 и соотв бухгалтерские базы в объеме ~30Гб.
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Бездисковая загрузка или Linux+ms

Сообщение TuLiss »

artem писал(а):
29.05.2006 16:43
Из собственного опыта могу сказать, что 2-х головый Ксеон 2.8 4Гб памяти при 25-30 клиентах уходит просто в даун :(( Загрузка проца периодически 100%. Правда на нем кроме перечисленных приложений еще SQL сервер поднят для 1С бухгалтерии 7.7 и соотв бухгалтерские базы в объеме ~30Гб.


я так понял это винловая машина. Или срочно где взять SQL под 1C в linux =)

У меня на такой машине работают 50 человек в linux. Полет нормальный =)
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
TuLiss
Сообщения: 1611
Статус: 01100
ОС: Gentoo,Ubuntu,MacOS X
Контактная информация:

Re: Бездисковая загрузка или Linux+ms

Сообщение TuLiss »

а кто играется с новым LTSP ?

и вообще может кто приведет список , какие решение существуют ?
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
Спасибо сказали:
Аватара пользователя
NIK1910
Сообщения: 269
ОС: SlackWare

Re: Бездисковая загрузка или Linux+ms

Сообщение NIK1910 »

Немного поработал над загрузкой с жесткого диска, а также произвел русификацию и внес некоторые изменения.
Если кому-нибудь надо, то прошу оценить, здесь лежат мои труды: http://nixts.org/.

Планирую развивать идею, и добавить еще бездисковый вариант. А также вариант с NX. Если кто-то желает присоединиться, то буду очень рад. :rolleyes:
Спасибо сказали:
Ответить