Difference between revisions of "Jet Installation Recipe"
| (10 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[Documents|Parent]] | [[Documents|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 <FONT FACE="Courier New">jumpstart_config.pl</FONT> 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 <FONT FACE="Courier New">no_zone_sysidcfg</FONT> script which will tweak the zones so that they boot up fully instead of requiring a <FONT FACE="Courier New">zlogin -C <zone></FONT> command to be run so that all the <FONT FACE="Courier New">sysidcfg</FONT> questions can be answered. (I was surprised JET didn't do these tweaks). | ||
| + | |||
| + | I've altered two JET scripts slightly. The <FONT FACE="Courier New">jumpstart_config.pl</FONT> script does the mods automatically to the <FONT FACE="Courier New">/opt/SUNWjet/Products/zones/postinstall</FONT> and the <FONT FACE="Courier New">/opt/SUNWjet/Utils/S99jumpstart</FONT> JET scripts. The mods are trivial, adding a hook for the zone <FONT FACE="Courier New">sysidcfg</FONT> fixer and putting a final <FONT FACE="Courier New">init 6</FONT> on the end of the <FONT FACE="Courier New">/opt/SUNWjet/Utils/S99jumpstart</FONT> script so that the machine and zones get rebooted and come up clean. | ||
| + | |||
| + | ==Installation Recipe== | ||
Get the software from the [http://www.sun.com/bigadmin/content/jet/ JET website].<BR> | Get the software from the [http://www.sun.com/bigadmin/content/jet/ JET website].<BR> | ||
| Line 20: | Line 28: | ||
jumphost:/ root# '''umask''' | jumphost:/ root# '''umask''' | ||
22 | 22 | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Install and run the [[Public_Jet_Config_Script|jumpstart configuration script]] to setup the jumpstart environment. | Install and run the [[Public_Jet_Config_Script|jumpstart configuration script]] to setup the jumpstart environment. | ||
| Line 145: | Line 145: | ||
192.168.205.0 255.255.255.192 192.168.100.14 | 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.174.64 255.255.255.192 192.168.100.14 | ||
| − | 192.168. | + | 192.168.104.0 255.255.255.192 192.168.100.14 |
Define the subnets in the JET <FONT FACE="Courier New">defaultrouters</FONT> file | Define the subnets in the JET <FONT FACE="Courier New">defaultrouters</FONT> file | ||
| Line 151: | Line 151: | ||
/opt/SUNWjet/etc/defaultrouters | /opt/SUNWjet/etc/defaultrouters | ||
192.168.174.64 255.255.255.192 192.168.174.65 | 192.168.174.64 255.255.255.192 192.168.174.65 | ||
| − | 192.168. | + | 192.168.104.0 255.255.255.192 192.168.104.1 |
192.168.205.0 255.255.255.192 192.168.205.1 | 192.168.205.0 255.255.255.192 192.168.205.1 | ||
Setup DHCP subsystem. Will be site specific for your subnets. | Setup DHCP subsystem. Will be site specific for your subnets. | ||
| + | jumphost:/ root# '''mkdir /data/dhcp''' | ||
jumphost:/ root# '''dhcpconfig -D -r SUNWfiles -p /data/dhcp''' | jumphost:/ root# '''dhcpconfig -D -r SUNWfiles -p /data/dhcp''' | ||
Created DHCP configuration file. | Created DHCP configuration file. | ||
| Line 164: | Line 165: | ||
jumphost:/ root# '''dhcpconfig -N 192.168.174.64 -m 255.255.255.192 -t 192.168.174.65''' | jumphost:/ root# '''dhcpconfig -N 192.168.174.64 -m 255.255.255.192 -t 192.168.174.65''' | ||
| − | jumphost:/ root# '''dhcpconfig -N 192.168. | + | 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# '''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 <nowiki>':BootFile="nbp.SUNW.i86pc":BootSrvA=192.168.100.14:'</nowiki>''' | jumphost:/ root# '''dhtadm -A -m PXEClient:Arch:00000:UNDI:002001 -d <nowiki>':BootFile="nbp.SUNW.i86pc":BootSrvA=192.168.100.14:'</nowiki>''' | ||
| Line 180: | Line 181: | ||
Setup each host template and client config | Setup each host template and client config | ||
| − | <DL><DD> | + | <DL><DD>[[JET_host_hosta01|hosta01 X4200]]</DD></DL> |
| − | <DL><DD> | + | <DL><DD>[[JET_host_hostf01|hostf01 T2000]]</DD></DL> |
| − | |||
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. | 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. | ||
Latest revision as of 03:11, 11 January 2008
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.
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
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.