HOWTO: Install a NIM server PDF Print E-mail
User Rating: / 29
PoorBest 
Written by Michael Felt   

  Add/Modify resources to support handsfree installation of clients with ssh support

Remember, I only installed the ssh_server bundle after I had made the mksysb resource.  The generaic mksysb lacks ssh support - on purpose. I want each installation to generate it's own unique host ID.

What you may not be aware of is that the default lpp_resource created by nim does not include the software we need to install ssh_server support on AIX clients. To add this support to our installation we need to

  • add software to the lpp_resource
  • add a software_bundle resource that NIM can install during the installation
  • add bosinst_data resource for hands free installation

If you dont do it this way you run the risk of having the same hostid credentials in the /etc/ssh directory on all your systems.

On the nim server I have the following filesets installed to support ssh:

# lslpp -L | grep open
  openssh.base.client     5.4.0.6100    C     F    Open Secure Shell Commands
  openssh.base.server     5.4.0.6100    C     F    Open Secure Shell Server
  openssh.man.en_US       5.4.0.6100    C     F    Open Secure Shell
  openssh.msg.en_US       5.4.0.6100    C     F    Open Secure Shell Messages -
  openssl.base            0.9.8.1300    C     F    Open Secure Socket Layer
  openssl.license         0.9.8.1300    C     F    Open Secure Socket License
  openssl.man.en_US       0.9.8.1300    C     F    Open Secure Socket Layer

In the lpp_source only the following filesets are installed

# nim -o showres lpp_6106 | grep open
  openssl.base                0.9.8.1300                 I  N usr,root
  openssl.license             0.9.8.1300                 I  N usr     
  openssl.man.en_US           0.9.8.1300                 I  N usr     

To help update the the lpp_resource with the software we need we will first create the installp_bundle resource and use that to tell nim what software to add to the lpp_resource. In short, use nim resources whnever you can to help prevent ommissions.

Because all our resources are to be in a seperate volume group copy the standard bundle to /export/nim and then define the copy as the resource

# cp /usr/sys/inst.data/sys_bundles/openssh_server.bnd /export/nim
# nim -o define -t installp_bundle -a server=master -a location=/export/nim/openssh_server.bnd openssh_server
And now you can use the bundle to update the lpp_source with the software needed by the bundle

# nim -o update -a source=/dev/cd0 -a installp_bundle=openssh_server lpp_${OSLEVEL}
/export/6106/lpp/installp/ppc/openssh.man.en_US.5.4.0.6100.I
/export/6106/lpp/installp/ppc/openssh.base.5.4.0.6100.I

bosinst_data resource for hands free installation

The last resource we need is a bos_install resource - for hands-free installation. Again we copy a file from the master system to the NIM volume group and define it. This time though, we also modify the resource. Read carefully!

# cp /bosinst.data /export/nim/bosinst_hdisk0_install

When we made our initial mksysb one side effect was that the file /bosinst.data was made with default settings. For an automatic installation there are a number of lines we need to change:

The lines to change are from:

    PROMPT = yes
    RECOVER_DEVICES = Default
    ACCEPT_LICENSES =
    ACCEPT_SWMA =
    IMPORT_USER_VGS =

to:

    PROMPT = no
    RECOVER_DEVICES = no
    ACCEPT_LICENSES = yes
    ACCEPT_SWMA = yes
    IMPORT_USER_VGS = no

And simplify the target_disk_data: stanza from:
target_disk_data:
        PVID = 00f67207e26dbb8d
  PHYSICAL_LOCATION = U8233.E8B.107207P-V41-C21-T1-L8100000000000000
        CONNECTION = vscsi0//810000000000
        LOCATION =
        SIZE_MB = 70006
        HDISKNAME = hdisk0

to:

target_disk_data:
        HDISKNAME = hdisk0

Remember it is the file /export/nim/bosinst_hdisk0_install that needs to be edited.

Then make the last nim resource using:

# nim -o define -t bosinst_data -a server=master -a location="/export/nim/bosinst_hdisk0_install" bosinst_hd0

The completed nim resources are:

# lsnim
master                  machines        master
boot                    resources       boot
nim_script              resources       nim_script
n392                    networks        ent
mksb_6106_generic       resources       mksysb
spot_6106               resources       spot
lpp_6106                resources       lpp_source
openssh_server          resources       installp_bundle
bosinst_hd0             resources       bosinst_data



 
< Prev   Next >
Login
59 queries executed
1
SET sql_mode = 'MYSQL40'
2 SELECT folder, element, published, params FROM jos_mambots WHERE published >= 1 AND access <= 0 AND folder = 'system' ORDER BY ordering
3 SELECT template FROM jos_templates_menu WHERE client_id = 0 AND ( menuid = 0 OR menuid = 309 ) ORDER BY menuid DESC LIMIT 1
4 DELETE FROM jos_session WHERE ( ( time < '1548314613' ) AND guest = 0 AND gid > 0 ) OR ( ( time < '1548314613' ) AND guest = 1 AND userid = 0 )
5 SELECT COUNT(*) FROM jos_stats_agents WHERE agent = 'Unknown' AND type = 0
6 UPDATE jos_stats_agents SET hits = ( hits + 1 ) WHERE agent = 'Unknown' AND type = 0
7 SELECT COUNT(*) FROM jos_stats_agents WHERE agent = 'Unknown' AND type = 1
8 UPDATE jos_stats_agents SET hits = ( hits + 1 ) WHERE agent = 'Unknown' AND type = 1
9 SELECT COUNT(*) FROM jos_stats_agents WHERE agent = 'com' AND type = 2
10 UPDATE jos_stats_agents SET hits = ( hits + 1 ) WHERE agent = 'com' AND type = 2
11 SELECT * FROM jos_menu WHERE id = 309
12 SELECT a.*, u.name AS author, u.usertype, cc.name AS category, s.name AS section, g.name AS groups, s.published AS sec_pub, cc.published AS cat_pub, s.access AS sec_access, cc.access AS cat_access, s.id AS sec_id, cc.id as cat_id FROM jos_content AS a LEFT JOIN jos_categories AS cc ON cc.id = a.catid LEFT JOIN jos_sections AS s ON s.id = cc.section AND s.scope = 'content' LEFT JOIN jos_users AS u ON u.id = a.created_by LEFT JOIN jos_groups AS g ON a.access = g.id WHERE a.id = 431 AND ( a.state = 1 OR a.state = -1 ) AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-01-24 08:38' ) AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-01-24 08:38' ) AND a.access <= 0
13 SELECT a.id FROM jos_content AS a WHERE a.catid = 19 AND a.state = 1 AND a.access <= 0 AND ( a.state = 1 OR a.state = -1 ) AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-01-24 08:38' ) AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-01-24 08:38' ) ORDER BY a.created DESC
14 SELECT ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count FROM jos_content AS a LEFT JOIN jos_content_rating AS v ON a.id = v.content_id WHERE a.id = 431
15 SELECT folder, element, published, params FROM jos_mambots WHERE access <= 0 AND folder = 'content' ORDER BY ordering
16 SELECT value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' AND name = 'urlkey'
17 SELECT value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' AND name = 'snapshotactiv'
18 SELECT value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' AND name = 'snapshotother'
19 SELECT id FROM jos_mambots WHERE element = 'mosbookmarks' AND folder = 'content'
20 SELECT * FROM jos_mambots WHERE id = '32'
21 SELECT name, value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' ORDER BY name
22 SELECT c.id, c.parent FROM jos_bookmarks_categories as c WHERE c.id = -1
23 SELECT * FROM jos_bookmarks_columns WHERE category='' AND custom='0'
24 SELECT * FROM jos_bookmarks_columns WHERE category='' ORDER BY ordering
25 SELECT * FROM jos_bookmarks_columns WHERE category='admin'
26 SELECT * FROM jos_bookmarks_columns WHERE category='admin' ORDER BY ordering
27 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
28 SELECT * FROM jos_mambots WHERE id = '27'
29 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
30 SELECT * FROM jos_mambots WHERE id = '27'
31 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
32 SELECT * FROM jos_mambots WHERE id = '27'
33 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
34 SELECT * FROM jos_mambots WHERE id = '27'
35 SELECT params FROM jos_mambots WHERE element = 'mosemailcloak' AND folder = 'content'
36 SELECT params FROM jos_mambots WHERE element = 'mospaging' AND folder = 'content'
37 SELECT a.* FROM jos_components AS a WHERE ( a.admin_menu_link = 'option=com_syndicate' OR a.admin_menu_link = 'option=com_syndicate&hidemainmenu=1' ) AND a.option = 'com_syndicate'
38 SELECT m.id FROM jos_modules AS m WHERE m.module = 'mod_rssfeed' AND m.published = 1
39 SELECT id, title, module, position, content, showtitle, params FROM jos_modules AS m INNER JOIN jos_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 0 AND m.client_id != 1 AND ( mm.menuid = 0 OR mm.menuid = 309 ) ORDER BY ordering
40 SELECT id FROM jos_menu WHERE link = 'index.php?option=com_search' AND published = 1
41 SELECT m.*, sum(case when p.published=1 then 1 else 0 end) as cnt FROM jos_menu AS m LEFT JOIN jos_menu AS p ON p.parent = m.id WHERE m.menutype='rt_splitSuckerFish' AND m.published='1' AND m.access <= '0' GROUP BY m.id ORDER BY m.parent, m.ordering
42 SELECT m.* FROM jos_menu AS m WHERE menutype='rt_splitSuckerFish' AND m.published='1'
43 SELECT * FROM jos_banner WHERE showBanner=1
44 SELECT id FROM jos_mambots WHERE element = 'mosbookmarks' AND folder = 'content'
45 SELECT * FROM jos_mambots WHERE id = '32'
46 SELECT name, value FROM jos_bookmarks_prefs WHERE userid = '-1' AND category = 'params' ORDER BY name
47 SELECT c.id, c.parent FROM jos_bookmarks_categories as c WHERE c.id = -1
48 SELECT * FROM jos_bookmarks_columns WHERE category='' AND custom='0'
49 SELECT * FROM jos_bookmarks_columns WHERE category='' ORDER BY ordering
50 SELECT * FROM jos_bookmarks_columns WHERE category='admin'
51 SELECT * FROM jos_bookmarks_columns WHERE category='admin' ORDER BY ordering
52 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
53 SELECT * FROM jos_mambots WHERE id = '27'
54 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
55 SELECT * FROM jos_mambots WHERE id = '27'
56 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
57 SELECT * FROM jos_mambots WHERE id = '27'
58 SELECT id FROM jos_mambots WHERE element = 'plugin_jw_allvideos' AND folder = 'content'
59 SELECT * FROM jos_mambots WHERE id = '27'