четверг, 1 декабря 2011 г.

lpar_netboot или как не влипнуть в меню SMS


Для начала о насущном.
Загружать lpar'ы по сети при помощи NIM задача грустная. Для меня она превращается в скучнейшую рутину при количестве lpar'ов больше одного. Конечно не сложно включить их как-то так:

hmc: # chsysstate -m <server_name> -r lpar -o on -n <lpar_name> -f <profile_name> -b sms

При условии что названия lpar'ов и их профилей можно перечислить в цикле, становится веселее. Но ведь все еще нужно пойти n раз в SMS и настроить сетевые параметры, а потом запустить процесс загрузки. Грустно и липко

Но! На помощь приходит команда lpar_netboot. 
Правда есть один нюанс: когда вы хотите загрузить lpar по сети, вам нужен вот этот ее вариант:

Usage: Install partition  
lpar_netboot [-v] [-x] [-f] [-i] [-g args] [-E environment [-E ...]] [-T {on|off}] [-A -D | [-D] -l phys_loc | [-D] -m macaddress]  -t ent -s speed -d duplex -S server -G gateway -C client [-K subnetmask] [[-a -B tftp_image_filename]|-B bootp_image_filename]  partition_name profile managed_system

Как видно вам нужен либо ключ -l, которому нужно передать Physical location code сетевого адаптера, либо ключ -m и mac этого адаптера. Напомню, мы говорим о массовой разливке, а значит мы используем виртуальные адаптеры или HEA. Итак, какие есть варианты:

  • Вот тут доказывают, что начиная с релиза HMC 7.2 mac адрес на виртуальную карту (в том числе HEA) можно выставить самому. Поздравляю обладателей HMC 7.7.2 (смайл). Сам об этом не догадывался, но в man по mksyscfg это тоже подтверждают. В графике HMC такой возможности, как всегда, нет. 
  • HMC генерирует маки вполне презскауемо и вполне подряд (Кажется я что-то знал про эти правила, но не помню ничего. Подскажите, кто помнит)
  • Ну уж Physloc для виртуальной сетевухи точно вы сами выбираете. Например: 

          U8233.E8B.10000AP-V102-C2-T1, где
          U8233.E8B.10000AP - тип/модель и серийник машины - у всех одинаково
          102 - lpar ID
          2 - номер виртуального слота адаптера
          1 - номер порта - будет всегда 1 для виртуальной карты(или я не прав?)
  • Кроме того, можно спросить и то и другое у карты вот так:
 Usage: Return macaddress 
lpar_netboot -M -n [-v] [-x] [-f] [-i] [-E environment [-E ...]] [-A] -t ent [-T {on|off}] [-D -s speed          -d duplex -S server -G gateway -C client [-K subnetmask]] partition_name profile managed_system

Например:

hscroot@hmc:~> lpar_netboot -M -A -n -T off -t ent lpar7  normal BENDER
# Connecting to lpar7
# Connected
# Checking for power off.
# Power off the node
# Wait for power off.
# Power off complete.
# Power on lpar7 to Open Firmware.
# Power on complete.
# Getting adapter location codes.
# Type Location Code MAC Address Full Path Name Ping Result Device Type
ent U8203.E4A.654A102-V8-C18-T1 1a19b52f7512 /vdevice/l-lan@30000012 n/a virtual

Здесь нам дают и physloc и mac.

Кажется теперь ничто не мешает нам попробовать создать с десяток lpar'ов и (предполагая, что на NIM'e все готово) поставить туда AIX. Особый шик - тихая установка, но об этом не здесь.

Создадим 10 lpar'ов:

hscroot@hmc:~>  for i in 1 2 3 4 5 6 7 8 9 10; do 
mksyscfg -r lpar -m BENDER -i "name=lpar$i,lpar_id=$(($i + 10)),profile_name=normal,lpar_env=aixlinux,min_mem=512,desired_mem=2048,max_mem=3072,proc_mode=shared,min_proc_units=0.1,desired_proc_units=0.3,max_proc_units=1.0,min_procs=1,desired_procs=1,max_procs=6,sharing_mode=uncap,uncap_weight=128,auto_start=0,boot_mode=norm,max_virtual_slots=120,"virtual_scsi_adapters=${i}1/client//vios1/${i}1/1",\"virtual_eth_adapters=18/0/1///1"; done

Думаю, основные проблемы с пониманием могут быть тут "virtual_scsi_adapters=${i}1/client//vios1/${i}1/1",\"virtual_eth_adapters=18/0/1///1"
За подробностями в man mksyscfg. В примере создается один vscsi и один virtual ethernet. Этого достаточно, чтобы у нас был хотя бы один диск и сеть. Очевидно, и VIOs и NIM уже кем-то настроены (смайл).

Ну и загрузим их:

например так:


hscroot@hmc:~> for i in 1 2 3 4 5 6 7 8 9 10;do
lpar_netboot -l U8203.E4A.654A102-V$(($i + 10))-C18-T1 -T off -t ent -s auto -d auto -S 192.168.1.222 -G 192.168.1.100 -C 192.168.1.$((20 + $i)) lpar$i normal BENDER; done


или так:


hscroot@hmc:~> for i in 1 2 3 4 5 6 7 8 9 10;do
mac=`lpar_netboot -M -A -n -T off -t ent lpar$i normal BENDER | grep ent | head -1 | cut -d' ' -f3`;
lpar_netboot -m $mac -T off -t ent -s auto -d auto -S 192.168.1.222 -G 192.168.1.100 -C 192.168.1.$((20 + $i)) lpar$i normal BENDER; done


Теперь, избавившись от липкой необходимости идти в SMS, мы должны походить по меню установки AIX. Тихая установка победит и это, но в другой раз.

Комментариев нет:

Отправить комментарий