Работа с бездискови станции
Има поне два възможни начина за зареждане на ядрото през мрежата:
Etherboot портът (net/etherboot) генерира код, който може да се използва в ROM за зареждане на ядрото през мрежата. Кодът може или да бъде флашнат в стартиращ PROM на мрежовия адаптер, или да бъде зареден от локална дискета (или твърд диск), или от работеща MS-DOS ® система. Поддържат се много мрежови адаптери.
Примерен скрипт ( /usr/share/examples/diskless/clone_root) улеснява създаването и поддържането на основна файлова система на работна станция на сървъра. Скриптът вероятно ще изисква известна настройка, но ще ви накара да работите бързо.
Стандартните файлове за стартиране на системата, намиращи се в /etc, разпознават и поддържат бездисково зареждане на системата.
Размяната, ако е необходимо, може да се извърши чрез NFS файл или на локално устройство.
Има много начини за настройка на работна станция без диск. Включени са много компоненти и повечето от тях могат да бъдат персонализирани според вашите вкусове. По-долу ще бъдат описани пълни опции за персонализиране на системата, с акцент върху простотата и съвместимостта със стандартната скриптова система за стартиране на FreeBSD. Описаната система има следните характеристики:
Бездисковите работни станции споделят / файловата система в режим само за четене и също споделят /usr в режим само за четене.
Основната файлова система е копие на стандартната основна система FreeBSD (обикновено сървър), с някои конфигурационни файлове, модифицирани от някого специално за бездискови операции или може би работната станция, за която е предназначена.
Частите от основната файлова система, които трябвамогат да бъдат записвани, се отменят от файловите системи mfs(8) (FreeBSD 4.X) или md(4) (FreeBSD 5.X). Всички промени ще бъдат загубени при рестартиране на системата.
Предупреждение:Както е описано, тази система не е защитена. Той трябва да се намира в защитена част от мрежата и други хостове не трябва да разчитат на него.
Цялата информация в този раздел е тествана с версиите FreeBSD 4.9-RELEASE и 5.2.1-RELEASE. Текстът е структуриран предимно за използване с 4.X. Разликите за 5.X са споменати специално.
25.6.1. Главна информация
Настройването на бездискови работни станции е относително лесно, но също така е лесно да направите грешка. Понякога е трудно да се диагностицират тези грешки поради няколко причини. Например:
Опциите за компилиране може да се държат различно по време на изпълнение.
Съобщенията за грешка са загадъчни или несъществуващи.
В тази ситуация някои познания относно използваните вътрешни механизми са много полезни за разрешаване на проблеми, които могат да възникнат.
За да извършите успешно изтегляне, трябва да извършите няколко операции:
Възможно е да конфигурирате системата да използва само BOOTP. Сървърната програма bootpd(8) е включена в базовата система FreeBSD.
Възможният междинен софтуер за зареждане и ядрото трябва да бъдат инициализирани и изпълнени. Има няколко важни вариации в тази област:
PXE ще стартира pxeboot(8), който е модифицирана версия на FreeBSD етап 3 буутлоудъра. loader(8) ще вземе повечето от параметрите, необходими за стартиране на системата и ще ги остави в средата на ядрото до прехвърляне на контрола. В този случай е възможно да се използва GENERIC ядрото.
Etherboot директно ще стартира ядрото с по-малко подготовка. Ще трябва да съберетеядро със специални параметри.
И накрая, компютърът се нуждае от достъп до файлови системи. NFS се използва във всички случаи.
Вижте също man страницата без diskless(8).
25.6.2. Инструкции за настройка
25.6.2.1. Конфигуриране чрез ISC DHCP
ISC DHCP сървър може да обработва както BOOTP заявки, така и DHCP заявки.
Започвайки с версия 4.9, ISC DHCP 3.0 не е включен в системата. Първо ще трябва да инсталирате порта на net/isc-dhcp3-server или съответния пакет.
25.6.2.2. Конфигуриране чрез BOOTP
Следното е еквивалентна конфигурация, използваща bootpd (за един клиент). Той ще се намира в /etc/bootptab.
Моля, имайте предвид, че Etherboot трябва да бъде компилиран с нестандартната опция NO_DHCP_SUPPORT, за да използвате BOOTP, и че DHCP е необходим, за да работи PXE. Единственото очевидно предимство на bootpd е, че идва със системата.
25.6.2.3. Подготовка на програмата за зареждане с Etherboot
Сайтът Etherboot има подробна документация, предимно за Linux системи, но със сигурност е полезен. Следното ще опише накратко как трябва да използвате Etherboot на FreeBSD система.
Първо трябва да инсталирате пакета или порта net/etherboot.
В нашата ситуация ще използваме стартираща дискета. За други методи (програма PROM или MS-DOS), моля, вижте документацията на Etherboot.
За да създадете дискета за зареждане, поставете дискетата във флопи устройството на машината, където е инсталиран Etherboot, след това преминете към директорията src в дървото на Etherboot и въведете:
devicetype зависи от типа на Ethernet адаптера на бездисковата работна станция. Говоря сNIC файл в същата директория, за да определите правилната стойност за devicetype.
25.6.2.4. PXE зареждане
Има две недокументирани опции make.conf, които могат да бъдат полезни за настройване на компютър без диск със серийна конзола: BOOT_PXELDR_PROBE_KEYBOARD и BOOT_PXELDR_ALWAYS_SERIAL (последната съществува само във FreeBSD 5.X).
25.6.2.5. Настройка на TFTP и NFS сървъри
Създайте директория, чиито файлове ще се обслужват от tftpd, като /tftpboot.
Добавете този ред към вашия /etc/inetd.conf:
Кажете на inetd да прочете отново вашия конфигурационен файл:
Можете да поставите директорията tftpboot навсякъде на сървъра. Проверете дали това местоположение е указано както в inetd.conf, така и в dhcpd.conf.
Добавете следното към /etc/rc.conf:
Експортирайте файловата система, която съдържа основната директория за работната станция без диск, като добавите следния ред към /etc/exports (коригирайте точката на монтиране и заменете margaux corbieres с имената на работните станции без диск):
Кажете на mountd да прочете отново конфигурационния файл. Всъщност, ако трябва да активирате NFS в /etc/rc.conf в първата стъпка, тогава ще трябва да рестартирате.
25.6.2.6. Изграждане на ядро за бездискова работна станция
Когато използвате Etherboot, ще трябва да създадете конфигурационен файл на ядрото на клиент без диск със следните опции (в допълнение към обичайните):
Може да се наложи да използвате BOOTP_NFSV3, BOOT_COMPAT и BOOTP_WIRED_TO (потърсете LINT в 4.X или NOTES в 5.X).
Тези имена на параметри са исторически и могат да бъдат малко подвеждащи, тъй като включват незадължителното използване на DHCP и BOOTP в ядрото (вероятноразрешаване на задължително използване на BOOTP или DHCP).
Създайте ядрото (вижте глава 8) и го копирайте в директорията, указана в dhcpd.conf.
25.6.2.7. Подготовка на основната файлова система
Трябва да създадете основна файлова система за бездискови работни станции на мястото, дадено като root-path в dhcpd.conf. Следващият раздел описва два начина да направите това.
25.6.2.7.1. Използване на скрипта clone_root
Това е най-лесният начин за създаване на основна файлова система, но в момента не се поддържа във FreeBSD 4.X. Този скрипт на обвивката се намира в /usr/share/examples/diskless/clone_root и трябва да бъде конфигуриран поне да посочи къде ще бъде създадена файловата система (променливата DEST).
Файловете README в /usr/share/examples/diskless имат много интересна информация, но заедно с други примери от директорията без дискове, те всъщност описват метод за конфигуриране, който е различен от този, който се използва в clone_root и скриптовете за стартиране на системата в /etc, което прави нещата донякъде объркващи. Използвайте ги само за справка, освен ако не изберете метода, който описват, в който случай се нуждаете от коригирани rc скриптове.
25.6.2.7.2. Използвайки стандартната процедура make world
Този метод може да се приложи към FreeBSD 4.X или 5.X и ще инсталира нова система (не само root) в DESTDIR. Всичко, което трябва да направите, е просто да изпълните следния скрипт:
След като това стане, може да се наложи да настроите /etc/rc.conf и /etc/fstab, поставени в DESTDIR, за да отговарят на вашите нужди.
25.6.2.8. Настройка на зоната за размяна
Ако е необходимо, суап файлът, намиращ се на сървъра, може да се използва чрез NFS.Един от методите, използвани за това, не се поддържа в версии 5.X.
25.6.2.8.1. Смяна на NFS във FreeBSD 4.X
Местоположението и размерът на суап файла могат да бъдат определени от специфичните за FreeBSD BOOTP/DHCP опции 128 и 129. Примерни конфигурационни файлове за ISC DHCP 3.0 или bootpd са дадени по-долу:
Добавете следните редове към dhcpd.conf:
swap-path е пътят до директорията, където се намират суап файловете. Името на всеки файл има формата swap. клиент-ip.
Старите версии на dhcpd използваха опцията option-128 ". синтаксис, който вече не се поддържа.
/etc/bootptab ще използва следния синтаксис:
Забележка:Във файла /etc/bootptab размерът на суап файла трябва да бъде записан в шестнадесетичен формат.
След това кажете на mountd да прочете отново файла за експортиране, както е описано по-рано.
25.6.2.8.2. Смяна на NFS във FreeBSD 4.X
Местоположението и размерът на суап файла могат да бъдат посочени в специфичните за FreeBSD BOOTP/DHCP опции 128 и 129. Следват примери за конфигурационни файлове за ISC DHCP 3.0 или bootpd:
Добавете следните редове към dhcpd.conf:
swap-path е пътят до директорията, където се намират суап файловете. Файловете се наричат swap. клиент-ip.
По-старите версии на dhcpd използват опцията option-128 ". синтаксис, който вече не се поддържа.
Вместо това /etc/bootptab използва следния синтаксис:
Забележка:В /etc/bootptab размерът на суап трябва да се изчислява в шестнадесетичен формат.
След това накарайте mountd да прочете отново конфигурационните файлове, както е показано по-горе.
25.6.2.9. Разни проблеми
25.6.2.9.1. Работа с само за четене /usr
Ако работната станция без диск е конфигурирана да изпълнява X, трябва да го направитенастройте конфигурационния файл за XDM, който поставя регистъра на грешките в /usr по подразбиране.
25.6.2.9.2. Използване на сървър, различен от FreeBSD
Ако сървърът на основната файлова система не работи с FreeBSD, ще трябва да създадете основна файлова система на машината на FreeBSD и след това да я копирате на правилното място с помощта на tar или cpio.
В тази ситуация понякога има проблеми със специални файлове в /dev поради различните битове на цели числа за големи/ниски числа. Решението на този проблем е да експортирате директорията от сървъра, който не е FreeBSD, да я монтирате на машината FreeBSD и да стартирате скрипта MAKEDEV на машината FreeBSD, за да създадете правилните файлове на устройството (FreeBSD 5.0 и по-късно използвайте devfs(5) за създаване на файлове на устройството прозрачно за потребителя, стартирането на MAKEDEV в тези версии е безсмислено).
Предишен | Започнете | Писта. |
Мостове | Вдигам ниво | ISDN |
За въпроси, свързани с FreeBSD, прочетете документацията, преди да пишете на . За въпроси, свързани с тази документация, пишете на. За въпроси, свързани с българския превод на документация, пишете в пощенския списък . Информация за абониране за този бюлетин можете да намерите на уебсайта на проекта за превод.