- Sidious Linux Manual (almost everything else on this page is OLD, applying to the CFHT-Modified RedHat 6.1 we used to use for our network clusters.)
- Local only: Netscan - automatic inventory and status of entire network
- Local only: Inventory of Managed Linux PCs (local only)
- Local only: Remote access tunnel configurations
- OLD RedHat 6.1: BIOS Settings for Dell Precision 210s / 410s, 420s / 610s, e-machines.
- OLD Redhat 6.1: Net-booting configuration
- Net-booting configuration with Etherboot Floppy
- Internal IDE disk installation
- Preparing local swap and RAID partitions
- Preparing the 400, 800 and 1760 gigabyte RAID servers
- OLD RedHat 6.1: Migrating older RAID arrays to the new software
- Recovery of a crashed/degraded software RAID-5
- OLD RedHat 6.1: Enabling X-Windows
- OLD RedHat 6.1: Setting up a Costco Tripplite omnismart UPS
- OLD RedHat 6.1: Notes on the server and standalone configurations
- OLD RedHat 6.1: Disk Performance and 2.2 Kernel Notes
Sidious Linux Note: The information below is now being maintained as part of the Sidious Linux Manual. There, you will also find BIOS settings for I-Opener embedded systems.
Time: and Date: (set clock to local Hawaii time) Diskette Drive A: 3.5 inch, 1.44 MB Diskette Drive B: Not Installed Drives: Primary Type Cyls Hds Pre LZ Sec Size Drive 0: Auto (only if present, otherwise machine boots slowly!) Drive 1: Auto (only if present, otherwise machine boots slowly!) Secondary Drive 0: Auto (only if present, otherwise machine boots slowly!) Drive 1: Auto (only if present, otherwise machine boots slowly!) Reserved Memory: None CPU Speed: XXX MHz Num Lock: On ACPI: Off Chassis Intrusion: Not Detected Thermal Power-off: Enabled Video DAC Snoop: Off Keyboard Errors: Do Not Report (otherwise won't boot w/o keyboard) System Password: Not Enabled Password Status: Unlocked Boot Sequence: Device List (press Ctrl + -> to edit list) Diskette Drive A: PXE (if it is there at all, put it here.) CD-ROM device Hard drive C: Setup Password: Not Enabled Auto Power On: Disabled 00:00 Power Management: Disabled Wakeup On LAN: Off Sound: On NIC: On (Don't select On/PXE off or netboot won't work!) Mouse: On Serial Port 1: Auto Serial Port 2: Auto Parallel Port: 378h Parallel Mode: PS/2 IDE Hard Disk: Auto Diskette: Auto Speaker: On (not on 210s)SCSI: Primary & Secondary (Slows booting, but won't hurt)
System Time ....................................... (Set to Hawaii Time) System Date ....................................... (Set to Hawaii Date) Diskette Drive A: ................................. 3.5 inch, 1.44 MB (except for the fundware machine, which is "Not Installed") Diskette Drive B: ................................. Not Installed Zip Floppy Support ................................ Disabled Primary Drive 0 ................................... Auto Primary Drive 1 ................................... Auto or OFF Secondary Drive 0 ................................. Auto or OFF Secondary Drive 1 ................................. Auto or OFF Boot Sequence ..................................... (Press enter ->) 1. Diskette drive (if present) 2. CD-ROM device 3. Hard drive C: System Memory ..................................... (Whatever it says) CPU Information ................................... (Press enter ->) CPU Speed .................... Normal Integrated Devices ................................ (Press enter ->) Sound ........................ On Network Interfae Controller... On SCSI Controllers.............. On Mouse Port.................... On USB Emulation................. Off Serial Port 1................. Auto Serial Port 2................. Auto Parallel Port................. (Press enter again! ->) Mode............... PS/2 I/O Address........ 378h IDE Interface................. Auto Diskette Interface............ Auto PC Speaker.................... On Primary Video Controller...... AGP Video DAC Snoop............... Off PCI IRQ Assignment (Yikes!) ....................... (Don't mess with this) System Security ................................... (Don't enable this) Keyboard NumLock .................................. On Report Keyboard Errors ............................ Do Not Report Auto Power On ..................................... Disabled Remote Wake Up .................................... Off AC Power Recovery ................................. Last
bash cd /apps/gnu/var/named less Readme.CFHT # Follow instructions there...
bash cd /var/yp/src co hosts vi hosts ci hosts co netgroup vi netgroup ci netgroup cd clients make hosts netgroup
Sidious Linux Note: Below this point is all old stuff. The new Sidious Linux clusters are described in the Sidious Linux Manual.
cd /nfsroot/clients cp -a template HOSTNAME
vi /etc/exports # Copy an existing host and change name (2 places) exportfs -a
if you want unattended booting to default to booting over the network. "dell410-disk" causes this machine to run whatever operating system is on its harddrive instead. Putting neither will probably cause the machine to eventually boot the disk after it times out. Don't do this.filename "dell410-net"
For floppy booting (see below) you must use an alternate image:
This configuration will work for all machines, while "dell410-net" requires bpbatch and only works for the 410s. So I'm considering making etherboot the standard way to net-boot, but it requires the boot floppy. If a floppy or the floppy drive goes bad, the machine will fail to reboot.filename "etherboot-2.2.16nfs3"
vi /etc/dhcpd.conf.HOSTNAME # Copy existing entry. Change name, ether, and IP. /etc/rc.d/init.d/dhcpd restart
Don't forget to set the correct filename "etherboot-..." in the dhpcd configuration (see above.)# cat etherboot.fd0 > /dev/fd0
Any machine without PXE support (or broken PXE support like the 420s?) needs to use a floppy to boot. This floppy needs to contain the correct driver for the ethernet card. Here's how I generated the ones for the 420s:
or for the new version of etherboot, the commands are:server# cd /usr/src/etherboot-4.6.0/src/ server# cat floppyload.bin.pre bin32/3c905c-tpo.lzrom > /dev/fd0
The .lzrom file will need to be different for different network cards. This is the one in the 420s (3C905C).server# cd /usr/src/etherboot-5.0.3/src/ server# cat bin/boot1a.bin bin32/3c905c-tpo.lzrom > /dev/fd0
Next, instead of bpbatch we just need a netboot-ized version of the Linux kernel, which I generated as follows:
NOTE: The install-kernel script now takes care of this, for every kernel that we build. This step does not have to be done manually.server# cd /tftpcentserv server# mknbi-linux --ipaddrs=rom --output=etherboot-420 kernel-2.2.16nfs3
The filename= argument in the /etc/dhcpd.conf also needs to point directly to this netboot version of of the kernel instead of the bpbatch[.P] file.
With this extra step, and the floppy in the drive at boot, these machines will boot just like the 410s. The netboot-ized kernel image and the floppy image are the same for a batch of identical machines.
hdc (ide1 master) | |||
hdd (ide1 slave*) | |||
hda (ide0 master) | |||
hdf ide2 slave* | hde ide2 master | hdh ide3 slave* | hdg ide3 master |
If you don't, or if you see something like this:Disk /dev/hda: 255 heads, 63 sectors, 4982 cylinders Units = cylinders of 16065 * 512 bytes
It probably means the BIOS isn't finding the disks properly. Reboot and go into the BIOS setup utility (Press F2 while booting on the Dell 410s) and make sure the the installed drives (and only the installed drives) are set to "Auto".Disk /dev/hdb: 16 heads, 63 sectors, 13870 cylinders Units = cylinders of 1008 * 512 bytes
If the disks had any detected partitions or funny geometry, you probably need to reboot now.# for i in a c d e f g h ; do dd if=/dev/zero of=/dev/hd$i bs=512 count=1 ; done
For "koa.cfht.hawaii.edu", the command to partition the 60 GB disks was:# for i in a c d e f g h ; do echo -e "n\np\n1\n1\n120\nn\np\n2\n121\n4970\nt\n2\nfd\nn\np\n3\n4971\n4982\nt\n3\n82\nv\nw\n" | fdisk /dev/hd$i ; done
For "milo.cfht.hawaii.edu", the command to partition the 13 GB disks was: (note the hack to get Linux to see all drives with the same geometry!)# for i in a c d e f g h ; do echo -e "n\np\n1\n1\n120\nn\np\n2\n121\n7461\nt\n2\nfd\nn\np\n3\n7462\n7473\nt\n3\n82\nv\nw\n" | fdisk /dev/hd$i ; done
For "dethost2" (a 610 with 3x80GB) the command was:# for i in a c e f g h ; do echo -e "x\nc\n1655\nh\n255\ns\n63\nr\nn\np\n1\n1\n120\nn\np\n2\n121\n1643\nt\n2\nfd\nn\np\n3\n1644\n1655\nt\n3\n82\nv\nw\n" | fdisk /dev/hd$i ; done x\nc\n1655\nh\n255\ns\n63\nr\n
After this, use fdisk manually on at least a couple of the disks to check that everything worked. The 'v' command shouldn't find any problems (it may print some small number of unallocated sectors, but that's all it should say.)# for i in a b c ; do echo -e "n\np\n1\n1\n120\nn\np\n2\n121\n9952\nt\n2\nfd\nn\np\n3\n9953\n9964\nt\n3\n82\nv\nw\n" | fdisk /dev/hd$i ; done
# for i in a c d e f g h ; do mke2fs /dev/hd${i}1 ; done
# for i in a c d e f g h ; do mkswap /dev/hd${i}3 ; done # vi /etc/fstab ...add lines: /dev/hda3 swap swap defaults,pri=1 0 0 /dev/hdc3 swap swap defaults,pri=1 0 0 /dev/hdd3 swap swap defaults,pri=1 0 0 /dev/hde3 swap swap defaults,pri=1 0 0 /dev/hdf3 swap swap defaults,pri=1 0 0 /dev/hdg3 swap swap defaults,pri=1 0 0 /dev/hdh3 swap swap defaults,pri=1 0 0 # swapon -a
# rm /etc/mdtab # /sbin/oldraid/mdcreate -c64k raid0 /dev/md0 /dev/hda2 /dev/hdc2 /dev/hdd2 /dev/hde2 /dev/hdf2 /dev/hdg2 /dev/hdh2
You should see that your raid is running and active. If not, make sure the kernel supports raid0/raid5.# /sbin/oldraid/mdadd -ar # cat /proc/mdstat
# mke2fs -b 4096 -f 4096 -i 65536 -m 0 -R stride=16 /dev/md0 # vi /etc/fstab ... add the line /dev/md0 /local/data ext2 defaults 0 2 # mkdir /local/data # mount -a
Sidious Linux Note: The procedures below do not apply to Sidious Linux hosts. They detect and configure X-Windows automatically when you press Ctrl-Alt-Del (or check the box to start X on boot.)
If there is no XF86Config, you'll have to use linuxconf or some other tool to generate one for your machine.server# cd /usr/X11R6/lib/X11/ server# ln -s XF86Config.YOURCARD-YOURMONITOR XF86Config.full.client.name
client# cd /etc/X11 client# ln -fs ../../usr/X11R6/bin/XF86_SVGA ./X client# X -probeonly # and if that works... client# /sbin/telinit 5 # and if that works ... client# edit /etc/inittab # and change the default runlevel to 5
If you've connected a personal UPS to your computer, connect the serial cable that comes with the UPS to a port on your computer. Then go into your computer's /etc/rc.d/rc.local.HOSTNAME and add the following:
Sidious Linux Note: These instructions are for old RedHat 6.1 hosts, which have been phased out. Machines running Sidious Linux simply need to check the box in "reconfig" saying you have a UPS.
The following changes will be done automatically for you the next time the update-client-roots script is run on your client, since the server now has these changes...# Start UPS daemon. If UPS is not connected correctly, this will cause # the computer to spin (it will constantly reboot until it finds a UPS.) # UPS=omnismart-pnp # Correct for the Costco tripplite model. See man page. ln -s /dev/tts/0 /dev/$UPS # Change /dev/tts/0 to the correct serial port! /sbin/genpowerd /dev/$UPS $UPS # Start UPS monitoring daemon.
Make sure your /etc/rc.d/init.d/halt contains this just before the final "eval $command" line:
/etc/inittab must also contain these two lines:for UPS in omnismart-pnp powerd tripp-class tripp-nt apc1-nt apc2-nt apc-linux do test -c /dev/$UPS && /sbin/genpowerd -k /dev/$UPS $UPS done eval $command -i -d -p
Finally, /sbin/genpowerd and /sbin/genpowerfail obviously need to exist.pf::powerfail:/sbin/genpowerfail start pr:12345:powerokwait:/sbin/genpowerfail stop
Now just run /etc/rc.d/rc.local.HOSTNAME manually or reboot. When the power fails, your machine will automatically shut down when 15 minutes elapses, or when the battery gets down to its last drops of juice (the UPS sends a signal to the computer when this happens, so whichever comes first...) If you are working on the machine, and would like it to ONLY shut down when all the battery juice is really gone, you can cancel a 15-minute shutdown which is already in progress by logging in as root and running:
One final note of caution: only THREE of the sockets on the back of the UPS are actually connected to the inverter. The other three are only surge-protected. Make sure you plug into the correct ones!# shutdown -c
This describes the current configuration of our centrally managed Linux machines as of 5 March 2001.
Sidious Linux Note: This is all old stuff. The new Sidious Linux clusters are described in the Sidious Linux Manual.
dd if=/dev/hda bs=1024000 | pipebuf -p40G | dd bs=1024000 of=/dev/hdbBe sure to replace "/dev/hdb" with the actual target disk, and replace -p40G with the actual (approximate) total size of the disk (or the progress meter will be off.)
ssh server-name dd if=/dev/hda bs=1024000 '|' pipebuf -p40G | pipebuf -q | dd bs=1024000 of=/dev/hdaAgain, replace server-name with the machine that has the same size disk, and replace -p40G with the right number. See pipebuf -h for more information on what pipebuf does. The operation can be done without pipebuf, but would be much slower.
IMPORTANT: Since Linux caches what it thinks was on /dev/hda1, /dev/hda2, etc., and since these partitions have now been indirectly overwritten through /dev/hda, the computer must now be rebooted (from the net again, so you can edit /Config) before attempting to verify that the copy was successful!. Do not try to read or mount the filesystems yet.
METHOD (b)
If you cannot use the "dd" trick, then use cp instead. On the machine
with the new drive, first use fdisk, mke2fs, and
mkswap to partition and format space for the filesystems
and swap. We use 3 partitions (root, /usr, and /usr/local), a fourth
for swap (allocate about 2X the anticipated total RAM for this machine),
and the remaining space can be allocated as a fifth partition mounted
on /local/data.
/usr and /usr/local are not expected to grow much for dedicated stand-alone
machines like detector hosts, so having them separate allows CD-R
backups of each (if they stay under 650MB) and allows them to be
mounted read-only. (So, if the host crashes, only the root (/) partition
will need to be checked.)
Once the new disk is formatted, mount the partitions on /mnt as follows. Remember to substitute the correct disk and partition numbers that you chose with fdisk:
# mkdir /mnt/newdisk # mount /dev/hdx1 /mnt/newdisk # mkdir /mnt/newdisk/usr # mount /dev/hdx2 /mnt/newdisk/usr # mkdir /mnt/newdisk/usr/local # mount /dev/hdx5 /mnt/newdisk/usr/localAnd then copy all three filesystems in ONE of the following three ways:
Way #1
# cd /mnt/newdisk ; tar xzvpf standalone-root.tgz 2> /tmp/errors ; cat /tmp/errors # cp -avx /usr/* /mnt/newdisk/usr/ 2> /tmp/errors ; cat /tmp/errors # cp -avx /usr/local/* /mnt/newdisk/usr/local/ 2> /tmp/errors ; cat /tmp/errors(The wildcard `*' works because there are no hidden files directly in /usr/ or /usr/local/, otherwise this might miss some files.)
Way #2
It is also possible to use current CD-R backups for this part of the installation:Insert disk with a tar of the root partition tarball. # mount /dev/sr0 /mnt/cdrom # (Note: the /mnt/cdrom is optional if fstab has it) # cd /mnt/newdisk ; tar xzvpf standalone-root.tgz 2> /tmp/errors ; cat /tmp/errors # umount /dev/sr0 Insert the backup of centserv:/usr ... # mount /dev/sr0 /mnt/cdrom # cp -avx /mnt/cdrom/* /mnt/newdisk/usr/* 2> /tmp/errors ; cat /tmp/errors # umount /dev/sr0 Insert the backup of centserv:/usr/local... # mount /dev/sr0 /mnt/cdrom # cp -avx /mnt/cdrom/ /mnt/newdisk/usr/local/* 2> /tmp/errors ; cat /tmp/errors # umount /dev/sr0
Way #3
server# rsync-standalone.new --everything target:/mnt/newroot/You "push" files from the server to the new host with this method. Check that "ssh target" works by itself before running rsync. If ssh doesn't work, you must first get ssh access from server->target working (see this page on setting up SSH) and then run rsync.
mount -t devfs devfs /mnt/newdisk/dev lilo -r /mnt/newdiskwill do the trick. But if the disk you want to make bootable is not currently in position "/dev/hda", then it becomes a bit trickier. If any of this is done incorrectly, you could easily leave both disks in an unbootable state:
disk=/dev/hdb bios=0x80
# lilo -b /dev/hdb -r /mnt/newdisk
Files that may need to be changed in the standalone configuration:
root@server# ssh target No mail. root@target# ...
root@server# rsync-standalone target ... look carefully at what rdist wants to do ...
root@server# rsync-standalone --force target ...
HINT: Try grepping for kde and removing related packages to save some disk space.rpm --queryformat '%-12{SIZE} %-25{NAME} %{SUMMARY}\n' --query --all | sort -n -r
/nfsroot/clients *.cfht.hawaii.edu(rw,no_root_squash) /usr *.cfht.hawaii.edu(ro,no_root_squash) /usr/local *.cfht.hawaii.edu(ro,no_root_squash)
hda1 / (server's root and /usr.BAK) | Striped RAID on hda2 hdc2 hdd2 hde2 hdf2 hdg2 hdh2 | hda3 swap |
hdc1 /nfsroot/usr (server and client /usr) | hdc3 swap | |
hdd1 /nfsroot/usr/local (/usr/local) | hdd3 swap | |
hde1 /nfsroot/home | hde3 swap | |
hdf1 /nfsroot/home (BACKUP) | hdf3 swap | |
hdg1 /nfsroot/clients (client's roots) | hdg3 swap | |
hdh1 /nfsroot/clients (BACKUP) | hdh3 swap |
LILO lives in the MBR of /dev/hda (see /etc/lilo.conf).Disk /dev/hda: 255 heads, 63 sectors, 4982 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 120 963868+ 83 Linux (root) /dev/hda2 121 240 963900 83 Linux (/usr) /dev/hda3 4971 4982 96390 82 Linux swap /dev/hda4 241 4970 37993725 5 Extended /dev/hda5 241 360 963868+ 83 Linux (/usr/local) /dev/hda6 361 480 963868+ 83 Linux (/home) /dev/hda7 481 4970 36065893+ 83 Linux (/nfsroot or data)