Skip to main content

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
parted /dev/sdb rm 2
parted /dev/sdb rm 3
parted /dev/sdb rm 4
#clear any LVM PV markers or signatures
lvm pvremove -ff /dev/sda1
lvm pvremove -ff /dev/sda2
lvm pvremove -ff /dev/sda3
lvm pvremove -ff /dev/sda4
lvm pvremove -ff /dev/sdb1
lvm pvremove -ff /dev/sdb2
lvm pvremove -ff /dev/sdb3
lvm pvremove -ff /dev/sdb4

You can only have 4 primary partitions, so that's all you need.

Note: you could also do a 64KB zeroing of all involved boot devices (and even data LUNs). Just dd i=/dev/zero o=/dev/sdX with 64 KB of zeros. However, you may write over important data without knowing it. So we believe that in that case an error should happen so we can investigate what is going. Perhaps the SAN people have moved a LUN to us by accident, or we mistyped a LUN id somewhere and are using someone else's disk...

Comments

daz said…
This is much shorter

------------------------------
clearpart --all --drives=sda,sdb
-------------------------------
Dreams said…
Hmm, thanks for the tip! That may shorten the scripts a lot! :)

However, I believe there were issues with signatures being left on partitions and while the installer didn't mind too much (and it would work for a basic Linux install), Oracle ASM did see the stuff left around and decided the disks were not clean and refused to use them. So we forcefully remove everything explicitely...

But I'm giving it a try anyway! :) thanks again!

Popular posts from this blog

Tuning the nscd name cache daemon

I've been playing a bit with the nscd now and want to share some tips related to tuning the nscd.conf file. To see how the DNS cache is doing, use nscd -g. nscd configuration: 0 server debug level 26m 57s server runtime 5 current number of threads 32 maximum number of threads 0 number of times clients had to wait yes paranoia mode enabled 3600 restart internal passwd cache: no cache is enabled [other zero output removed] group cache: no cache is enabled [other zero output removed] hosts cache: yes cache is enabled yes cache is persistent yes cache is shared 211 suggested size <==== 216064 total data pool size 1144 used data pool size 3600 seconds time to live for positive entries <==== 20 seconds time to live for negative entries

Preventing PuTTY timeouts

Just found a great tip to prevent timeouts of PuTTY sessions. I'm fine with timeouts by the host, but in our case the firewall kills sessions after 30 minutes of inactivity... When using PuTTY to ssh to your Linux/Unix servers, be sure to use the feature to send NULL packets to prevent a timeout. I've set it to once every 900 seconds, i.e. 15 minutes... See screenshot on the right.

Setting up SR-IOV in RHEL6 on PowerEdge servers

Dell Community : "RHEL 6 provides SR-IOV functionality on supported hardware which provides near native performance for virtualized guests. Single-Root I/O Virtualization (SR-IOV) specification, introduced by PCI-SIG details how a single PCIe device can be shared between various virtualization guests. Devices capable of SR-IOV functionality support multiple virtual functions on top of the physical function. Virtual Function is enabled in hardware as a light weight PCIe function. Operating System cannot discover this function as it does not respond to the PCI bus scan and requires support in the host’s driver. As in PCIe pass-through, a Virtual function of a SR-IOV capable card can be directly assigned to the guest operating system. A virtual function driver running in the guest manages this device."