Jet Installation Recipe

From JetResources
Revision as of 04:11, 11 January 2008 by Jetmark (Talk | contribs)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Parent

This JET installation recipe steps through the exact commands needed to install JET onto a Solaris machine. In this example our jumpstart host is a X4200 running Solaris 10 8/07. It also acts as the DNS server for this particular environment.

Most of the JET install is vanilla, you have to do these steps to make it work. The parts that introduce new steps are of course adding the DNS configs and also where we insert machine customization scripts. As well we use a jumpstart_config.pl script to do the hard work of tweaking the JET environment. It's written in Perl and hopefully self explanatory. It needs to be run a few times during the whole procedure, once to set up the JET server with all the mods it requires, and from then on it gets run when configuring a host as it edits the hosts templates etc. The hosts in these examples also include a few zones each and I've added a no_zone_sysidcfg script which will tweak the zones so that they boot up fully instead of requiring a zlogin -C <zone> command to be run so that all the sysidcfg questions can be answered. (I was surprised JET didn't do these tweaks).

I've altered two JET scripts slightly. The jumpstart_config.pl script does the mods automatically to the /opt/SUNWjet/Products/zones/postinstall and the /opt/SUNWjet/Utils/S99jumpstart JET scripts. The mods are trivial, adding a hook for the zone sysidcfg fixer and putting a final init 6 on the end of the /opt/SUNWjet/Utils/S99jumpstart script so that the machine and zones get rebooted and come up clean.

Installation Recipe

Get the software from the JET website.
Current version of JET (as at 4th December 2007) is version 4.4.

Copy the software to /var/tmp on your jumpstart server.

Install the JET packages

Setup your PATH variable. Add /opt/SUNWjet/bin and /boot/grub/bin to it.

jumphost:/ root# env | grep ^PATH
PATH=/usr/local/bin:/bin:/usr/ccs/bin:/etc:/usr/etc:/usr/bin:/usr/local/X11/bin
    /usr/bin/X11:/usr/proc/bin:/usr/openwin/bin:/usr/local/sbin:/usr/local/etc:/opt/SUNWspro/bin
    /usr/sbin:/opt/RICHPse/bin:/usr/ucb:/usr/dt/bin:/usr/platform/sun4u/sbin
    /usr/lib/osa/bin:/opt/SUNWjet/bin:/boot/grub/bin:.

Check your umask. It should be 22.

jumphost:/ root# umask
22

Install and run the jumpstart configuration script to setup the jumpstart environment.

jumphost:/ root# chmod 755 /var/tmp/jumpstart_config.pl
jumphost:/ root# /var/tmp/jumpstart_config.pl

Transfer the Solaris media from the DVD into the jumpstart tree.

jumphost:/ root# copy_solaris_media -d /data/jumpstart/media/sol_10_807_x86 -n OS10_X86_807 /cdrom/sol_10_807_x86
Copying Solaris image....
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Copying /boot x86 netboot hierarchy...
Install Server setup complete

Added Solaris image OS10_X86_807 at the following location:
        Media:          /data/jumpstart/media/sol_10_807_x86

removing directory /data/jumpstart/media/2835

intel-jumphost:/ root# copy_solaris_media -d /data/jumpstart/media/sol_10_807_sparc -n OS10_SPARC_807 /cdrom/sol_10_807_sparc
sparc-jumphost:/ root# copy_solaris_media -d /data/jumpstart/media/sol_10_807_sparc -n OS10_SPARC_807 /cdrom/sol_10_807_sparc/s0
Copying Solaris image....
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Install Server setup complete

Added Solaris image OS10_SPARC_807 at the following location:
       Media:          /data/jumpstart/media/sol_10_807_sparc

removing directory /data/jumpstart/media/7328

Verify the media copy

jumphost:/ root# list_solaris_locations
Version         Location
-------         --------
OS10_X86_807    /data/jumpstart/media/sol_10_807_x86
OS10_SPARC_807  /data/jumpstart/media/sol_10_807_sparc

Add software for explo module. Note the jumpstart_config.pl script above will have altered the JET settings so that Sun Explorer 5.10 will work.

Copy Sun explorer software to /var/tmp/explo
drwxr-xr-x   4 root     root         512 Dec  6 18:17 SUNWexplo/
drwxr-xr-x   4 root     root         512 Dec  6 18:17 SUNWexplu/

jumphost:/ root# pkginfo -d /var/tmp/explo -l | egrep '(PKGINST|VERSION)'
   PKGINST:  SUNWexplo
   VERSION:  5.10,REV=2007.09.20.19.12
   PKGINST:  SUNWexplu
   VERSION:  5.10,REV=2007.09.20.19.12

jumphost:/ root# copy_product_media explo 5.10 /var/tmp/explo sparc
jumphost:/ root# copy_product_media explo 5.10 /var/tmp/explo i386
Transferring <SUNWexplo> package instance
Transferring <SUNWexplu> package instance 
Packges copied.

jumphost:/ root# list_product_versions
Product         Versions
-------         --------
explo           5.10 

Add software for custom module.

jumphost:/var/tmp/sol10-x86 root# pkgtrans sudo-1.6.8p9-sol10-intel-local . SMCsudo
Transferring <SMCsudo> package instance

jumphost:/var/tmp/sol10-x86 root# copy_custom_packages /var/tmp/sol10-x86 i386 SMCsudo
Transferring <SMCsudo> package instance
Packages copied

jumphost:/var/tmp/sol10-sparc root# pkgtrans sudo-1.6.8p12-sol10-sparc-local . SMCsudo
Transferring <SMCsudo> package instance

jumphost:/var/tmp/sol10-sparc root# copy_custom_packages /var/tmp/sol10-sparc sparc SMCsudo
Transferring <SMCsudo> package instance
Packages copied

Tune the base_config template. Be sure to quote the timezone field as shown.

jumphost:/etc/ssh root# vi /opt/SUNWjet/Products/base_config/solaris/base_config.conf
    base_config_client_allocation="dhcp grub"
    base_config_sysidcfg_root_password="PaSsWoRd"
    base_config_sysidcfg_timezone=\"GMT+10\"
    base_config_sysidcfg_system_locale=en_AU.ISO8859-1
    base_config_sysidcfg_timeserver=192.168.100.14
    base_config_x86_console="ttya"
    base_config_x86_disable_kdmconfig="yes"
    base_config_profile_cluster=SUNWCall
    base_config_profile_swap=4096
    base_config_profile_s4_mtpt="/data"
    base_config_profile_s4_size="free"
    base_config_profile_s5_mtpt="/var"
    base_config_profile_s5_size="40960"
    base_config_profile_del_packages="SUNWimagick SUNWpmowu  SUNWgnome-search-tool"
    base_config_profile_del_clusters="SUNWCpm SUNWCpmx SUNWCdial SUNWCdialx SUNWCaudd SUNWCstaroffice
        SUNWCpostgr SUNWCpostgr-dev SUNWCpostgr-82 SUNWCpostgr-82-dev SUNWCsppp SUNWCmoz SUNWCmozdeveloper
        SUNWCbrowser SUNWCbrowserdev SUNWCgna11y SUNWCgna11ydev SUNWCgnapps SUNWCgndev SUNWCgnex SUNWClx
        SUNWCxscreensaver SUNWCthai SUNWCGtk SUNWCzebra SUNWCevo SUNWCevodev SUNWCsip SUNWCmco SUNWCsmc SUNWCwbem"
    base_config_notrouter="yes"
    base_config_dns_domain="test.example.com"
    base_config_dns_nameservers="192.168.100.14"
    base_config_dns_searchpath="test.example.com example.com"
    base_config_enable_rootlogin="yes"
    base_config_nfsv4_domain="test.example.com"

Tell JET about the subnets it will control

/opt/SUNWjet/etc/server_interfaces
192.168.205.0 255.255.255.192 192.168.100.14
192.168.174.64  255.255.255.192 192.168.100.14
192.168.104.0 255.255.255.192 192.168.100.14

Define the subnets in the JET defaultrouters file

/opt/SUNWjet/etc/defaultrouters
192.168.174.64  255.255.255.192 192.168.174.65
192.168.104.0 255.255.255.192 192.168.104.1
192.168.205.0 255.255.255.192 192.168.205.1

Setup DHCP subsystem. Will be site specific for your subnets.

jumphost:/ root# mkdir /data/dhcp
jumphost:/ root# dhcpconfig -D -r SUNWfiles -p /data/dhcp
Created DHCP configuration file.
Created dhcptab.
Added "Locale" macro to dhcptab.
Added server macro to dhcptab - nsch1mang01.
DHCP server started.

jumphost:/ root# dhcpconfig -N 192.168.174.64  -m 255.255.255.192 -t 192.168.174.65
jumphost:/ root# dhcpconfig -N 192.168.104.0 -m 255.255.255.192 -t 192.168.104.1
jumphost:/ root# dhcpconfig -N 192.168.205.0 -m 255.255.255.192 -t 192.168.205.1
jumphost:/ root# dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d ':BootFile="nbp.SUNW.i86pc":BootSrvA=192.168.100.14:'

You need to set the DHCP config files to use the floating interface only. The default binding to the physical interfaces will break things. This might already have been done in the host set up recipe.

jumphost:/ root# svcadm disable dhcp-server
jumphost:/ root# echo "INTERFACES=nge0:1" >> /etc/inet/dhcpsvc.conf
jumphost:/ root# echo "ICMP_VERIFY=TRUE" >> /etc/inet/dhcpsvc.conf
jumphost:/ root# echo "BOOTP_COMPAT=automatic" >> /etc/inet/dhcpsvc.conf
jumphost:/ root# svcadm enable dhcp-server

Setup each host template and client config

hosta01 X4200
hostf01 T2000

When the hosts boot up they will issue a number of SUNWfmd messages as the various machine state changes are extracted from the hardware and logged. These can be ignored as they are historical and will cease once they have been worked through.