San Jose Notes 3-16-2006 Made 10GB /export file system on supa1 Did the EZNIM master create Copy all necessary software to Created installp_bundle at /usr/sys/inst.data/user_bundles/extra_software.bnd which had lines in it like this #MEDIA=/export/lpp_source/5301_ML4 R:AIX-rpm-5* R:ElectricFence-2* R:ORBit-0* R:aalib-1* R:aspell-0* This file was created with this command on supa1 after it had all this software installed on it. rpm -qa | sed 's/\(-[0-9]\).*/\1/;s/^/R:/;s/$/*/' | sort \ > /usr/sys/inst.data/user_bundles/extra_software.bnd and then that one #MEDIA line added at the top and these lines to the bottom, I:openssh.base.client I:openssh.base.server I:openssh.man.en_US I:openssh.msg.en_US I:bos.txt.ts To define it to NIM, nim -o define -t installp_bundle \ -a location=/usr/sys/inst.data/user_bundles/extra_software.bnd\ -a server=master Extra_Software To install these 67 filesets into the 530spot_res SPOT, #nim -o cust -a installp_bundle=Extra_Software -a lpp_source=530lpp_res 530spot_res but this had troubles. It didn't realize that X11.base.lib was installed and kept giving these errors libX11.a(shr4.o) is needed by aalib-1.2-1 libICE.a(shr.o) is needed by gnome-libs-1.4.1.2-1 libSM.a(shr.o) is needed by gnome-libs-1.4.1.2-1 libXt.a(shr4.o) is needed by gimp-1.2.2-1 libXext.a(shr.o) is needed by gtk+-1.2.10-4 ====================================================================================== Eagan Notes 1-24-2006 To define a machine to NIM, - Login to the NIM master, egts-dnd1 - Insure you can resolve the IP name. (Early on, we didn't have a DNS server and I had to add the hosts to /etc/hosts manually) - smitty nim_mkmac Or the long way is smitty Software Installation and Maintenance Network Installation Management Perform NIM Administration Tasks Manage Machines Define a Machine - Fill in Host Name of Machine - Change Cable Type from bnc to dix (perhaps not needed) To Install the Base Operating System (BOS), - Allocate the spot, lpp_source & bosinst_data resources to the machine, nim -o allocate -a lpp_source=AIX5300-03_lpp -a spot=5300-03spot -a bosinst_data=bosinst_data egts-dnd2 You may want to review Liz's bosinst_data file. In Jan, 2006, it was at /export/lpp_source/bosinst.data Points of interest are INSTALL_METHOD = overwrite PROMPT = no EXISTING_SYSTEM_OVERWRITE = yes ACCEPT_LICENSES = yes ENABLE_64BIT_KERNEL = yes (which is now the default, so isn't needed) CREATE_JFS2_FS = no (Liz says this ain't ready for prime-time) HDISKNAME = hdisk0 Or the long way is smitty Software Installation and Maintenance Network Installation Management Perform NIM Administration Tasks Manage Machines Manage Network Install Resource Allocation Allocate Network Install Resources Select the machine from the list Select the AIX5300-03_lpp lpp_source and the 5300-03spot spot and the bosinst_data bosinst_data by hitting F7 for all three, then enter. After this step, you'll see lines in /etc/xtab /export/lpp_source/AIX5300-03_lpp -ro,root=egts-dnd2:,access=egts-dnd2: /export/spot/5300-03spot/usr -ro,root=egts-dnd2:,access=egts-dnd2: /export/lpp_source/bosinst.data -ro,root=egts-dnd2:,access=egts-dnd2: /export/nim/scripts/egts-dnd2.script -ro,root=egts-dnd2:,access=egts-dnd2: (Note this last one, the nim_script, is generated by NIM) - Do the BOS install nim -o bos_inst -a source=spot -a installp_flags=-agX -a boot_client=no -a accept_licenses=yes egts-dnd2 Or the long way is smitty Software Installation and Maintenance Network Installation Management Perform NIM Administration Tasks Manage Machines Perform Operations on Machines Select the machine from the list Select bos_inst Change "Source for BOS Runtime Files" from rte to spot "Initiate Boot Operation on Client?" from yes to no and "ACCEPT new license agreements?" from no to yes After this step, this line is added to /etc/bootptab egts-dnd2:bf=/tftpboot/egts-dnd2:ip=10.237.130.46:ht=ethernet: \ a=10.237.130.45:sm=255.255.255.0: It goes away once the install finishes. To do a network boot, first we must configure the network adapter on the SMS screens, then reboot. - Get a real console window, either with your laptop & a serial cable, or via digi if available. - To reboot the system, go to the HCM (ILO) web page by pointing a browser at the machine's ILO address, eg, https://10.237.131.37 Login with admin/admin Expand "Power/Restart Control" Click "System Reboot" Click the "Continue" button. !!! Be ready to hit the 1 key at the right time. If you miss these !!! 2 seconds of opportunity, you'll have to reboot. It'll take !!! about 14 seconds to get the "Operation completed successfully" !!! message on the web browser, and another 3:30 to get that 2 !!! second window on the console. If you want, you can watch the progress via the LEDs by expanding "System Information" and clicking on "Real-time Progress Indicator" Some LEDs along the way are C1009290 C10090A0 C10091A0 C10097B8 C103A100 C103A200 C1382000 C7003900 C7003910 C13920FF C7004041 C7004046 C7004082 C7004091 C20080A0 CA000030 CA000070 CA00e139 then a few msgs come on the screen, then in a few more seconds, you'll get those familiar lines IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM ... IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM IBM 1 = SMS Menu 5 = Default Boot List 8 = Open Firmware Prompt 6 = Stored Boot List Memory Keyboard Network SCSI Speaker where you need to type in 1 At the "Please enter the Service Processor 'admin' account password." prompt, enter the same password as above, admin. Select "2. Setup Remote IPL (Initial Program Load)" from the SMS main menu You'll probably want the first ethernet adapter, so enter 1 Select "1. IP Parameters" and fill out the Client IP Address (eg, 10.237.130.46 for dnd2) and the Server IP Address (10.237.130.45) You don't have to fill in the "Gateway IP Address" nor change the network mask. It's a good idea to back up a couple of screens and do a ping test. To boot just this once from the network, back up to the SMS Main Menu and select "5. Select Boot Options" then "1. Select Install/Boot Device" then "6. Network" again, you probably want the first adapter, so enter 1 then "2. Normal Mode Boot" then 1 (Yes, you're sure you want to exit System Management Services") Once you've seen the bootp packets get sent and a response gotten back, you can disconnect from the console and the install will continue to the end. Look for the lines BOOTP R = 1 BOOTP S = 2 FILE: /tftpboot/egts-dnd2 ------------------------------------------------------------------- To install AIX filesets on multiple Eagan machines at a time, logon to egts-dnd1 as root We'll take advantage of the fact that Liz has NIM groups set up. dwebservers: egts-dweb1 through egts-dweb8 dncwebservers: egts-dncweb1, egts-dncweb2 patdbservers: egts-patdb1, egts-patdb2, egts-db2stage, egts-dncdb1, egts-dncdb2 To install xclock for example, nim -o allocate -a lpp_source=X11_filesets_lpp dwebservers nim -o cust -a filesets=X11.apps.rte dwebservers or better yet, nim -o cust -a filesets="X11.apps.rte,X11.base.rte,X11.adt.lib" dwebservers (I had to update each machine's /etc/netsvc.conf, adding hosts = local, bind, nis to enable the NIM master to initiate the cust operation) Or to install Java on all the web servers, nim -o allocate -a lpp_source=Java14_lpp dwebservers nim -o cust -a filesets="Java14.ext.commapi Java14.ext.javahelp \ Java14.license Java14.sdk" -a accept_licenses=yes dwebservers Or for Net.Data, Rebecca had copied the installp images to /dfs, so to make the NIM lpp_source resource, as root on egts-dnd1, cp -pr /dfs/software/Net.Data.7.2 /export/lpp_source Use smit to define the NetData lpp_source nim -o allocate -a lpp_source=NetData dwebservers nim -o cust -a filesets=Net.Data dwebservers There was also an IBM fix that one had to update, but I had to cp -p /dfs/software/ND72fix/dtwcgishr.o /usr/HTTPServer/db2www/lib by hand on each node. ------------------------------------------------------------------- To reset various settings for a NIM-defined machine, use nim -o change -a ='' machine-name For example, to change, use this ======================== ================================== platform -a platform=rspc network_kernel -a network_kernel=mp MAC address (if1) -a if1='spnet_en0 as0301e0 0 ent' cpuid (uname -m) -a cpuid=0033856F4C00 E.G. nim -o change -a if1='spnet_en0 as0301e0 0 ent' as0301e0 Before the above command, lsnim -l as0301e0 returned if1 = spnet_en0 as0301e0 0004AC3E7696 ent Afterwards, it was if1 = spnet_en0 as0301e0 0 ent Note also, when you set things up for a NIM install, NIM puts a line in /etc/bootptab looking like this if a MAC address is specified, as0301e0.patent.ibm.com:bf=/tftpboot/as0301e0.patent.ibm.com :ip=192.168.55.33 :ht=ethernet :ha=0004AC3E7696 :sa=192.168.55.65 :sm=255.255.255.0: But when you reset the MAC address to zero, it just leaves out the :ha clause. -------------------------------------------------------------------------- It appears that you can create a NIM mksysb resource object definition and create the mksysb, all in 1 step. I did this on 12-8-1998 from almnim.almaden.ibm.com, creating the mksysb resource jasper-backup. From the /smit.log file on almnim, it seems the command to do this is nim -o define -t mksysb -a server=master -a location=/export/mksysb/jasper.rspc -a source=jasper -a mk_image=yes -a mksysb_flags=me jasper-backup The "mk_image" attribute tells nim to do the mksysb of the client specified by the "source" attribute. The "m" mksysb flag says to create a MAP file. The "e" mksysb flag says to use the /etc/exclude.rootvg file to exclude certain files and directories should be excluded from the mksysb. I created an /etc/exclude.rootvg on jasper containing /var/vice/cache and /var/dce/adm/dfs/cache, so I wouldn't include the AFS & DFS cache directories in the backup. The mksysb took 45 minutes to finish (on same subnet). During the mksysb, jasper had /export/mksysb NFS exported from almnim in write mode (obviously). Another interesting point are the messages saying +---------------------------------------------------------------------+ System Backup Image Space Information (Sizes are displayed in 1024-byte blocks.) +---------------------------------------------------------------------+ Required = 1289628 (1290 MB) Available = 2080396 (2080 MB) Data compression will be used by the system backup utilities which create the system backup image. This may reduce the required space by up to 50 percent. and the /export/mksysb/jasper.rspc file on almnim wound up being 723 MB. -------------------------------------------------------------------------- You can set up for a network boot and specify the I.P. address parameters necessary at the same time from an AIX prompt with this command (learned from the Support Center one day). bootlist -m service ent0 \ (as expected, but then you can add) gateway=192.168.56.65 \ bserver=192.168.56.65 \ client=192.168.56.81 -------------------------------------------------------------------------- To install additional software on a machine, you can either do it from the server via (Patent Server example) nim -o allocate -a lpp_source=lppsource_default ar0146e1 nim -o cust -a filesets=X11.motif.mwm ar0146e1 or from the client via (old nim server example) nimclient -o allocate -a lpp_source=lpp-414 nimclient -o cust -a filesets=printers.ibm4029.rte In Limerick (EDC), I did this on dncweb2 when iptrace wasn't installed, nimclient -o allocate -a lpp_source=433_lpp nimclient -o cust -a filesets=bos.net.tcp.server -------------------------------------------------------------------------- To deallocate a boot resource (from the NIM FORUM), /usr/lpp/bos.sysmgt/nim/methods/m_dealloc_boot -------------------------------------------------------------------------- Jim Hafner 220 *was* bootp-enabled, but then asked what kind of built-in ethernet card he had, thick, thin, or twisted pair. The answer is thick. It then asked him about the "heartbeat". Either on or off seemed to work. It didn't matter. -------------------------------------------------------------------------- Objects have classes, e.g. machine, networks, and resources. Classes have types. To see already-defined objects, use lsnim <-l> The -l flag give more detail. or lsnim -c class_name <-l> or lsnim -t type_name <-l> Class | Common Types | Uncommon Types ----------+---------------+------------------------ machine | master | diskless | standalone | dataless ----------+---------------+------------------------ networks | ent | fddi | tok | ----------+---------------+------------------------ resources | lpp_source | boot dump | spot | bosinst.data home | mksysb | image_data paging | script | installp_bundle root | | nim_script tmp | | shared_home There are operations you can do on each type. Use the lsnim -PO command to see. | Machine Types | Networks | Resource Types Operation | master standalone other | Types | lpp_source SPOT other ------------+-------------------------+----------+-------------------------- change | X X X | X | X X X define | X X | X | X X X lslpp | X X | | X X remove | X X | X | X X X ------------+-------------------------+----------+-------------------------- allocate | X X X | | deallocate | X X X | | bos_inst | X | | check | X X | | X X ------------+-------------------------+----------+-------------------------- cust | X X | | X diag | X X | | dkls_init | X | | dtls_init | X | | ------------+-------------------------+----------+-------------------------- maint | X X | | X reset | X X X | | unconfig | X | | sync_roots | | | X Then there are attributes you can specify for each operation. To see the different attributes required and optional for each command, type lsnim -q nim_command object_name or lsnim -q nim_command -t object_type For a machine type, there's | | define | | remove | allocate/ | bos_inst | check (3) attributes | change | (sao) | lslpp | (sao) | deallocate | (sao) | (sao) ----------------+--------+--------+-------+--------+------------+----------+---------- if (1) | X | | | | | | ring_speed (1) | X | X | | | | | cable_type (1) | X | X | | | | | comments | X | X | | | | | master_port | (mo) | X | | | | | control | (sao) | | | | | | cpuid | (sao) | X | | | | | info | (sao) | | | | | | iplrom_emu | (sao) | X | | | | | platform | | X | | | | | verbose | | X | X | X | | X | lslpp_flags | | | X | | | | spot | | | | | (2) | X | lpp_source | | | | | (2) | X | bosinst_data | | | | | (2) | X | image_data | | | | | (2) | X | installp_bundle | | | | | (2) | X | mksysb | | | | | (2) | X | script | | | | | (2) | X | source | | | | | | X | no_nim_client | | | | | | X | installp_flags | | | | | | X | filesets | | | | | | X | preserve | | | | | | X | debug | | | | | | X | (1) = The if, ring_speed, and cable_type attributes are specified with a trailing numeric (e.g. nim -o change -a if2='...' cable_type2=..) to differentiate between multiple network adapters on the machine. (2) = The lsnim -q allocate command refuses to return anything. From the scattered examples I could find, you can essentially specify any resource type. For example, nim -o allocate -a lpp_source=lpp -a spot=spot1 \ -a script=setupnet -a mksysb=vanilla1 maple (3) = The lsnim -q check command refuses to return anything, but from the examples I could find, check doesn't take any -a flags. (mo) = master machine type only (sao) = standalone machine type only | | diag | | reset | unconfig | cust | (sao) | maint | (4) | (mo) ----------------+------+-------+-------+-------+---------- lpp_source | X | | | | installp_bundle | X | | X | | script | X | | | | installp_flags | X | | X | | filesets | X | | X | | spot | | X | | | verbose | | X | | | (4) = The lsnim -q reset command refuses to return anything, but from the examples I could find, reset doesn't take any -a flags. For a resource type, there's | | | | | | cust | maint | sync_roots attributes | change | define | lslpp | remove | check | (so) | (so) | (so) --------------------+--------+--------+-------+--------+-------+------+-------+------------ comments | X | X | | | | | | verbose | X | X | (so) | X | X | | | server | | X | | | | | | location | | X | | | | | | source | | X | | | | | | packages | | (lppo) | | | (lppo)| | | installp_flags | | (so) | | | (so) | X | X | auto_expand | | (so) | | | (so) | X | | debug | | (so) | | | (so) | X | | X lslpp_flags | | | (so) | | | | | lpp_source | | | | | | X | | filesets | | | | | | X | X | installp_bundle | | | | | | X | X | num_parallel_synchs | | | | | | X | X | X (lppo) = lpp_source resource type only (so) = spot resource type only For a network type, there's | | | attributes | change | define | remove --------------------+--------+--------+-------- net_addr | X | X | snm | X | X | routing (1) | X | X | other_net_type | X | X | comments | X | X | verbose | X | X | X (1) = The routing attribute is specified with a trailing numeric (e.g. routing1) to differentiate gateway machines, or ways out of this subnet. -------------------------------------------------------------------------------- Useful nim commands are <> = A NIM object class, (machines, resources, or networks). <> = A NIM object type, diskless, dataless, standalone, master, lpp_source, spot, mksysb, script (or any of the other 11 resource types), ent, tok, or fddi. <> = A specific NIM object, e.g. subnet10 or nemesis. Examples: --------- To define a machine on an ethernet network, nim -o define -t standalone -a platform=rs6k \ -a if1='subnet10 maple.almaden.ibm.com 02608c2ec32c' \ -a cable_type1=dix maple To define a machine on a token ring network, nim -o define -t standalone -a platform=rs6k \ -a if1='subnet63 cabernet.almaden.ibm.com 0' \ -a ring_speed1=16 cabernet cabernet nim -o allocate -a lpp_source=lpp1 -a spot=spot1 -a mksysb=vanilla1 \ -a script=setupnet maple nim -o bos_inst -a source=spot|mksysb maple nim -o reset -F maple General: -------- lsnim -Pc <> Returns the types for the given class, e.g. tok, ent, fddi for the network class. Specific: --------- lsnim Shows all defined objects, their class & type. lsnim -l Same as above, but also shows the attributes. ---------------------------------------------------------------- In a 4-10-95 note describing using a bosinst.data file to get an unprompted install on maple, Tom said; Here's what I did to re-install maple without any prompting: Create /export/nim/data on nemesis Copy maple:/var/adm/ras/bosinst.data to nemesis:/export/nim/data/maple-bosinst.data chmod 644 maple-bosinst.data Modify maple-bosinst.data to say "PROMPT = no" and "CONSOLE = /dev/tty0" nim -o define -t bosinst_data -a server=master \ -a location=/export/nim/data/maple-bosinst.data \ -a comments="bosinst.data file for maple noprompt install" \ maple-bosinst_data nim -o allocate -a bosinst_data=maple-bosinst_data maple nim -o allocate -a lpp_source=lpp-413 -a script=Do-net -a script=Do-afs -a spot=spot1 maple nim -o bos_inst -a source=spot -a force_push=yes maple ------------------------------------------------------------------- When installing AIX from a NIM server, the client sends out a bootp packet from its (the client's) port 68 (bootps), to port 67 (bootpc) on the NIM server. The NIM server replies with a small packet, telling the client the name of the file to tftp. The client then does a plain tftp from it's port 29671 (at least it did in the case I observed), to NIM's port 69 (tftp), for the specified file, e.g. /tftpboot/ar0076e0.patents.ibm.com.