It’s based on profiles, allowing a system to match installation profiles boot from the network, as well as use profiles and install media from the network.. Boot server: This system prov
Trang 1seen this ql`]pa*_kjb file before; we’re simply getting it into place without
using _b*lna_kjb this time The convenience of FAI’s b_klu command makes _b*lna_kjb
unnecessary here
Trang 2Finally, we had to override an error from the lkopbet installation involving a missing nkkp alias In the file +onr+b]e+_kjbec+dkkgo+o]rahkc*H=OP*okqn_a, we changed:
iuecjknal]ppanjo9TTTTT
to:
iuecjknal]ppanjo9+ap_+]he]oaoateopo(^qp`kaojkpd]ra]nkkp]he]o
This change allows the host to fully install without having to stop for this error
Installing Your First Debian Host
Now we’re ready to boot our host etchlamp
Trang 3The host has the cfengine- configured +ap_+ikp`, and the disk is partitioned according
to our custom settings In addition, the lo command shows that the Apache server is
Overall, FAI is a pleasure to work with The directory names and scripts are self-
explanatory, the class mechanism is intuitive and easy to work with, and the packages put
useful starting configuration files into place In addition, the b]e)`k_ package includes
sam-ple configurations for the `d_l` and pbpl`
from no automated installation system to a fully automated mass- installation system using
FAI can happen in a matter of hours
Trang 4Employing JumpStart for Solaris
JumpStart, or Custom JumpStart as it’s called by Sun, is an automatic installation system for the Solaris OS It’s based on profiles, allowing a system to match installation profiles
boot from the network, as well as use profiles and install media from the network
In getting started, we again have a chicken-and- egg problem: we need a host to
1 Boot server: This system provides network clients with the information they need
to boot and install the operating system
2 Profile server: This system hosts what the JumpStart documentation calls the
nqhao file for networked installation clients The nqhao file contains information on the profile to be used, as well as pre-
a local floppy or optical media, if that’s a better option at your site
3 Install server: This system contains the Solaris disk images used to install the
Solaris operating system One install server can support many different hardware
Follow these steps to set up a new JumpStart installation host on our network:
1
2 Set up the installation server role
a Copy the Solaris installation media to the local disk
b Share the installation media via NFS
3 Set up the profile server
a Copy the sample profiles from the Solaris installation media to a new profile directory
b
c Customize the profile information for your first installation client
Trang 54 Add an installation client.
5 Boot the installation client and watch as unattended installation commences
-5.*-24*-*.04 ,46,,6.,64b63,6a] have placed aurora
Setting Up the Install Server
The first thing we’ll set up is the install server, which will host the Solaris installation files
Trang 6If you encounter problems, see the Sun docs here: dppl6++`k_o*oqj*_ki+]ll+`k_o+
`k_+4-3)11,0+2igr0jd/e;]9reew The documentation is thorough, so you should be able to work out any problems
Setting Up the Profile Server
The directory containing the nqhao file, the nqhao*kg file, and the profiles is called the JumpStart directory, and the server that hosts the JumpStart directory is called the profile server First create the directories we’ll use:
Trang 7Creating the Profile
The lnkbeha file is a text file that describes the software to be installed on a system A
pro-file describes aspects of the configuration such as the software group to install and the
disk partition (slice) layout The format is easy to understand, and because we’re taking
advantage of the sample configuration files included with the Solaris installation media,
we can simply modify an existing profile to suit our needs
The Sun online documentation is very good For the complete syntax and all possible options for JumpStart profiles, please refer to dppl6++`k_o*oqj*_ki+]ll+`k_ờk_+4-3)11,2+lnal]na_qopki)1/00.;]9reas
The Ejop]hh[pula keyword is required in every profilẹ Besides ejepe]h[ejop]hh, other
possible values for that keyword include qlcn]`a and bh]od[ejop]hh for upgrades and
installations via a flash archive, respectively (a flash archive is a system image, not unlike
a tarball snapshot of a system) The Ouopai[pula keyword specifies that the system is to be
Trang 8hard-The output of lbejop]hh goes on for many, many screens, but eventually should end with this:
Successful completion of lbejop]hh means that our profile is ready
Creating the sysidcfg File
The ouoe`_bc file is a preconfiguration file you use to configure a wide variety of basic tem settings, including but not limited to:
Trang 9
The ouoe`_bc file isn’t technically part of the profile (because it’s not included in the
nqhao file); it’s used earlier than profile information in the JumpStart installation process
configu-ration files are kept, simply because it is convenient to do so (For this reason, we describe
it here in the section about setting up your profile server.)
Like the rest of our JumpStart files, ouoe`_bc
aurora in the +fqilop]np+lnkbehao+]qnkn] directory, with these contents:
SYSIDCFG AND IP ADDRESS ASSIGNMENT
Note that you cannot specify the IP address of a Solaris system in the ouoe`_bc file after the system
gets its IP address from Reverse Address Resolution Protocol (RARP) and the network- boot process
(as we’re configuring here) The installation will fail when the host tries to find a matching rule in the
nqhao*kg file—you’ll get an error that no matching rules were found
peiaoanran9hk_]hdkop so that the installation would assume that the
in an interactive Solaris installation The Custom JumpStart process uses the ouoe`_bc file
to answer these questions automatically
Trang 10For more information on the ouoè_bc file, see the ouoè_bc$0% man page or dppl6++
`k_o*oqj*_ki+]ll+`k_ờk_+4-3)11,0+2igr0jd.i;]9reew
Creating the postinstall Script
need to customize our system after the JumpStart installation is complete, but before the host boots for the first timẹ In many JumpStart scenarios, the system doesn’t boot all the way to the console login prompt, but pauses when partially done with the first boot and prompts the user for information about power management settings or the NFSv4 default domain setting Our script works around those two issues, and also sets up cfen-
Note The public key placed into the nkkp user’s authorized_keys file is shortened for the purposes of this book You can find the code samples for this chapter, including the unabbreviated version of this script, in the Downloads section of the Apress web site (dppl6++sss*]lnaoo*_ki)
Note that JumpStart mounts the future root filesystem at +]+ the rest of this script
The next section of code is used to detect the version of Solaris that the system is running:
KO[PULA9\qj]ia)no\
_]oa KO[PULAej
OqjKO1*-,%
Trang 11The following procedure simply won’t work from within a JumpStart installation
environment, so we make it happen when the real system comes up after JumpStart The
script continues, with the contents of the O55nqjkj_a script:
A software repository hosted at dppl6++sss*^h]ops]ra*knc contains prepackaged
freeware for Solaris systems It resembles the popular dppl6++sss*oqjbnaas]na*_ki site,
but we prefer Blastwave It is a community of capable developers and users adhering to
high- quality standards for the software they upload to the site In addition, you
accom-plish installation of packages from the repository through a command- line interface
]lp)cap tool The Blastwave tool is called lgc)c
host’s first boot, we use lgc)cap to install several useful freeware tools, the most
impor-tant of which is cfengine:
Trang 14The +ap_+n_.*`+O55nqjkj_a script runs only once, and upon completion it moves itself
to a file name that won’t be executed by Solaris upon subsequent boots:
Trang 15The rest of the entries are well commented, and shouldn’t need any ađitional
expla-nation This concludes our JumpStart lkopejop]hh script
Creating the rules File
The nqhao file is a text file that contains a rule for each system or group of systems on
to the system being installed A nqhao file entry can match a profile to a system based
on the system’s hostname or hardware attributes, or it can simply match all hosts to
a default profilẹ (For more information, see dppl6++`k_o*oqj*_ki+]ll+`k_ờk_+4-3)11,2+
created lkopejop]hh script (documented earlier)
Now we need to validate the nqhao file, which will create the nqhao*kg
actually used during installation:
Trang 16(If you encounter problems during validation, refer to the Sun documentation for troubleshooting help: dppl6++`k_o*oqj*_ki+]ll+`k_ờk_+4-3)11,2+
lnal]na_qopki) 1/1;]9reew.) After successful validation, you now have the nqhao*kg file
in the same directory as the nqhao file:
ls`
+fqilop]np+lnkbehaơ]qnkn]
ho
^]oe_[lnkbbejeod[ejop]hh*odnqhaonqhao*kgouoè_bc
Ađing an Installation Client
Installation clients get access to the profile- server files when you run the ]``[ejop]hh[_he)ajp command as nkkp, which will ađ entries to the +ap_+^kkpl]n]io filẹ The settings in the ^kkpl]n]io file are handed out when clients boot using pbpl manual steps beyond the ]``[ejop]hh[_heajp step
Our host aurora, whose IP ađress is -5.*-24*-*.04
=``ejcApdanjapjqi^anbkn]qnkn]*dkia*_]ilej*jappk+ap_+apdano
ql`]pejc+ap_+^kkpl]n]io
Now that our host aurora has all that it needs, we’ll boot it from the network Issue
this command at the kg prompt:
Trang 17our carefully configured postinstallation script, the system should boot back up
into Solaris without prompts at the console for information such as power management
settings or the NFSv4 default domain It’s entirely possible that your list of packages, if
it differs from the ones in the ^]oe_[lnkbeha profile used here, could generate inter active
prompts during the first boot If so, you’ll need to take steps in either the JumpStart
config-uration files or the postinstallation script to configure the host properly during installation
The host aurora booted up into multiuser mode (runlevel 3) without any problems,
Trang 18in the ]``[ejop]hh[_heajp command If those settings appear to be correct, check that
make sure this line is there:
Kickstart for Red Hat
a single configuration file, called a kickstart file, to answer all the questions that would
normally be asked during interactive installation
Trang 19Performing a PXE- Boot Kickstart Installation
1 Create the kickstart file
2 Create and share the installation tree via NFS
3 Place the kickstart file in the NFS share
4
5 Start the TFTP service
6 Configure one or more hosts for network boot
7
8
commence
Getting the Kickstart Host
Once again, we’re faced with the chicken-and- egg problem of where to get our
rhmaster and gave it the IP address -5.*-24*-*.1-
Creating the Kickstart File
The kickstart file is a text file containing a series of keywords Order is important in the
hosts, or to restore the host’s OS installation in the event that it fails (assuming the file
was saved in a safe place!)
Trang 20 application can open a preexisting kickstart file for ing, or start a new file from scratch To use the application, you’ll need to run a graphical
-play, but we won’t illustrate how to do that here
because the documentation claims that the application path is +qon+o^ej+ouopai)_kjbec)
ge_gop]rt, but on our system it is installed in +qon+^ej Try executing both paths inside
a terminal window
If you don’t have either, install the ouopai)_kjbec)ge_gop]np package and try again
Basic Configuration Screen
Trang 21Installation Method Screen
Server variant, and the Server directory we’ll set up is +ge_gop]np+ndah1[.+Oanran+ In the
rhmaster) host’s IP (-5.*-24*-*.1-), and in
for later installation (in our case it is +ge_gop]np+ndah1[.)
Boot Loader Options Screen
Next, select Boot Loader Options in the left- hand pane This panel will be disabled if you
mqeap parameter It filters kernel
mes-sages during boot to show only warning and higher- severity kernel mesmes-sages The ndc^
we’ll keep it
Trang 22Partition Information Screen
Trang 23Configure
that fills up the rest of the disk
Trang 24Once you’ve configured those two partitions, your Partition Information screen will look like this:
Network Configuration Screen
interfaces as appropriate
Trang 26Display Configuration Screen
another system if you need to, but otherwise you probably won’t need X on the host
Trang 27Package Selection Screen
Select the Package Selection entry in the left- hand pane The middle pane will already be
Trang 28Under
Trang 30
Preinstallation Script Screen
Select Pre- Installation Script in the left- hand pane and leave the screen’s text box blank:
Postinstallation Script Screen
Select Post- Installation Script in the left- hand pane and paste in this small script to copy over some cfengine binaries and to run _b*lna_kjb at boot:
Trang 32Kickstart File Contents
the full go*_bc file:
Trang 34Creating the Installation Tree and Making It Available
Trang 35Use the ouopai)_kjbec)jbo applet (found in the graphical desktop at ouopai
]`iejeopn]pekj oanre_ao) to share the +ge_gop]np+ndah1[ directory over NFS Allow
read- only access to the -5.*-24*-*,+.0 subnet:
Copy the previously created kickstart file to our new NFS share
systems, so our lkopejop]hh script simply needs to copy the cfengine binary directory to
the correct location on the local system, and run _b*lna_kjb upon boot The lkopejop]hh
script takes care of all of this
Trang 36Setting Up Network Boot
Now that we have our kickstart file ready, we need to set up network booting
Trivial File Transfer Protocol (TFTP)
need the pbpl)oanranandouohejqtpackages, which aren’t installed by default,
uqi to install the packages
Interestingly, our rhmaster system did already have the pbpl)oanran package installed
It had even placed the files required for boot into +pbpl^kkp:
Trang 37 +pbpl^kkp+hejqt)ejop]hh+ltahe)
jqt*_bc directory:
ig`en+pbpl^kkp+hejqt)ejop]hh+ltahejqt*_bc
The +pbpl^kkp+hejqt)ejop]hh+ltahejqt*_bc+ directory will need a file for each system
to be installed The file’s name is either the hostname or IP address of the system to be
booted/installed If no matching file is found (based on IP or hostname), the config file
named `ab]qhp is used This is standard ouohejqt
Next, enable pbpl and tejap`, the latter of which starts the pbpl daemon upon
con-nections from clients:
_dg_kjbec))harah/01tejap`kj
_dg_kjbec))harah/01pbplkj
If tejap` was already running, restart it:
+ap_+ejep*`+tejap`naop]np
Trang 40Installing a Host Using Kickstart
Set the BIOS on your installation client to boot from the network first, or press whatever
The Proper Foundation
Our site now has the two most critical pieces of core infrastructure:
1 Automated installation
2 Automated configuration