Загрузка по сети::Журнал СА 9.2003
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6143
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6856
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4139
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2978
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3781
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3789
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6283
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3134
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3434
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7246
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10616
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12336
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13969
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9100
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7053
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5362
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4594
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3402
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3129
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3379
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3000
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Загрузка по сети

Архив номеров / 2003 / Выпуск №9 (10) / Загрузка по сети

Рубрика: Администрирование /  Автоматизация

ДЕНИС КОЛИСНИЧЕНКО

Загрузка по сети

Многие современные материнские платы позволяют загружать операционную систему не только с жесткого диска или дискеты, но и по сети. Причем загружаться по сети «умеют» компьютеры как со встроенными сетевыми адаптерами, так и обладающие внешними сетевыми карточками.

В этой статье мы рассмотрим, как загрузить операционную систему Linux по сети. Многие дистрибутивы позволяют устанавливать операционную систему по сети. Однако не нужно путать установку по сети и загрузку по сети.  В первом случае вы загружаетесь с системной дискеты, а дальше программа установки просто копирует все необходимые ей файлы, находящиеся, как правило, на каком-то FTP-сервере, на ваш компьютер. В случае с загрузкой по сети файлы не копируются на ваш компьютер, а загружаются по сети при необходимости. Сначала загружается ядро системы (мы говорим о Linux), а потом необходимые ему файлы – корневая файловая система (с использованием NFS). Данный способ позволяет нам использовать бездисковые станции. Если вам нужна «служебная» бездисковая станция, которая будет выполнять только определенные задачи, например, принт-сервера или шлюза, можно вовсе отказаться от NFS, а загружать все сразу – и ядро, и корневую файловую систему – лишь бы оперативной памяти хватило.

Примечание: NFS (Network File System) – сетевая файловая система. Позволяет монтировать файловые системы, находящиеся на удаленных компьютерах.

Наверное, вы знаете, что существуют так называемые NFS-дистрибутивы, которые также позволяют хранить все необходимые файлы на NFS-сервере. Но NFS-дистрибутив нельзя использовать на бездисковых станциях. Как минимум для запуска такого дистрибутива на рабочей станции должен быть установлен обычный дисковод для гибких дисков. Загрузчик LILO (или любой другой) загружается с дискеты, затем вы передаете ему несколько параметров, как минимум два:

  • root=/dev/nfs – сообщает ядру, что мы будем использовать загрузку по NFS;
  • nfsroot – указывает путь к корневой файловой системе в формате:

[<server_ip>:]<root_dir>[,<nfs_options>]

Как видите, ядро знает, что корневая файловая система загружается по NFS. Сейчас мы попробуем сделать так, чтобы ядро даже «не заметило», что оно загружается по сети. Для этого мы будем использовать серверы rarp (Reverse Address Resolution Protocol) и tftp (Trivial File Transfer Protocol). Сервер rarp мы будем использовать для того, чтобы сопоставить MAC-адрес бездисковой станции определенному IP-адресу нашей локальной сети. Сервер tftp будет хранить наш загрузочный образ, о котором мы поговорим немного позже.

Теперь приступим к практической реализации. Для начала сопоставим MAC-адрес бездисковой станции IP-адресу нашей сети. Как я уже говорил, для этого будем использовать сервер rarp, который должен быть установлен на вашей системе.

/sbin/rarp –s 192.168.1.117 00:00:a1:77:e5:c9

Данную команду нужно включить в сценарий загрузки вашей системы, чтобы не вводить ее вручную при каждом запуске. Проблему идентификации нашей станции можно решить и по-другому – с помощью DHCP. Для этого в файле конфигурации /etc/dhcpd.conf нужно прописать директиву host для каждой бездисковой станции:

host net_pc1{

hardware ethernet 00:00:a1:77:e5:c9

fixed-address 192.168.1.117

}

Как определить MAC-адрес сетевой платы? Для этого существует много программ, но целесообразнее использовать стандартные программы, которые всегда есть под рукой: в Linux – это ifconfig, а в Windows – winipcfg (рис. 1).

Рисунок 1. Программа winipcfg

Рисунок 1. Программа winipcfg

Ядру Linux нужно будет передать параметр ip, определяющий настройки IP-интерфейса. В общем случае он выглядит так:

ip=::::::

Как это сделать, вы узнаете чуть позже, а пока рассмотрим несколько примеров:

  • Мы используем протокол BOOTP:

ip=::::net_pc1::bootp

  • Мы используем сервер rarp:

ip=::::net_pc1::rarp

  • Мы указываем статический IP-адрес 192.168.1.117:

ip=192.168.1.117:192.168.1.1:192.168.1.1:255.255.255.0:net_pc1:eth0:

Сервер BOOTP можно с успехом заменить сервером DHCP, однако с небольшими изменениями в файле конфигурации. Пример файла конфигурации будет приведен в конце статьи. Имя net_pc1 должно быть прописано в файле /etc/hosts или сервере DNS:

192.168.1.117    net_pc1.domain.ru   net_pc1

Теперь можно приступить к настройке сервера tftp. Установите сервер tftp. После установки в каталоге /etc/xinetd.d появится специальный файл, содержащий параметры запуска сервиса tftp. Вы можете отредактировать их по своему усмотрению, после чего нужно перезапустить сервис xinetd:

service xinetd restart

Если же у вас до сих пор используется устаревший суперсервер inetd, в файл /etc/inetd.conf нужно добавить следующую строку (или раскомментировать ее, если она уже есть):

tftp dgram udp wait root /bin/in.tftpd in.tftpd –s /tftp

Как обычно, нужно перезапустить сервис inetd, чтобы изменения вступили в силу. В каталог /tftp нужно поместить тот самый образ, содержащий ядро и базовую корневую файловую систему.

Вот теперь самое время поговорить об образе и о тех файлах, которые он должен содержать. Начнем, пожалуй, с ядра. Перекомпилируйте ядро, включив в него поддержку сети, файловой системы ext2 и Initial RAM disk support (секция Block devices). Все остальное отключайте по максимуму – ведь мы же не хотим передавать вместе с ядром несколько мегабайт дополнительных модулей. Если у вас одна бездисковая станция, возможно, такой режим работы не скажется на функционировании всей сети, но попробуем представить, что таких станций у нас десять и все они включаются одновременно… Можно даже отключить поддержку модулей – все, что нужно, вы поместите в ядро. Такое ядро не будет компактным, но с одним файлом вам будет проще работать.

После того, как ядро будет откомпилировано, желательно проверить его работоспособность – запишите его на дискету и загрузитесь с нее:

cat bzImage > /dev/fd0

rdev /dev/fd0 /dev/hda1

rdev –v /dev/fd0 –1

rdev –R /dev/fd0 1

rdev –r /dev/fd0 0

Команда rdev используется в случае, если ядро и корневая файловая система находятся на разных дисках. В нашем случае ядро – на дискете, а файловая система – на жестком диске (раздел /dev/hda1). Если загрузка прошла успешно, значит, ваше ядро вполне работоспособно и его можно использовать.

Самое сложное – еще впереди. Вам нужно самостоятельно подготовить набор файлов корневой файловой системы, то есть создать свой небольшой дистрибутив.

Подробнее о создании микродистрибутивов вы можете прочитать:

  • в статье Всеволода Стахова «Создание загрузочных дискет и CD-дисков Linux», которая была опубликована в июньском номере «Системного администратора»;
  • в статье «Изготовление мульти-загрузочного CD-диска» (http://gazette.linux.ru.net);
  • на моем сайте http://dkws.narod.ru.

Конечно, всегда можно пойти по пути наименьшего сопротивления и использовать уже готовый микродистрибутив, помещающийся на одной – двух дискетах. Такой дистрибутив очень легко найти в сети. Конкретный дистрибутив советовать не буду, поскольку выбор зависит от выполняемых им функций.

Кроме ядра и файловой системы Linux, наш образ должен содержать загрузчик Linux: кто-то ведь должен передать параметры ядру Linux (вы еще не забыли о параметре ip?). Подойдет любой загрузчик, который в состоянии справиться с возложенной на него задачей – передачей параметров ядру. Если файл образа уже готов, можно записать загрузчик прямо в него – Linux все равно с чем работать – с файлом или устройством. Вот конфигурационный файл lilo.conf:

boot=/tftp/net.img

prompt

timeout=50

compact

vga=normal

read-only

image=/vmlinuz

       label=linux

       append=" ip=::::nfs-client::bootp"

Когда ваш образ будет полностью готов, запишите его в каталог /tftp и можно попробовать запустить бездисковую станцию (не забудьте в SETUP включить загрузку по сети). Не получается? Тогда переименуем файл образа следующим образом:

ln –sf net.img C0A80175.I586

Откуда взялось такое страшное имя? Все очень просто: IP-адрес бездисковой станции записывается в шестнадцатиричном формате, все точки игнорируются. Затем через точку записывается код архитектуры бездисковой станции (прописными буквами). Код архитектуры можно узнать, выполнив команду arch… на бездисковой станции. А как же ее выполнить – ведь там нет операционной системы? Тогда просто попробуйте угадать – это несложно. Скорее всего, у вас будет установлен процессор фирмы Intel или совместимый с ним, значит, первая буква кода будет I. Затем следует код процессора – 386, 486, 586 (Pentium), 686 (Pentium II, Celeron).

Вот сейчас все должно быть нормально. Во всяком случае, ядро системы должно загрузиться по сети. Если возникнет ошибка во время загрузки системы, то это означает только одно – вы где-то допустили ошибку при «сборке» собственного микродистрибутива.

Обычно бездисковые станции используются в качестве служебных компьютеров, например, маршрутизаторов или шлюзов. А что делать, если вам нужна полноценная рабочая станция, скажем, X-терминал, за которым днями и ночами должны работать пользователи (например, вы создаете малобюджетное интернет-кафе)? Тогда наш загрузочный образ должен содержать только ядро и загрузчик без файловой системы. Загрузчик должен передать ядру следующие параметры:

root=/dev/nfs nfsroot=192.168.1.1:/exports/nfs

192.168.1.1 – это IP-адрес сервера NFS.

В файле /etc/exports указываются экспортируемые файловые системы:

/exports/nfs (ro)

/exports/nfs-rw (rw)

/mnt/cdrom net_pc1(ro)

Первая строка означает, что экспортируется файловая система /exports/nfs и доступ к ней в режиме «только чтение» (read only – ro) получат все компьютеры. К файловой системе /exports/nfs-rw также получат доступ все компьютеры, но в режиме «чтение-запись». К CD-ROM получит доступ только компьютер net_pc1.

Как и обещал, привожу небольшой фрагмент файла конфигурации /etc/dhcpd.conf, позволяющего серверу DHCP работать в режиме BOOTP:

subnet 192.168.1.0 255.255.255.0 {

option subnet-mask 255.255.255.0;

option domain-name-servers 192.168.1.1;

# Если вы не укажете директиву dynamic-bootp, ваш DHCP-сервер не будет работать в режиме BOOTP

range dynamic-bootp 192.168.1.100 192.168.1.200

}

host net_pc1{

hardware ethernet 00:00:a1:77:e5:c9

fixed-address 192.168.1.117

}

Все ваши вопросы и комментарии к статье буду рад выслушать по адресу: dhsilabs@mail.ru

Ссылки:

  1. Пакет Bootkit, предназначенный для создания загрузочных дисков: ftp://sunsite.unc.edu/pub/Linux/system/Recovery
  2. Очень много ссылок на микродистрибутивы Linux: http://www.linuxlinks.com
  3. Много программ для создания загрузочных дисков: http://www.ibiblio.org/pub/Linux/system/recovery
  4. Сайт http://dkws.narod.ru – много полезной документации по Linux, в том числе документы Howto на русском языке.

Комментарии отсутствуют

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

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru