Видео ролики бесплатно онлайн

Смотреть нежное видео

Официальный сайт rnns 24/7/365

Смотреть видео бесплатно

02.08.09 03:13 Username

Linux Network AdministrationГрузим линукс по сети

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

Часто мы грузим ОС с харда, реже - с компакт-диска, реже - с флешки. Но кто видел более-менее свежие настройки БИОСов, наверняка замечал пункт загрузки по сети.

Как это? Это очень интересно. По сути, это первый шаг к построению тонких клиентов и прочих вкусных няшек. Прошу не путать с установкой линукса по сети, загрузка - это именно загрузка. Надо сказать, что в современном мире сиди-приводы уходят в небытье, и например владельцам нетбуков эта статья может понравится. Кроме того, автор лично видел P2 как тонкий клиент на нехеровом сервере, так там все летало.

Итак, перевод ниже.


Возможность вашей машины грузиться по сети целиком и полностью определяется PXE (Preboot Execution Enviroment). Для этого необходимо иметь BIOS, который позволяет просматривать сетевой трафик и обнаруживать в нем нужное без оглядки на жесткий диск или другие загрузочные устройства. В этом случае, клиент просматривает сеть в поисках сигнала от сервера, который определяет дальнейшую судьбу загрузку машины. Собственно их описания настройки такого сервера статья и создана.

1. Установка DNS-сервера

Установка dns-сервера в ubuntu

Когда клиент включается, он пытается инициализировать сетевой интерфейс и подключится к сети через шлюз. Чтобы это сделать, ему необходим IP-адрес и возможность найти сервер. IP адрес необходимо получить через DHCP - обычно это не требуется, но для работы загрузки по сети это важно. К счастью, есть программа, совмещающая в себе функции DHCP и DNS сервер - dnsmasq.

Найдите в своем менеджере пакетов эту программу и установите ее. В ubuntu - это пакеты dnsmasq и dnsmasq-base.

2. Конфигурирование DHCP-сервера
dnsmasq.conf

Конфигурационный файл dnsmasq банально называется dnsmasq.conf и находится в /etc (само собой, появляется только после установки пакета с программой). Чтобы его редактировать, необходимы права root. Далее достаточно открыть его emacs любимым текстовым редактором добавить в конец файла следующие записи:

dhcp-range=192.168.198.130, 192.168.198.140,12h #в исходном тексте как я понимаю ошибка в этом месте

dhcp-boot=pxelinux.0,192.168.198.128 #тоже, там пробел лишний по идее

dhcp-option=3,192.168.198.2

dhcp-option=6,192.168.198.2

Первая строчка характеризует диапазон адресов, которые будут обслуживаться DHCP-сервером. В примере - это сеть 192.168.198.0 с адресами в интервале от 130 до 140. Вторая строчка - адрес сервера сетевой загрузки, 'pxelinux.0' говорит о том, что клиент должен искать именно такую загрузочную запись. Последние две строки имеют отношение к шлюзу (192.168.198.128 в нашем случае). Если у вас возникают проблемы с определением правильных IP адресов, наберите в консоли:

ifconfig eth0 | grep inet

Это выведет список текущих адресов вашего сервера. Чтобы узнать адрес шлюза, выведите список маршрутов командой route. Строка с default - то, что вам нужно - IP адрес шлюза, который и надо вводить в последних двух строках.

После внесения изменений в конфиг, перезапустите dnsmasq командой:

sudo /etc/init.d/dnsmasq restart

или из-под рута /etc/init.d/dnsmasq restart.

3. Установка TFTP-сервера

atftpd.conf

После того, как клиент получит адрес и узнает, что необходимо цеплять pxelinux, следующий шаг - обеспечить ему это. Осуществляется такая задача при помощи TFTP (Trivial File Transfer Protocol) сервера, который по сути использует более примитивную версию протокола FTP. Примитивность здесь выгодна тем, что в этом случае PXE код помещается в скромные нужды BIOS. Распространненым TFTP-сервером является aTFTP, его и установим. После установки необходимо отредактировать файл конфигурации /etc/default/atftpd.conf.

Всего-навсего нужно изменить первую строку: 'USE_INETD=true' - поменять 'true' на 'false' и убедиться, что остальные параметры не противоречат настройкам сети/системы. По умолчанию, загрузочные файлы хранятся в /var/lib/tftpboot. На самом деле, не важно, где лежат сами файлы, важно, чтобы путь к ним был корректно прописан

Если вы работаете в сети с фаерволом, убедитесь, что порт 69 открыт. После проверки всей конфигурации сохраните ее и перезапустите atftp:

sudo /etc/init.d/atftpd restart

4. Создание загрузочных образов


Итак, сетевое взаимодействие налажено, теперь необходимо подсунуть клиенту те самые образы загрузки. Существует множество способов создания и добавления этих файлов, да причем и в разных дистрибутивах. Например, можно запустить полностью функциональную LiveCD систему, но мы ограничимся образом для сетевой установки ubuntu. Теперь их не добавляют в стандартный диск по соображениям нехватки места, но их можно достать тут. После скачивания поместите эти файлы в /var/lib/tftpboot (если специально не изменили директорию при настройке).

Разархивируйте архив и посмотрите на содержимое. Здесь находится pxelinux.0, на который мы уже ссылались, и директория 'pxelinux.cfg' - там хранится файл, аналогичный GRUB'овскому menu.lst - а значит, и работать с ним можно аналогично. Поэтому все изменения, касаемые процесса загрузки можно вводить там.

5. Загрузка клиета


Убедимся, что все демоны на измене работают. Воспользуемся утилитой netstat:

netstat -nulp выведет информацию об используемом протоколе UDP.

Если все работает - смело включайте клиент, выбирайте загрузку по LAN и наслаждайтесь положительными эмоциями, качественным сервисом процессом загрузки.

Что делать, если BIOS не поддерживает загрузку по сети?

Авторы статьи рекомендуют сделать фиктивный тонкий клиент - то есть осуществлять загрузку, например, с флешки, а работать исключительно по сети через смонтированные сетевые папки (как бы в chroot'е).

Как загрузиться по сети в LiveCD

Задача тривиальна. Необходим собственно образ диска, а точнее, его содержимое. Его-то и нужно копировать в NFS-шару и соответственно поменять файл конфигурации:

LABEL Hardy-Heron kernel hardy/vmlinuz append boot=casper

netboot=nfs

nfsroot=192.168.198.128:/path/to/nfs/share initrd=hardy/initrd.gz

В этом примере ядро и initrd лежат в /var/lib/tftpboot/hardy - заметьте, как записаны пути к ним в конфиге, а само содержимое диска лежит в 192.168.198.128:/path/to/nfs/share - то есть, куда положим.

На этом все :)
Kraplax 02.08.09 03:42 # +0
Спасибо, познавательно и по-русски (почти - пофиксил пару опечаток/грам.ошибок :P)
Мне как раз такой статьи нехватало когда флэшки не было под рукой, а систему надо было ставить на нетбук - тогда задумался что если грузить систему по сети пока не решу проблему? Но, сам не доковырял до ответа. В общем, спасибо за перевод =)
Username 02.08.09 11:49 # +0
три часа ночи было, вот и опечатки :(
predator 02.08.09 09:23 # +0
Это как в старые времена когда было множество терминалов и один мэйнфрейм?
Kraplax 02.08.09 10:45 # +1
Вы еще застали те времена? :D
Да я думаю и сейчас это вполне удобно.
Вот только этот способ подразумевает что вы работаете полностью на своей машине, ОС для которой загружается в оперативную память по сети, в то время как терминалы имели свою базовую ОС (или так же грузились по сети) и фактически, подключаясь к мэйнфрейму, работали на самом мэйнфрейме, почти нисколько не нагружая сам терминал.
predator 02.08.09 10:58 # +0
Вы еще застали те времена? :D
нет конечно =)
Интересно стало как реализовать старый способ...
Username 02.08.09 11:51 # +0
у нас на работе админ сделал на основе тонкий клиент на дреееевнем компе, правда, не совсем таким образом - мать была старая и сетевуха дерьмо, а установив LILO и в нем покопав. Результат - бух на убитой машине работала быстрее, чем я. Ибо серверный Intel Core 2 Duo пусть и по сети все равно быстрее, чем мой :(
lwilis 02.08.09 12:03 # +0
работа в консоли уже является реализацией этого способа, где роль мэйна выполняет сама ос, а клиентами являются виртуальные терминалы. при желании можно разнести сервер и клиентов на несколько машин, но сути это не меняет.
Самый простой способ разделить клиента и сервер - законнектиться по ssh на какую-нибудь машину и работать на ней под своим юзером.
Username 02.08.09 12:05 # +0
ну для того, чтобы коннектится по ssh необходима установленная ось на клиенте, и подключение по ssh таки элементарно медленнее и подвержено слабости клиента. Чего не будет на тонком терминале.
lwilis 02.08.09 12:16 # +0
я отвечал на вопрос о "реализации старого способа", заданный predator`ом.
Username 02.08.09 12:18 # +0
это не реализация старого способа. Это просто та же модель, по которой построен базовый интерфейс линукса как ОС.
lwilis 02.08.09 12:25 # +0
я об этом и сказал. Иначе говоря "старого способа" нет, так как он, по сути, действует и сейчас.
evgenyl 02.08.09 12:19 # +2
В дополнение рекомендую почитать мою статью о загрузке gentoo на eee pc по сети.

evgenyl 02.08.09 12:23 # +0
Я регулярно удаленно ставлю gentoo на сервера методика в целом таже.
fun 02.08.09 12:36 # +0
Жаль кнопки "в закладки" нет.
or10n 02.08.09 15:41 # +0
а какой канал необходим для полноценной (веб, доки и т.п.) работы удаленно?
реально ли слушать также музыку ?
meako 02.08.09 16:20 # +0
Вы немного путаете. В статье с сети ось только запускается, тоесть выполняется она на вашем компьютере, только вместо винчестера — удаленный сервер.
Веб, доки и все остальное (даже игрушки) можно спокойно использовать.

Когда же речь идет о терминальной схеме (vnc, rdp удаленный X.ORG) то на вашем компьютере только рисуется картинка, а все вычисления на удаленном. Обьем трафика при работе сильно возрастает. На веб с доками хватает вполне, с видео будет сложно.
or10n 02.08.09 16:55 # +0
мммм...
вот это уже интересно :)

П.С. сразу не понял, я думал это терминальный доступ. =)
Username 02.08.09 16:34 # +0
meako полностью прав, вся работа выполняется на сервере.
Craftuser 03.08.09 19:00 # +0
Парочка мелких поправок, дабы начинающих в ступор не вгонять:
После установки необходимо отредактировать файл конфигурации /etc/default/atftpd.conf
Файл обычно зовется просто - atftpd, это видно и на скрине.
sudo/etc/init.d/atftpd restart
После sudo конечно пробел, это для копипастеров, Kraplax видимо тоже не доглядел:)
Кроме того, стоило бы уточнить что нужно установить не просто aTFTP, а именно его серверную часть.
hidden 19.08.09 07:25 # +0
А что многоуважаемый all может посоветовать в случае если, в качестве источника загрузки, у меня Win-система? Всё обгуглил, не могу найти как скормить win-шару через PXE.
Username 31.08.09 13:09 # +0
поясни пожалуйста
hidden 01.09.09 04:13 # +0
Ну вот, если источником сетевой загрузки служит комп с Linux-ом, то как сказано в статье: "Необходим собственно образ диска, а точнее, его содержимое. Его-то и нужно копировать в NFS-шару". А если у меня машина с виндой, где я на ней NFS найду? Т.е. интересует, есть ли способ указать в конфиге PXE Win-шару?
Username 04.09.09 10:54 # +0
сразу подумал, что ничто не мешает грузить через кривожопую самбу, и да, это возможно, вот например пруф. Наверняка есть и другие, отличий от нфс-загрузки минимум, просто используется смб.

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Top блогов (все)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Top пользователей (все)
            Топ пользователей Топ блогов
            В сети: MagoBuono, fun, xT, IgRik

            Новенькие: wakeup, pushkaruk, Green, nosiam, drhate
            welinux.ru

            Смотреть онлайн бесплатно

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

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

            Смотреть HD видео бесплатно

            School смотреть онлайн