Setting up JET to NOT use NFS


There may be circumstances where you'd prefer to not have the JET server act as the NFS server for the build. For instance you might have a NAS server which provides all the NFS storage, or you may be running the JET server in a Zone (which doesn't  support NFS on Solaris 10).

NFS shared locations

As part of a standard Jumpstart, there are a number of areas that are NFS mounted/shared:

  1. /opt/SUNWjet: This contains the rules.ok file, as well as the profile and sysidcfg of the Clients. JET also uses this area for client specific config files.
  2. Solaris Boot Media: The client net-boots Solaris and then runs the installer.
  3. Solaris Install Media: The installer uses this to install the media.
  4. Jet Product Media: Normally /export/install/pkgs
  5. Jet Patch Media: Normally /export/install/patches

/opt/SUNWjet

The JET server requires rw access to this directory, and also requires it to be on /opt/SUNWjet on the JET server. /opt/SUNWjet can be located on a remote NFS server, and needs to be mounted rw with root access on the JET server. This allows the JET server to use and update the files. To specify the remote server for the client builds, the JS_CFG_SVR variable needs to be updated in the /opt/SUNWjet/etc/jumpstart.conf file. This can either be IP of the NFS server if the share path is also /opt/SUNWjet, or the full path of the share.

# You can specify an alternative location for where the client can
# NFS mount the /opt/SUNWjet directory. Simply provide the IP address
# of the server or the IP address and path on the remote server
# in the JS_CFG_SVR variable. However, this MUST be mounted
# on the JET server in /opt/SUNWjet as well, and be rw by root.
# e.g. JS_CFG_SVR="nas_server1" or
#      JS_CFG_SVR="nas_server1:/unixshare/SUNWjet"
#

Solaris Media

The JET server ALWAYS needs to have the boot server media installed (mainly so that it can run add_install_client), but JET can be configured to allow the client to net-boot and install from either the JET server or a remote NFS server.

You can tell JET about remote media using the add_solaris_location command:

# /opt/SUNWjet/bin/add_solaris_location <tag> <remote_server>:<path to image>

When the command is run in this fashion, JET will automatically create a boot server image on the JET server. You can use the jumpstart.conf variable JS_CLIENT_BOOT to define whether the client will initially boot off the JET server or the remote NFS server.

The client base_config template also contains 2 variables which allow you to override the media location and boot settings:

# JET allows the Solaris media to be held locally or on an external
# NFS server. This is normally specified in the solaris_media_locations
# file with the 3rd field either as a path or a <server>:<path> variable.
# base_config_media allows you to override this 3rd field to point
# at an alternative NFS server for the media. You can either override the
# server alone, by specifying just the server name or IP (the JET server
# must be able to resolve the name), or both the name AND path.
# When using remote media, you can choose to net boot from the NFS server
# or from the JET server. This is set globally in the jumpstart.conf using
# the JS_CLIENT_BOOT variable. You can override it here for THIS client by
# setting base_config_client_boot to "remote" or "local". Leaving it blank
# uses the global setting.
# e.g. base_config_media="nas_server1"
#	base_config_media="nas_server1:/Solaris_10_1008x
#	base_config_client_boot="remote"
# It is preferable that you keep your paths consistent between NFS servers
# so that you DON'T need to supply the path everytime you change the OS version.
# i.e. You should set things up so that you only ever override the server name.
# N.B. The JET server MUST at a minimum still have the boot server for that
# media held locally.
base_config_media=""
base_config_client_boot=""

Jet Product and Patch Media

The JET jumpstart.conf file holds the default location for product and patch media. This can be set to an alternative location by specifying an nfs URI:

# These paths should be URI form e.g. nfs://<serverip>/<path> or <path>
# Currently only PKG_DIR and PATCH_DIR can be on a remote NFS server.
# If they are just <path>, the appropriate address of the JumpStart server
# will be added.
JS_PKG_DIR=nfs://nfsserver/export/install/pkgs
JS_PATCH_DIR=nfs://nfsserver/export/install/patches

As usual, these global defaults can be overridden using the base_config_productdir and pase_config_patchdir in the client template.

Summary

By making all the above changes, it is possible to move ALL NFS requirements from the JET server to some other NFS server. For maximum flexibility each one can be changed independently from the other.