Table of Contents

Putting tce on an existing RAID or LVM

Starting with V 4.1 you can have your tce directory on a RAID or an LVM. To accomplish this, we need to be able to load RAID or LVM drivers before tc-config scans for the tce directory.

The bootcode pretce=dev/dir will allow us to preload a set of extensions. This bootcode does not have a default directory name. If you omit the /dir portion, tc/mc will look for onboot.lst and optional/ in the partition's root directory.

The following steps assume that the boot partition is /dev/sda1, the directory to use is /pre and that the logical volume we will be using is dm-0. This has also been tested with md126 RAID 1 device. It is based on my CentOS 5 installation that boots off /dev/sda1 and has 2 logical volumes ( root and swap ).

Initial Setup

We need to know the boot partition and directory where we are going to store the LVM extensions. Here we are going to be booting out of /dev/sda1 and loading the lvm2 extensions out of /mnt/sda1/pre:

Create mdadm-boot.tcz

Starting with dCore and Core 5.1 mdadm-boot.sce is no longer needed. Instead, you can put the line mdadm -A –scan ; sleep 2 into an executable shell script named onpre.sh in the pretce directory. The shell script onpre.sh is run after all the pretce packages are loaded.

We need an extension that activates the RAID volumes. The following script will create it.

#!/bin/sh
WORK=work-mdadm-boot
DIR=$WORK/usr/local/tce.installed
PKG=mdadm-boot
FILE=$PKG.tcz
cd /tmp
rm -rf $WORK $FILE
mkdir -p $DIR
echo -e "#!/bin/sh\n/usr/local/sbin/mdadm -A --scan ; sleep 1" > $DIR/$PKG
chmod -R 775 $WORK
chown -R root:staff $WORK
mksquashfs $WORK/ $FILE

Create lvm2-boot.tcz

Starting with dCore and core 5.1 lvm2-boot.sce is no longer needed. Instead, you can put the line vgchange -ay ; sleep 2 into an executable shell script named onpre.sh in the pretce directory. The shell script onpre.sh is run after all the pretce packages are loaded.

We need an extension that activates the lvm2 volumes. The following script will create it.

#!/bin/sh
WORK=work-lvm2-boot
DIR=$WORK/usr/local/tce.installed
PKG=lvm2-boot
FILE=$PKG.tcz
cd /tmp
rm -rf $WORK $FILE
mkdir -p $DIR
echo -e "#!/bin/sh\nsleep 1\n/usr/local/sbin/vgchange -ay\nsleep 1" > $DIR/$PKG
chmod -R 775 $WORK
chown -R root:staff $WORK
mksquashfs $WORK/ $FILE

Boot Entry

I am not going to instruct you here on how to add a boot entry to your boot loader config file. You need to be able to boot tc/mc from your hard drive before you can add additional boot options. The format of this entry will depend on the bootloader you are currently using.

For RAID, add the boot options pretce=sda1/pre tce=md126.

For LVM, add the boot options pretce=sda1/pre tce=dm-0.

Reboot and verify that /opt/.tce_dir contains /mnt/md126/tce, or /mnt/dm-0/tce , or whatever is correct for your machine.