In the last year, my portfolio expanded to include all Unix server/storage operations. So after a long time, I’m now back doing some Solaris administration. Things have changed so much, and I had to learn many new things.
The first challenge I had was to install and evaluate Solaris 11 on a Sun Thumper box (Sun Fire X4500 series). It was “challenging” because the box does not have a DVDROM drive. So the only solution was to do a network installation. (Or install via USB, which for various reasons did not work either.)
I was planning to go the route of Automated Install. The Automated Install requires an AI (Automated Install) Server. The AI Server’s system requirements specified a Solaris 11 system. Erm. That’s what I’m trying to install. Sort of a chicken-and-egg problem.
You’ll also need an IPS (Image Packing System) repository. Don’t be fooled into thinking it’s just a FTP mirror. I thought it was, but it wasn’t so straight forward. Oracle expects it to be hosted on a Solaris 11 system. Fortunately, it can be the same system as the AI server.
Finally, you’ll als need a DHCP server. I already have a DHCP infrastructure, so I go with that, but otherwise you could also configure DHCP service on the same AI server.
Some Notes
To help me recall when I need to redo this again in future, and perhaps ease some pain for others trying to figure out the Solaris 11 AI install, here are some of my installation notes.
First, start off by installing Oracle Solaris 11. The text-install will do fine. All the downloads you’re going to need can be found at the Oracle Solaris 11 Downloads page.
Once it’s done, login and check that the install/installadm package is installed.
# pkg list install/installadm
There should be an ‘i’ flag at the end of the line. If not, run:
# pkg install install/installadm
It’s convenient to have the install images in its own ZFS filesystem, so go ahead and create one.
# zfs create rpool/export/auto_install
Download the Automated Install ISO sol-11-1111-ai-x86.iso (same download page above) and put it somewhere. E.g., in ~sadm. Create the install service.
# installadm create-service -n s11-i386 -s ~sadm/sol-11-1111-ai-x86.iso -y
Create a ZFS filesystem for the IPS repository storage.
# zfs create rpool/export/repoSolaris11
Download the IPS repo (above download page). It comes in two parts. Join them together, mount the ISO, and copy the contents out.
# mount -F hsfs /export/repoSolaris11/sol-11-1111-repo-full.iso /mnt
# cd /mnt/repo; tar cf – . | (cd /export/repoSolaris11; tar xfp -)
# umount /mnt
Refresh the repository.
# pkgrepo -s /export/repoSolaris11 refresh
Configure the repository server.
# svccfg -s application/pkg/server setprop pkg/inst_root=/export/repoSolaris11
# svccfg -s application/pkg/server setprop pkg/readonly=true
# svcadm refresh application/pkg/server
# svcadm enable application/pkg/server
Set Publisher Origin on the clients.
# pkg set-publisher -G ‘*’ -M ‘*’ -g http://localhost:port_number/ solaris
Update repo from time to time:
# pkgrecv -s http://pkg.oracle.com/solaris/release/ -d /export/repoSolaris11 ‘*’
That’s about it.
When you’re ready to install a new machine, make sure you have it configured to boot via DHCP. Then, make sure your DHCP server is configured to pass this machine the appropriate boot options. The DHCP host configuration for this client needs to include:
next-server 192.168.1.1; filename "default-i386/boot/grub/pxegrub";
Where 192.168.1.1 above is the IP address of your AI server.
Next, just boot up the new machine. AI will do its work.
On the new machine, a default user account is created with username and password set to jack/jack. Root’s default password is solaris.
Oracle wants to change how systems are configured in Solaris 11. I’m so used to configuring things by editing system files. Nowadays, you’re expected to use various admin tools to do that.
For example, here’s how to change your hostname:
# svccfg <<EOM select /system/identity:node setprop config/nodename="newhost" setprop config/loopback="newhost" EOM
Then, this is how to add a default route (-p to make the change persistent).
# route -p add default 192.168.1.1
I’ve got to relearn many configuration tasks.