[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Identifying SCSI or IDE drives in %pre



Daniel Segall wrote:
I deploy kickstarts to a number of different configurations. The servers have IDE, SAS, or SCSI drives. My partitioning is always the same, but if it's an IDE server, I do a software raid1. The SCSI & SAS servers have hardware raid1. Currently I manage multiple configs to make this happen. I'd like to start using list-harddrives in %pre, and generate the partition tables from that. It's really simple, if sd = yes, then  partition normally. hd = yes then partition with raid config.

I know this has been covered before, and I have searched and found some examples, but not exactly what I'm looking for. I am not a programmer, so if someone could help me with the logic here, that would be sweet.
Put this in the main part of you kickstart config:
%include /tmp/part-include

My partitioning logic ignores removable drives like usb devices. Add more devices to the "for" line if you have a large number of drives.

Here is my pre section:
%pre

#----- partitioning logic below--------------
# pick the first drive that is not removable and is over MINSIZE
DIR="/sys/block"

# minimum size of hard drive needed specified in GIGABYTES
MINSIZE=6


ROOTDRIVE=""

# /sys/block/*/size is in 512 byte chunks

for DEV in sda sdb hda hdb; do
 if [ -d $DIR/$DEV ]; then
   REMOVABLE=`cat $DIR/$DEV/removable`
   if (( $REMOVABLE == 0 )); then
     echo $DEV
     SIZE=`cat $DIR/$DEV/size`
     GB=$(($SIZE/2**21))
     if [ $GB -gt $MINSIZE ]; then
       echo "$(($SIZE/2**21))"
       if [ -z $ROOTDRIVE ]; then
         ROOTDRIVE=$DEV
       fi
     fi
   fi
 fi
done

echo "ROOTDRIVE=$ROOTDRIVE"

cat << EOF >> /tmp/part-include
bootloader --location=mbr --driveorder=$ROOTDRIVE
clearpart --all --drives=$ROOTDRIVE --initlabel
part /boot --fstype ext3 --size=300 --ondisk=$ROOTDRIVE
part pv.4 --size=0 --grow --ondisk=$ROOTDRIVE
volgroup VolGroup00 --pesize=32768 pv.4
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1024 --grow --maxsize=2048 logvol / --fstype ext3 --name=root --vgname=VolGroup00 --size=4096 --grow --maxsize=20480
logvol /var/log --fstype ext3 --name=var-log --vgname=VolGroup00 --size=512
logvol /tmp --fstype ext3 --name=tmp --vgname=VolGroup00 --size=1024 --maxsize=4096 logvol /usr/vice/cache --fstype ext3 --name=usr-vice-cache --vgname=VolGroup00 --size=1024
logvol /home --fstype ext3 --name=home --vgname=VolGroup00 --size=512 --grow
EOF


Sincerely,
Jason Edgecombe


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]