Showing posts with label NIM. Show all posts
Showing posts with label NIM. Show all posts

Thursday, July 23, 2015

VIOS: установка через NIM


Устанавливаем ВИОС через НИМ-мастер.
1. Собираем установочный образ
Для этого с DVD-диска забираем файлы mksysb_image и mksysb_image2, затем забираем оставшийся третий файл со второго DVD.
Если вы используете виртуальный репозиторий, то монтировать CD-Rom луче через smit
#smit mountfs
Соединяем файлы в один:
#cat mksysb_image mksysb_image2 mksysb_image3 > /vioscd/mksysb_inst
 Итак, образ успешно создан, пока определить тип
2. Определяем тип mksysb для NIM'а:
#nim -o define -t mksysb -a location=/vioscd/mksysb_inst -a server=master mksysb_vios
Далее готовим образ для установки:
#nim -o define -t spot -a server=master -a location=/vioscd/vios -a source=mksysb_vios spot_vios
Очень распространенная  ошибка, если вы определи не все образы с дисков:
#nim -o define -t spot -a server=master -a location=/vioscd/viosetup/vioserver -a source=mksysb_vios spot_vios

3. Переходим к непосредственной установке:
Создаем профайл под ВИОС и активируем его, затем открываем терминал:
Выбираем удаленную установку, через Bootp
Указываем настройки сетевого адаптера:
Делаем тест, если тест успешно пройден - можно приступать к установке!
При условии, что вы уже сконфигурировали NIM, если нет - то конфигурируем. Далее действия проводим на NIM master'e.
Определяем нового клиента:
#nim -o define -t standalone -a platform=chrp -a if1=ether_10.30.1 -a cable_type1=tp vios2
Определяем для него ресурсы:
#nim -o allocate -a spot=spot_vios -a mksysb=mksysb_vios vios2
Далее инициируем сервер для загрузки через NIM.
Perform NIM Software Installation and Maintenance Tasks -->
Install and Update Software --> 

Install the Base Operating System on Standalone Clients

 определяем тип установки, в моем случае это ранее орпеделенный mksysb
Далее заполняем свойства по установке системы, такие как:
Инициировать установку сейчас, принимать лицензионное соглашение и т.д.
Теперь все готово к запуску, запускаем профиль ВИОСа(если не был ранее запущен)
Подсчет пакетов начался - супер! Приступаем к установке=)
Задаем пароли после установки и сервер готов к эксплуатации.

Успехов!

Wednesday, March 4, 2015

LPAR: устанавливаем AIX с помощью NIM-сервера

   Представляю на ваш суд небольшую статью "Установка операционной системы AIX по сети, с использованием NIM-сервера".
   Итак, Вы создали новый Lpar и готовы установить на него ОС AIX с помощью NIM-сервера. Хорошо, для инсталляции нам понадобится рабочий НИМ-сервер с определенными ресурсами: lpp_source и spot, подробнее про настройку NIM-сервера можно почитать тут.
    Первое, заводим на NIM-сервере определение клиента с именем client01
#nim -o define -t standalone -a netboot_kernel=64 -a if1="ether_10_30_1 client01 0" /
-a cable_type1="tp" client01
    Второе, проводим для него включение возможности установки операционной системы:
#nim -o bos_inst -a spot=lpp_cd0 -a lpp_source=lpp1412 -a accept_licenses=yes client01
   Посмотрим созданное определение клиента через команду lsnim
#lsnim -l  client01

Запустим на ним-сервере отслеживание действий через службу bootpd (лог приведу чуть ниже). Для этого мне пришлось отключить в конфиге /etc/inetd.conf службу bootpd, а потом ее запустить вручную.
#/usr/sbin/bootpd -s -d -d -d

   Запускаем инсталляцию с клиента: грузим lrap в SMS режим и заполняем все параметры режима Remote Initial Program Load (RIPL)
Select the network adapter you want to use for the network installation
Тут указываем нужный адаптер, который будем конфигурировать для сетевой установки. 
Далее выбираем IPv4
После указываем использование протокола BOOTP
Select network service for NIM this is bootp (пункт 1)
 Теперь самое главное - заполнить IP parameters (пункт 1) и сделать Ping Test (пункт 3).
Заполняем параметры айпи-адреса:
И проходим пинг тест, если успешно - продвигаемся к установке вплотную. Если нет - то начинаем разбираться с файрволами и настройкой BOOTPD на ним-сервере.
Выходим из SMS-режима, программа установки начинает подсчет пакетов:
И начнется сама установка: выбираем терминал и нажимаем enter (почему-то 2 раза надо)
Далее идет обычная установка AIX, я не привожу скрины, тут все просто!

Вот лог службы, на nim-сервере:

BOOTPD:
Протокол взаимосвязи между ним-мастером и ним-клиентом. Когда ним-клиент сконфигурирован загрузиться по сети с ним-мастера служба bootpd считывает настройки с файла /etc/bootptab и предоставляет их клиенту.

Успехов! Комментарии приветствуются.

Monday, February 23, 2015

AIX: настройка NIM server

   NIM master - сервер, который управляет средой NIM и контролирует все типы ресурсов, которые доступны NIM-мастеру. У клиента может быть только один мастер, мастер не может быть клиентом любого другого ним-мастера. 
   NIM client - клиентская машина (lpar или standalone), которая может использовать ресурсы мастера: установка ПО, бэкапов, загрузка, инсталляция.
   NIM resources - собственно ресурсы: файлы или даже целые файловые системы, которые предоставлены для использования клиентам. Ресурсы могут быть нескольких типов: mksysb, spot, lpp_source, machines...

   Перед настройкой NIM-сервера имейте в виду следующие потребности:
1. Установочные образы.
Если их вас нет, смысла в дальнейшем - нет.
2. Достаточное количество дискового пространства
Логично, да? 
3. Сетевая доступность.
   При установке ОС, или вытаскивании бэкапа из Нима, нагрузка на сеть будет довольно высокой, позаботьтесь о решении сетевой проблемы до того, как случится коллапс. =)
#lslpp -l | grep nim  

Итак, NIM-сервер не установлен, исправим это!
Нам осталось доустановть пару пакетов: 
bos.sysmgt.nim.master

bos.sysmgt.nim.spot
#installp -ac -d /distr/installp/ppc/ bos.sysmgt.nim.master
#installp -ac -d /distr/installp/ppc/ bos.sysmgt.nim.spot
Отлично, установили!
Создаем отдельный том под Nim-сервер и файловыую систему:
#mklv -t jfs2 -y nimlv rootvg 30G
#crfs -v jfs2 -d /dev/nimlv -m /nim -A yes
#mount /nim
Отлично!Запускаем конфигуратора:
#nimconfig -a pif_name=en2 -a netname=ether_10_30_1
-a netboot_kernel=64 -a cable_type=tp -a client_reg=no -v
2 первых параметра - обязательны, остальные - дополнительные. -v детальный вывод.
Обратите внимание на заполнение поля  netname=ether_10_30_1
Просмотр основной инфрмации:

#lsnim
Просмотр информации о ресурсах:
#lsnim -l master
Просмотр информации о типах ресурсов
#lsnim -t spot
 Теперь нужно сделать образы на самом NIM'е. Немножко о самых основных типах образов.
1. lpp_source
 Данная директория содержит инстралляционные образы: CD/DVD, файлсеты-пакеты (filesets), обновления TL/SP.
2. SPOT ( shared processor object tree) - что-то похожее на загрузочный диск, например, через NIM можно загрузить удаленную машину используя SPOT - директорию, т.к. она содержит данные из файловой системы /usr, а именно само ядро, драйвера устройств, и другие инсталляционные пакеты BOS.
3. mksysb
Используется как rootvg бэкап отдельного ним-клиента. Обладает ключевыми характеристиками: быстрое восстановление поломанной системы, а также может быть использован для инсталляции в других системах (инсталляции из бэкапа происходит гораздо быстрее, чем с CD).
4. bosinst_data 
Представляет собой кастомизированные процедуры, используемые в неинтерактивной инсталляции.
5. image_data
Это архитектура rootvg - полная информация по использованию LV, VG, PP.
Создадим образ с DVD:

#nim -o define -t spot -a server=master -a source=/dev/cd0 -a location=/nim/lpp_cd0 lpp_cd0
Если вы что-то добавили неверно, всегда можно удалить:
#nim -o remove lpp_cd0
Скачал с фикс централа последние фиксы 7100-03-04-1441
Добавим к ресурсам NIM'a. Делаем сначала образ с дистрибутива:

#nim -o define -t lpp_source -a server=master -a source=/dev/cd0 -a location=/nim/lpp_1441 lpp_1441
Теперь обновим до последних фикспаков:
#nim -o update -a show_progress=yes -a packages=all -a source=/distr/fixesdir lpp_1441
NIM-сервер готов к эксплуатации.
Успехов! Комментарии приветствуются!

NIM: подключение клиента

   Подключаем клиента к ним-серверу, даем команду с клиента (hostname=client1):
#niminit -a name=client1 -a master=10.30.1.34 -a pif_name=en4 -a cable_type=tp -a master_port=1058
А в ответ ошибка: 
0042-291 NIMkid: The NIM master is not currently allowing registration of NIM clients.
Please seek assistance from your network install administrator.
Т.е. ним-мастер не разрешает подключения клиентов. Исправим это!
Виновата эта настройка на NIM-мастере client_reg=no
#nim -o change -a client_reg=yes master
Теперь можем подключиться!
Для просмотра ресурсов ним-мастера, выполним такую команду:
#nimclient -l -L master
Определим ресурсы NIM-сервера(как правило это spot и lpp_source), которые будут доступны для клиента с именем i2-test1:
#nim -o allocate -a spot=lpp_cd0 -a lpp_source=lpp1412 i2-test1
Определим новую машину, назовем ее client01
#nim -o define -t standalone -a if1="ether_10_30_1 client01 0" -a cable_type1="tp" client01

Итак, посмотрим все доступные операции, которые можно выполнить с клиента (их также можно выполнить через Ним-сервер) или так : #smit nim => Perform a NIM Client Operation
 -o Operation
               allocate   Определяет ресурсы
               bos_inst  происходит базовая установка (BOS install)
               change    Изменение аттрибутов объяекта ним-сервера
               cust         Происходит установка ПО.
               deallocate  Удаляет ресурсы.
               diag          Загружает машину в диагностический режим.
               reset         Обнуляет значение объекта NIM сервера.
               showres    Отображает ресурсы определенного типа NIM-сервера.
Посмотрим все ресурсы : 
#nimclient -o showres -a resource=lpp1412
Произведем обновление до последнего TL + SP
#nimclient -o cust -a afixes=update_all
Конечно же удобнее делать через смит, но можно и через консоль!

Если нужно удалить клиентскую машину из окружения Ним-сервера:
#nim -o remove clientname

Успехов! Комментарии приветствуются!

NIM: передаем управление на клиент

   Все операции управления средой NIM можно выполнять либо с сервера, либо с клиента:
Передадим бразды правления с сервера на клиент (имя клиента hostname=i2-test1):
Для этого нужно сделать изменение аттрибута control на NIM-сервере:
#nim -o change -a control=i2-test1 i2-test1

Теперь все операции мы можем выполнять напрямую с клиента. Например, update_all.
#smit nim => Perform a NIM Client Operation

Немножко теории:
Элемент Описание
атрибут control не установлен Если атрибут control отсутствует в списке атрибутов компьютера, то это означает, что ни сервер, ни автономный клиент не управляют выделением ресурсов.
control = master Сервер выделил ресурсы клиенту и готов к выполнению операций (или уже выполняет операцию).
control = имя-автономного-клиента Автономный клиент захватил ресурсы и может выполнять операции NIM самостоятельно.
control = имя-автономного-клиента push_off Автономный клиент запретил серверу NIM выделять ресурсы и запускать операции. Сам клиент, тем не менее, продолжает управлять выделением ресурсов и запуском операций NIM.

NIM: ошибка клиента при подключении к серверу

   При запросе ресурсов с клиента вылетает такая ошибка (master - хостнайм NIM-сервера):
#nimclient -l -L master
0042-006 nimclient: (To_Master) rcmd A file or directory in the path name does not exist.
    Из ошибки понятно, что ругается на rsh. Проверяем включен ли secure shell. Как правило, он включен по умолчанию, но проверим на всякий случай:
Хорошо. Тогда заглянем в файл /.rhosts на ним-сервере:
Там должно быть определение для клиента нима.
Примерно следующее:
cat /.rhosts
client01 root
Если и в этом случае подключение не происходит - значит у вас не отрабатывает "определение имен хостов" (name lookup), проще говоря не работает ДНС. Тогда пропишем ip-адрес ним-сервера напрямую в файл /etc/hosts на клиенте:
Удачно проверили доступные ресурсы ним-сервера с ним-клиента.

Успехов! Комментарии приветствуются!

Wednesday, February 18, 2015

NIM: ошибка при создании ресурсов (lpp_source)

   При определении ресурсов lpp_source NIM - master'а может появляться такая ошибка:
warning: 0042-265 c_mk_lpp_source: The image source "/distr/somedir/" that was used to define the lpp_source is missing one or more  of the following from the list of default packages:
До какого-то момента НИМ все определял верно, но потом выдал, что не может определить много основных пакетов. Ошибка означает, что уровень вашего NIM-мастера меньше, чем уровень пакетов, т.е. вы скачали более новое обновление, чем ваш NIM-server. Поэтому обновляем сначала уровень системы, соответственно и НИМ'а заодно.
#smit update_all