|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
|
| News | Books | Recommended Links | Jumpstart-related Blueprints | Sun Documentation | Selected man pages | Etc |
Solaris™ 9 Network Administrator Exam Cram™ 2 (Exam CX-310-044)
Chapter 12. Advanced Dynamic Host Configuration Protocol (DHCP)
Terms you'll need to understand:
add_install_client
Debug mode
DHCP server macro
DHCP server symbol
Hostname acquisition
JumpStart client
The DHCP server can be configured so that a JumpStart client can use DHCP, rather than the traditional JumpStart mechanism using RARP, when it boots up. Using the DHCP method is advantageous because DHCP packets pass through a router, eliminating the need for a client to have a JumpStart boot server present on the same subnet—a boot server on the same subnet as the client is currently required under standard JumpStart procedures because the RARP protocol used by clients does not pass through a router.
JumpStart with DHCP is currently supported only on Intel and Ultra workstations. The boot PROM version must be at least 3.25 on an Ultra workstation. If these requirements are not met, then the client cannot perform a DHCP boot. There is often an exam question that asks for the minimum version of boot PROM.
During a custom JumpStart installation, the JumpStart program attempts to match the system that is being installed to the rules in the rules.ok file. The JumpStart program reads the rules from the first rule through the last. A match occurs when the system that is being installed matches all the system attributes that are defined in the rule. As soon as a system matches a rule, the JumpStart program stops reading the rules.ok file and begins to install the system, based on the matched rule's profile.
Table 29-1 Task Map: Setting Up a System for a Custom JumpStart Installation
| Task | Description | For Instructions |
|---|---|---|
| Check if the system is supported | Check the hardware documentation for system support in the Solaris 9 environment. | Solaris 9 Sun Hardware Platform Guide |
| Check if the system has enough disk space for the Solaris 9 software | Verify that you have planned enough space to install the Solaris software on your system. | Chapter 5, System Requirements and Guidelines (Planning) |
| (Optional) Preconfigure system configuration information | You can use the sysidcfg file or the name service to preconfigure installation information for a system. If you preconfigure system information, the installation program does not prompt you to supply the information during the installation. | Chapter 7, Preconfiguring System Configuration Information (Tasks) |
| Prepare the system for custom JumpStart installation | Create and validate a rules file and profile files. | Chapter 26, Preparing Custom JumpStart Installations (Tasks) |
| (Optional) Prepare optional custom JumpStart features | If you are using begin scripts, finish scripts, or other optional features, prepare the scripts or files. | Chapter 27, Using Optional Custom JumpStart Features (Tasks) and Chapter 28, Creating Custom Rule and Probe Keywords (Tasks) |
| (Optional) Set up the system to install over the network | To install a system from a remote Solaris DVD or Solaris Software SPARC Platform Edition CD image, you need to set up the system to boot and install from an install server or a boot server. | Chapter 15, Preparing to Install From the Network With CD Media (Tasks) |
| (Optional) Prepare for a Solaris Flash archive installation | Before installing a Solaris Flash archive, you need to follow specific steps. | To Prepare to Install a Solaris Flash Archive With a Custom JumpStart Installation |
| Install or upgrade | Boot the system to initiate the installation or upgrade. | SPARC: To Perform an Installation or Upgrade With the Custom JumpStart Program |
You can install a full archive for an initial installation or a differential archive for an update. You can use the custom JumpStart installation method or use Solaris Live Upgrade to install an archive on an inactive boot environment.
For detailed instructions about creating custom JumpStart files, refer to Chapter 26, Preparing Custom JumpStart Installations (Tasks).
For examples of Solaris Flash archive profiles, see Profile Examples.
From the existing list of custom JumpStart keywords in Table 31-2, the only keywords valid when you install a Solaris Flash archive are the following:
Table 29-2 Solaris Flash Archive Keywords
| Keyword | Initial Installation | Differential Archive |
|---|---|---|
| (required)archive_location | X | X |
| fdisk (x86 only) | X | X |
| filesys
Note - You cannot set the filesys keyword to the value auto.
|
X | |
| forced_deployment | X | |
| (required) install_type | X | X |
| local_customization | X | X |
| no_content_check | X | |
| no_master_check | X | |
| root_device | X | X |
For details about the archive_location keyword, refer to archive_location Keyword.
The Solaris Flash archive extraction process does not support auto-layout of partitions.
For detailed instructions, refer to Adding Systems to Be Installed From the Network With a DVD Image or Adding Systems to Be Installed From the Network With a CD Image.
For detailed instructions, refer to SPARC: To Perform an Installation or Upgrade With the Custom JumpStart Program.
To determine the current dimensions of your tip window, use the stty(1) command.
ok boot cdrom:net - install [url:ask] [dhcp] [nowin] |
| cdrom | Specifies to boot from a CD or a DVD. For a system with an older EEPROM, replace cdrom with sd(0,6,2) to boot from the system's CD-ROM or DVD-ROM drive. |
|||||
| net | Specifies to boot from an install server on the network. | |||||
| url | Specifies the location of the custom JumpStart files. You can
specify a URL for files that are located in the following places:
If you placed a sysidcfg file in the compressed configuration file, you must specify the IP address of the server that contains the file, as in the following example:
If you saved the compressed configuration file on an HTTP server that is behind a firewall, you must use a proxy specifier during boot. You do not need to specify an IP address for the server that contains the file. You must specify an IP address for the proxy server, as in the following example:
|
|||||
| ask | Specifies that the installation program prompt you to type the
location of the compressed configuration file after the system boots
and connects to the network. If you bypass the prompt by pressing Return, the installation program interactively configures the network parameters. The installation program then prompts you for the location of the compressed configuration file. If you bypass the prompt by pressing Return, the Solaris suninstall program begins. |
|||||
| dhcp | Specifies to use a DHCP server to obtain network installation
information that is needed to boot the system. If you do not specify to use a DHCP server, the system uses the /etc/bootparams file or the name service bootparams database. |
|||||
| nowin | Specifies not to begin the X program. You do not need to use the X program to perform a custom JumpStart installation, so you can reduce the installation time by using the nowin option. |
|
Solaris Forums - DHCP Jumpstart
DHCP Jumpstart
Author: INSJohn Posts: 12 Registered: 9/23/04Sep 23, 2004 11:05 PM Hello All,
I am attempting a DHCP jumpstart of a V240 server using Solaris 9 9/04.
It successfully loads the boot loader using TFTP from the jumpstart server then I see the following message:
Requesting Ethernet address for: 10.9.8.7
panic - boot: Could not mount filesystem.
Program terminated
{1} ok
The IP address 10.9.8.7 being the address of the gateway router.
I would be grateful for any ideas anyone may have.
[PDF]
Configuring JumpStart™ Servers to Provision Sun™ x86-64 Systems
File Format: PDF/Adobe Acrobat -
View as HTML
Sun Microsystems - BigAdmin JumpStart Enterprise Toolkit Free toolkit that simplifies setting of Jumpstart DHCP servers.
JumpStart and DHCP Servers (and building x86 based servers with PXE)
Jumpstart on SPARC machines traditionally made use of RARP, BOOTP etc to get the required information for building over the network. This method does not work on x86 based machines, and required that there be a boot server on every subnet.
PXE is the method used by x86 based machines to start a non-attended network boot and is essentially a mini-DHCP client which grabs the name of the bootserver and bootfile from a DHCP server, and proceeds to load/run the named bootfile. So if you want to install x86 (or x64) based machines non-interactively, you kind of need to set up a dhcp server.
DHCP also has the advantage of being able to traverse subnets through the use of DHCP forwarders, so the number of Jumpstart servers required can be reduced.
However, its often a little more difficult to initially set up, configure and manage . To accomodate the x86 based servers, and the ability to jumpstart over multiple subnets, we have added DHCP support to the core toolkit in a way that tries to hide all the additional complexity.
Possible DHCP configurations.
# Local DHCP server hosted on the Jumpstart server.
- Remote DHCP server.
- Multiple remote DHCP servers.
If no-one minds you running a DHCP server on your JET server, then the first option is the easiest to configure and set up. Additionally if you configure the routers as DHCP forwarders, you can also jumpstart on any subnet that can "see" this DHCP server. Unfortunately this scenario is possibly simplistic as its likely that there's a real DHCP server lurking somewhere. (Although the number of DHCP servers running within Datacentres is actually quite low, and you can hope that if there IS a DHCP server, its only serving the desktop based networks.)
This is where option 2 becomes useful. If there already is an enterprise wide DHCP server, and its running Sun's DHCP, then you're in luck! All you need to do is set up an ssh relationship between your server and it, and JET will do the rest for you.
Finally, there may in fact be multiple DHCP servers, possibly one per subnet. JET allows you to specify which subnets are served by which dhcp server.
N.B. When JET configures your DHCP server, it ONLY replies to clients that have been specifically configured. i.e. it won't just let ANYBODY plug into the network and given them an IP address.
Simple Local DHCP server.
Firstly, you need to set up your DHCP server. A script called "make_dhcp" is provided in /opt/jet/Products/base_config. You only really need to run the first "dhcpconfig" command in the file, as if you've populated either the client's sysidcfg_default_route or the /opt/jet/etc/defaultrouters file, JET will create the network macro for you when you run make_client.
However, you're on your own configuring the DHCP forwarding if you're going to be DHCP serving a bunch of non-directly connected subnets
. If there are subnets that the JET server is NOT directly connected to, you will need to list them in the /opt/jet/etc/server_interfaces file with the JET server IP address as the preferred server.
Once you've done this, you need to specify the machine types you are going to install. Edit the variable JS_DHCP_VENDOR in /opt/jet/etc/jumpstart.conf to add them. For x86 its i86pc, for SPARC machines, its the output of "uname -i", with the comma changed to a period. You can list multiple servers by space separating the values. (Don't forget to surround the whole thing by double quotes.)
In your client template, simply specify "dhcp" as your client_allocation_method. For x64/x8 boxes just PXE boot, for SPARC boxes you need to type boot net:dhcp - install.
Remote DHCP server.
If your DHCP server is remote, you've got a little more work to do. Edit the /opt/jet/etc/dhcp.conf file and provide a name for the remote dhcp server. You then need to set up ssh between the JET server and the DHCP server so that you can ssh in without supplying a password.
Once you've done this, just follow the steps above from the editting jumpstart.conf bit onwards.
(Note, you need to make sure that the default route that the DHCP server passes to the client will allow the client to be able to route to the JET server. This is set in the Network Macro on the DHCP server.)
Multiple Remote DHCP servers.
Support for multiple remote DHCP servers is a simple extension to the above. Edit the /opt/jet/etc/dhcp_servers file and list the subnets and the servers that will be DHCPing them. You'll need to then set up each DHCP server with ssh relationships with the JET server as above.
If the subnet is not listed in the dhcp_servers file, JET will revert to the configuration defined in the dhcp.conf file.
NON-Sun, NON-ssh DHCP servers.
Jet provides a mechanism which allows you to plug in helper scripts to support other types of DHCP server. The /opt/jet/Utils/dhcp directory contains 3 files: checkdhcp, configdhcp and deconfigdhcp. Each of these files calles a script of asimilar name based on the settings in the dhcp.conf file. i.e. If the DHCP_FORMAT was set to SUN (the default), it would call checkdhcp_SUN. If it was remote and the method was "ssh", it would call checkdhcp_SUN_ssh.
To add support for other dhcp types and remote communication mechanisms, you simply need to specify the new format/type in dhcp.conf, and then create the scripts of the correct name in the dhcp directory. (configdhcp_xx_yy does all the real work. It reads the settings required for the client in a file called dhcp.config in the Client directory and communicates with the DHCP server to set them up for you)
Copyright © 1996-2008 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: June 05, 2008