Skip to main content

Posts

Showing posts with the label kickstart

RHEL 5.4 Kickstart Options

Now that Red Hat 5 update 5 is out, we're gonna look at 5u4. Release Notes said kickstart was changed and enhanced from previous versions. Here is documentation of the kickstart options and parameters that you can now use in RHEL (and OEL) 5.4.

Subversion 1.6 released

We currently use SVN to enable us to do release management of deployments. The SVN server holds all our kickstart, post installation and configuration scripts, as well as distribution scripts for software packages (Oracle database, application server, OEM, the OEM agent and more). The actual packages are not in SVN but on an NFS server. CollabNet released a new version of Subversion (SVN) a few days ago. And I'm excited! Subversion 1.6 introduces several new features, including improved authentication (Apache + LDAP) and file system storage as well as better handling of tree conflicts. Check the release notes for full details. The new version also introduces a new public way to reference the history of the repository. You can now read older versions of files through the web interface without the need for a SVN client. This enables 3rd party tools do innovative things through an easy to use interface into SVN.

Multipathd device enumeration

Testing my new kickstart file to install Linux on my old Poweredge 2950 dell servers is fine, but multipath presents me with a new problem. We boot from SAN, even though the servers have local disks available. Eventually we will move towards Blades, so the experience is useful. But each server has a different number of LUNs available to it. The boot LUN is always LUN id 0. Without multipathd , this gave me /dev/sdb as the boot device. With multipathd , this gives me /dev/mapper/mpathX , where X is the number of LUNs I have. You may see the problem: The kickstart file must list the boot drive order and designate a place to put the MBR. However, I can't think of a way to tell kickstart to use the last mpath device... I wish there'd be a way to make /dev/mapper/mpath0 the boot LUN... Update: Well, it seems to be a limitation of multipath support in anaconda. I've booted the OEL 5.3 DVD ISO on 3 different bare metals and each server has a different number of LUNs associated w...

Multipath Kickstart Options in RHEL 5.3

With Red Hat and Oracle Linux supporting multipathed installation from 5 update 2 on, I thought they should have changed the Kickstart Options as well, so that anaconda can be given the right parameters. And I was right. ignoredisks has been added to let the installer ignore SAN disks as well as for cluster setups. multipath has been added to handle dual HBAs cases where the same disk will be seen over two different paths. Update: except ignoredisks , there is really not much you need to do but boot the Linux kernel with the option ' mpath '. The multipath option lets you set/configure the multipath.conf configuration, I believe. Not used yet. In my case, I use this line to boot Linux and start a kickstart installation: linux mpath text nousbstorage ksdevice=eth0 ks=http://server/mpathks.cfg That's it. The first activates multipath-aware option in anaconda. The second uses text mode. The third parameter skips any USB devices in my PowerEdge 2950 (virtual floppy, d...

Subversion or CVS, Bazaar or Mercurial?

I've recently had to think about a good technical solution to our Source Code Management (SCM) problems. We're using a central RCS directory tree to handle everything. It started out with just a few scripts and kickstart files we needed to put under revision control , but soon it ballooned (or course)... While I do have some experience with CVS, I heard about Subversion (SVN) and other SCM tools and stumbled upon this comparison of Subversion or CVS, Bazaar or Mercurial . Great read! It doesn't offer a easy solution though, and experience is still the best guide. The difference between open and closed distributed revision control is also a tough decision to make, without solid team experience with either.

Creating a custom boot and splash image

While researching ways to create a custom boot image , so I can provision new systems automatically with a CD or a mounted ISO image, I also learned how to create a custom splash.lss image . Most web pages out there instruct you to install ancient, obscure giftoppm tools - which you may not have or know how to get. I found out Irfanview (for Windows) easily lets you open and edit JPG or GIF images, rework them, add logos and text and save the result as a PPM file. Then just scp the .ppm file to Linux and use the ppmtolss16 tool (obtained through 'yum install syslinux') to convert the PPM file to LSS. Build the custom ISO image and you're done!

Linux installation kickstart for Oracle database

A semi-random Google browse landed me on the Official Oracle Wiki, where I found a Linux installation kickstart for Oracle database . It's a sample kickstart file for a local disk installation using the minimum packages needed by Oracle software (i.e. the database, application server, etc.). The script also sets runlevels for daemon and deinstalls all that is not needed, as well as kernel parameters. It's interesting to see their list because I highly optimizes the packages list compared to what we have. But the list of parameters, default daemons to run and in which runlevel is very close to what we arrived at by experimenting lots. :)

Oracle Linux has issues with LVM in anaconda

We've been having a variety of problems with our LVM system partitioning and anaconda. Mind you, once it is configured and installed, the system runs fine. But during rollout, LVM has been a head breaker... Main issue is: dirty disks. Since we are booting from SAN, we have no control over the LUNs we get. Although we specify zerombr and clearpart --all in anaconda, LVM complains if there is anything on the disk. Especially if there are non-Linux partitions left on the disks. Altiris does it's boot "magic" using a DOS partition to create a known environment from which it launches stuff. This gave the anaconda installer headaches. Our work-around: don't do partitioning from anaconda, but use the pre-install phase (%pre). We force a clear of the local disk (sda) and our boot LUN (sdb) and clear partitions explicitly as well as remove any traces of LVM signatures. We remove all Logical Volumes (LV), Volume Groups (VG) and Physical Volumes (PV). While this is a lo...

USB devices mess up Linux device enumeration

Our Dell PowerEdges were also giving us a headache with their built-in USB devices and virtual devices. While they are useful for maintenance and patching, they mess up the Linux kernel's device enumeration because they come first in that list, no matter where you put your local disk or HBA card in your boot order. The Dell Virtual Flash and Virtual Floppy always become /dev/sda, /dev/sdb , respectivally. The local PERC disk then becomes /dev/sdc and our boot LUN on the SAN ends up at /dev/sdd . Turning the Dell devices on or off on BIOS then shuffles your devices around and suddenly your boot LUN will be sdb or sdc . No real danger, but /etc/fstab will no longer be valid and booting the system either gives you the maintenance shell or X1 will fail and you get a text login prompt (i.e. runlevel 3). Two solutions... One, you can use device labelling or udev naming to have the kernel trace the partitions it needs. However, a quick solutions is - during production - to turn off USB ...

Optimizing kickstart files

We've been optimizing our kickstart script for unattended Oracle Linux provisioning and found out some interesting tidbits... When rolling out Linux to new Dell PowerEdge 2950 boxes that boot from (DMX-3) SAN, the anaconda installer has issues with pre-existing LVM volume groups and physical volume signatures. The zerombr option alone is not enough. Appearantly, some traces remain on that disk/LUN and anaconda fails with a cryptic error message. The solution is to use the kickstart pre-install section to clear your partitions! However, a simple parted won't do. Here is what we ended up putting in kickstart to effectively clear out /dev/sda and /dev/sdb , resp. our local disks (PERC) and out boot LUN (qlogic qle2460), from all partitions and LVM housekeeping stuff: %pre #forcefully remove all primary partitions from sda parted /dev/sda rm 1 parted /dev/sda rm 2 parted /dev/sda rm 3 parted /dev/sda rm 4 #forcefully remove all primary partitions from sdb parted /dev/sdb rm 1 pa...

Unattended Linux network install

Finally got the scripted network install working as expected. Here is how... Dell BIOS is at 1.3.7 Qlogic BIOS is at 1.24, BIOS enabled, boot LUN assigned. I disabled the 2nd HBA so the server only has one path to the SAN. Mount the Oracle Linux CD1 through Dell's DRAC interface and (re)boot the machine. Typ " linux ks=http://10.1.1.1/oel/ks.cfg ksdevice=eth0 " to start the installation and load your script. Your kickstart script should be located in the root of your installation sources, i.e. where you stored the contents of all the CDs. The last parameters is needed in case your server has multiple NICs, like ours, and avoid being asked which network card you want to use for installation. Since DHCP is enabled on that subnet, that's all that is needed. Now there is one more tricky part... upon loading the kickstart script, before the installation can start, you MUST disconnect the CD image that is still mounted in DRAC. If not, you get an endless loop and installati...

Kickstart Options

When using kickstart and a network install to do unattended installations of Oracle Linux, you mahttp://www.blogger.com/img/gl.link.gify need to reference the Kickstart Options . In my case, when trying to provision Linux servers that boot from SAN, the kickstart file that is automatically created for you after a manual install ( /root/anaconda-ks.cfg ), did not contain all the options I had given it. Specifically, your boot device must come first in the drive order. Here, sda is the local disk from the Dell PERC controller, sdb is the first LUN on the SAN. The bootloader option must therefore get the right parameter --driveorder=sdb,sda .

Starting a Kickstart Installation

If you do an installation of a Linux server over the network (called a "network install"), you'll save yourself a lot of time: you don't need to change CDs. You can also automate installation with a so-called "scripted install" using a kickstart file. This will get you an "unattended installation". A sample file anaconda-ks.cfg is saved in /root at the end of every manual install. You can use that as a starting point to create your own. When doing a network installation of Linux, you can tell Linux to use the kickstart file using a range of options . Please check the Red Hat docs for your favorite options. How do you do a network installation when booting from a CD (or PXE server)? Simple! Insert CD 1, or mount that image through DRAC or iLO, at boot the machine. At the first command line of the boot CD type: linux ks=http://server/path/kickstart_file.cfg url=http://server/path For instance, linux ks=ftp://myserver/default-ks.cfg url=ftp://myserv...

An Oracle Linux Network Installation

The docs on Red Hat Network Installations can also be applied to Oracle Enterprise Linux (OEL)... Easily. Just make sure that you may have to edit the file TRANS.TBL in Enterprise/RPMS . You can also use Altiris to setup a Linux ftp deployment server. Just boot the OEL cd with the prompt: linux askmethod Then, the OEL CD image will ask you if you'd like to use the CD-ROM or opt for an NFS, ftp or http install source. Before you hit the OK key, make sure that the local CD image disk 1 is unmounted . If you don't, the network install will fail and you'll see the file product.img appearing in your logs. Try again, this unmount the boot CD image from which you started and then hit OK to start the network install. This fixed all my problems (after several hours).

Automated Installations of Oracle Enterprise Linux

Although this site explains and shows Automated Installations of Red Hat Enterprise Linux , it can be easily adapted for Oracle Enterprise Linux (OEL). Or at least it should. Alternatively, you can automate Linux installations using Oracle's Enterprise Manager. That will be the new way to go anyway, I believe. Until then, the instructions on the site about post-installation scripts for Oracle, modifying kickstart files and performing network installations with sources on a web server are particularly handy. The Oracle site lists additional info on adding Oracle scripts to the post-installation section of the kickstart script.

Automating Installation of Oracle Database 10g and Red Hat Enterprise Linux

I have been searching here and there for some sample kickstart files to get started on creating an Automated Installation of Oracle Database 10g and Red Hat Enterprise Linux , but all I can find are things I already know. I know Oracle Enterprise Linux (OEL) creates a sample kickstart of the configuration you've just completed in the root account of the server you['ve just installed. I know I can add pre and post-install scripts in that kickstart file. I know Red Hat has documentation on kickstart and there are some clever things I can do there. I know there is an oracle-validated RPM out now which will test my server for required packages and fetch them if needed. I know the Oracle installation guides lists which packages I need and which tweaks I must make after installation of Linux... What I am looking for is a kickstart that: - installs the minimum required packages for succesful installation and operation of Oracle (10g) - tweaks the kernel and system accordingly after in...