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:
- Boot with the options: tce=sda1/pre.
- Run tce-load -iw mdadm.
- Run tce-load -iw lvm2.
- Run vgchange -ay.
- Identify the RAID volume or LVM name in /mnt that contains the filesystem you want to contain the tce directory. Mine is dm-0 or md126.
- Reboot.
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
- Run tce-load -iw squashfs-tools.
- Run mount /mnt/sda1.
- Save the above script to /tmp/mkmdadm-boot.
- Run cd /tmp.
- Run sh mkmdadm-boot.
- Mv mdadm-boot.tcz to /mnt/sda1/pre/optional/.
- Add the line mdadm-boot.tcz to the end of /mnt/sda1/pre/onboot.lst.
- If you do not want the pretce device to remain mounted, be sure to add the copy2fs.flg file to the pretce directory.
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
- Run tce-load -iw squashfs-tools.
- Run mount /mnt/sda1.
- Save the above script to /tmp/mklvm2-boot.
- Run cd /tmp.
- Run sh mklvm2-boot.
- Mv lvm2-boot.tcz to /mnt/sda1/pre/optional/.
- Add the line lvm2-boot.tcz to the end of /mnt/sda1/pre/onboot.lst.
- If you do not want the pretce device to remain mounted, be sure to add the copy2fs.flg file to the pretce directory.
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.