КатегорииLinksUnix Tutorial
Personal Development Ruslan Valiev UnixPin Solaris Performance Team Damien Farnham Fintan Ryan Nicky Veitch Niall Mullen Sean McGrath DTrace Bryan Cantrill Brendan Gregg ZFS Tim Foster General Ben Rockwood Learning Solaris 10 Privacy policy Архивы |
Tags related to tag dhcpSaturday, 29 April. 2006
Solaris 10 как клиент DHCP Добавил Gleb Reys
в категории SysAdmin в
16:14
Комментарии (5) Обратные ссылки (0) Select language: English
Solaris 10 как клиент DHCP
Просто хотел отметить здесь самый быстрый и краткий путь к использованию вашего Solaris-бокса в качестве клиента DHCP.
1) Нужно создать файл /etc/hostname. Например: bash-3.00# touch /etc/hostname.skge0 2) Создать файл /etc/dhcp. В этом же файле можно указать, сколько секунд ifconfig будет ждать ответа от DHCP-сервера, прежде чем продолжит загрузку Solaris. bash-3.00# cat /etc/dhcp.skge0 wait 60 3) Имя вашей системы Оно должно храниться в файле /etc/nodename. Это значение будет использоваться, если ваш DHCP-сервер не предоставляет имя хоста по запросу вашего DHCP-клиента. Вот и всё, теперь перегружайте систему, и всё должно работать! Удачи! Thursday, 26 May. 2005
HOW-TO: Установка Solaris ... Добавил Gleb Reys
в категории SysAdmin в
14:44
Комментарии (2) Обратная ссылка (1) Select language: English
HOW-TO: Установка Solaris с помощью PXE/DHCP
Следующий билд Solaris Express будет скорее всего уже содержать одну из долгожданных новых возможностей: архитектуру Solaris NewBoot для систем x86. Среди прочих улучшений архитектуры загрузки системы, NewBoot представляет использование загрузчика GRUB с поддержкой ufs, и pxegrub для PXE-загрузки. Каспер Дик (Casper Dik) рассказывает про Newboot одной из записей своего блога: The End Of Realmode Boot.
В этой моей записи я попытаюсь объяснить, как создать сервер для установки Solaris по сети с помощью PXE. Процедура, описанная внизу, описывает шаги, необходимые для загрузки и установки сетевых клиентов с помощью PXE. Описывается настройка загрузчика Grub для всех билдов Solaris для x86, начиная с Nevada b14. Самым очевидным требованием является, конечно же, наличие сетевых адаптеров в клиентских машинах, имеющих поддержку PXE. Вот полный список компонент на стороне сервера, которые вам нужно настроить, чтобы устанавливать ваши клиентские машины с помощью PXE: 1. DHCP сервер 2. Образ для сетевой установки OS 3. Конфигурационные файлы Jumstart для конкретного клиента Сначала я пройду по этому списку, а позже объясню, как настроить саму клиентскую машину: 1. DHCP SERVER 1.1. Установка Начните установку сервера с помощью следующей команды: bash-3.00# dhcpconfig -D -r SUNWbinfiles -p /var/dhcp Она сконфигурирует ваш DHCP-сервер: создаст пустую таблицу ресурсов в /var/dhcp, и создаст файл /etc/inet/dhcpsvc.conf примерно следующего содержания: CODE: DAEMON_ENABLED=TRUE RESOURCE=SUNWbinfiles RUN_MODE=server PATH=/var/dhcp CONVER=1 На этой же стадии запускается DHCP-демон (/usr/lib/inet/in.dhcpd), а указанный выше файл dhcpsvc.conf обеспечивает автоматический запуск демонта после перезагрузки из скрипта /etc/init.d/dhcp. 1.2. Сети На этом этапе вам нужно посмотреть на топологию вашей сети и решить, которые из сетей будут обслуживаться вашим DHCP-сервером. Если ваш DHCP-сервер был сконфигурирован кем-то другим до вас, то вот как можно посмотреть список сетей, которые сервер обслуживает на данный момент: pntadm -L В ответ вы получите список сетей. На нашем сервере он выглядит так: CODE: 192.1.3.0 192.1.4.0 192.1.1.0 192.1.2.0 192.1.9.0 Чтобы создать таблицу для новой сети, нужно выполнить такую команду: pntadm -C 192.1.10.0 Убедитесь, что ваш файл /etc/netmasks содержит правильную информацию, если ваша сеть разбита на подсети. Обновите ваш файл /etc/inet/dhcpsvc.conf, чтобы он включал все активные интерфейсы для DHCP. Вот как выглядит нужный вам параметр на нашем сервере: INTERFACES=hme1,qfe0,qfe1,qfe3 2. Образ для сетевой установки OS Для создания такого образа можно воспользоваться инструкциями с вот этой страницы docs.sun.com: Creating an install server with CD media Вкратце: создайте каталог для вашего образа, и используйте команды setup_install_server и add_instll_server для копирования необходимых файлов из каталога Solaris_10.1/Tools ваших установочных дисков Solaris (CD или DVD). После этого каталог следует сделать доступным по NFS (расшарить). Список действий: - создать каталог для установочного образа и сделать его доступным по NFS для ваших клиентских машин - если у вас больше одной сети, нужно убедиться, что этот каталог будет доступен всем обслуживаемым вами сетям Команда share выдаст вам что-нибудь вроде этого для вашего каталога: - /export/install2 ro=@192.1.1:@192.1.2:@192.1.3:@192.1.4:@192.1.9 "" 3. Конфигурация JumpStart Сначала, проследуйте инструкциям с этой страницы: Creating a profile for networked system. На нашем сервере, каталог JumpStart это /export/install/config. Дальше, каждая машина имеет там свой каталог, например /export/install/config/perf-123. Так. Теперь, если предположить, что вы всё сделали правильно, у вас есть DHCP-сервер, установленный и сконфигурарованный, а также образ для сетевой установки Solaris и набор файлов JumpStart для одной из ваших клиентских машин. Теперь мы готовы к переустановке вашего клиента по сети. Вот что нужно сделать: 1) add_install_client для общего случая Из вашего каталога с образом сетевой установки, и из подкаталога Solaris_10.1/Tools, нас нужно запустить скрипт add_install_script. На нашем сервере, для Nevada b14 это следующий каталог: /export/install2/nv/snv_14/Solaris_10.1/Tools Теперь, сделайте следующее: ./add_install_client -d SUNW.i86pc i86pc Это очень важная команда. Она создаёт, если требуется, каталог /tftpboot, или добавляет в него общие файлы для образа сетевой установки, который мы используем. Также эта команда активирует TFTP демон на вашем сервере. Ну и в конце концов, эта команда создаст файл /tftboot/pxegrub.I86PC.Solaris_10.1-1, который будет использован каждым клиентом, загружающимся по сети с помощью PXE. 2) add_install_client для каждого сетевого клиента Теперь, для нашего клиента, нужно выполнить следующую команду: CODE: ./add_install_client -d -e $ETHER \ -c $SERVER:/export/install/config/$SYSNAME \ -p $SERVER:/export/install/config/$SYSNAME \ -s $SERVER:$SOLARIS_PATH \ -b "console=$TTY" i86pc Это одна из строк нашего скрипта, который автоматизирует установку машин по сети, и эта линия очень ясно показывает, что передаётся команде add_install_client в качестве параметров: $ETHER это MAC-адрес клиентской машины. Не следует забывать, что для большинства MAC-адресов вам следует добавлять "01" в начале адреса. Также, следует избавиться от двоеточий в MAC-адресе. Так что, если у вашей клиентской машины есть такая вот запись в файле /etc/ethers на сервере: 00:09:3d:00:68:f3 perf-123 То MAC-адрес, который вам следует передать как один из параметров для add_install_client будет таким: 0100093D0068F3. Остальные параметры: $SERVER - IP-адрес интерфейса вашего сервера, к которому подключена подсеть с устанавливаемой клиентской машиной $SYSNAME - имя клиентской машины (hostname) $SOLARIS_PATH - полный путь к имиджу сетевой установки $TTY - устройство ввода-вывода, используемое при загрузке по сети с помощью pxegrub. Можно указать ttya или ttyb чтобы использовать консоль. Также можно вообще не указывать здесь ничего, и тогда будет использоваться устройство по умолчанию (экран/клавиатура). Так что, для нашей клиентской машины perf-123, финальный вариант команды будет выглядеть вот так: CODE: ./add_install_client -d -e 0100093D0068F3 \ -c 192.1.1.254:/export/install/config/perf-123 \ -p 192.1.1.254:/export/install/config/perf-123 \ -s 192.1.1.254:/export/install2/nv/snv_14 \ -b "console=ttya" i86pc Эта команда создаст в вашем каталоге /tftpboot следующие три файла: menu.lst.0100093D0068F3 - меню загрузчика grub для загрузки вашего клиента через PXE rm.0100093D0068F3 - стандартный скрипт для удаления файлов вашего клиента из каталога /tftpboot 0100093D0068F3 - символьная ссылка на общий pxegrub файл конкретного билда Solaris в /tftpboot Для perf-123, эта ссылка выглядит так: CODE: bash# ls -al /tftpboot/0100093D0068F3 lrwxrwxrwx 1 root other 28 May 23 17:27 \ /tftpboot/0100093D0068F3 -> pxegrub.I86PC.Solaris_10.1-1 Если проверить теперь, меню загрузчика grub будет выглядеть примерно так: CODE: bash# more /tftpboot/menu.lst.0100093D0068F3 default=0 timeout=30 title Solaris_10.1 Jumpstart kernel /I86PC.Solaris_10.1-1/multiboot kernel/unix -B \ console=ttya,install_config=192.1.1.254:/export/install/config/perf-123, \ sysid_config=192.1.1.254:/export/install/config/perf-123, \ install_media=192.1.1.254:/export/install2/nv/snv_14 module /I86PC.Solaris_10.1-1/x86.miniroot К сожалению, на этой ранней стадии, придётся вручную изменить этот файл, чтобы он не только позволил клиенту загрузиться по сети, но и автоматически начать инсталляцию Solaris согласно JumpStart-настройкам. Чтобы добиться этого, нужно передать ядру Solaris следующие агрументы: "- install dhcp". Так что мы обновляем файл меню, чтобы он содержал эти аргументы, следующим образом: CODE: kernel /I86PC.Solaris_10.1-1/multiboot kernel/unix - install dhcp -B \ console=ttya,install_config=192.1.1.254:/export/install/config/perf-123, \ sysid_config=192.1.1.254:/export/install/config/perf-123, \ install_media=192.1.1.254:/export/install2/nv/snv_14 Я уверен, что скоро появится соответствующая опция командной строки для add_install_client, и тогда я внесу в это руководство соответствующие изменения. Как можно видеть, большинство параметров, передаваемых add_install_clients, оказываются в этом файле меню. Также, этот файл - хороший вариант самопроверки, потому что он содержит все параметры, показывающие, откуда сетевой клиент попытается монтировать файловую систему с образом сетевой установки, и какие файлы JumpStart'а клиент будет ожидать найти для автоматической установки. 3) DHCP - IP-адреса и макрос для нашей клиентской машины Перво-наперво, нужно присвоить нашему клиенту фиксированный IP-адрес, который будет выдаваться DHCP-сервером клиенту по соответствующему запросу перед началом сетевой загрузки и установки: pntadm -f 01 -e 12/31/2010 -A $IPADDR -i $ETHER -m $SYSNAME -s $SERVER $NETWORK.0 Большинство параметров были названы так, чтобы объяснять своё предназначение, и они также знакомы вам с описания параметров команды add_install_client чуть выше. Так что я объясню лишь новые параметры: $IPADDR - IP-адрес, который вы хотите, чтобы ваш DHCP-сервер выдал вашему клиенту $NETWORK - подсеть, к которой принадлежит ваш клиент. Естественно, $IPADDR должен быть в этой подсети. -f 01 - это значение флага означает, что адрес присваевается клиенту на постоянной основе -e 12/31/2010 устанавливает срок действия присваемого клиенту IP-адреса (когда сервер решает, что может заново выдать этот адрес кому-нибудь. До 2010 года этого не произойдёт, согласно этому флагу) Кроме IP-адреса, эта команда также присваивает нашему клиенту макрос - именованный набор параметров, которые DHCP-сервер пошлёт клиенту. Это необходимо для загрузки по сети с помощью PXE. Макрос носит имя (параметр -m), совпадающее с именем клиента. Вот команда, создающая макрос с именем $SYSNAME: dhtadm -A -m $SYSNAME -d ":BootSrvA=$SERVER:BootFile=$ETHER:" Это команда указывает клиенту загрузиться по сети с помощью PXE с сервера, чей IP-адрес - $SERVER, и использовать имя загрузчика с именем $ETHER. Этот файл, как вы помните, в конечном счёте указывает на pxegrub-файл имиджа сетевой установки OS. Вот и всё! Проследите, что ваш BIOS на клиентской машине указывает на сетевой интерфейс, активированный для PXE, затем перегрузите клиента, и вы должны увидеть на его устройстве вывода, как он загружает Solaris miniroot по сети, а потом загружает Solaris и продолжает установку. Как всегда, snoop - наш верный товарищ в траблшутинге.
« предыдущая страница
(Страница 1 из 1, всего записей: 2)
следующая страница »
|




