[Server-devel] Edublog Beta Server shipped!
Tony Pearson
tpearson at us.ibm.com
Wed Jul 2 15:47:24 EDT 2008
Team,
The XS School Server we build for Edublog has been shipped to its final
destination today! This is in support of Proyecto Ceibal of OLPC Uruguay.
Details of the poject here:
http://wiki.laptop.org/go/Educational_Blogger_Project
Some key lessons learned:
(a) XS install on machine with two disk drives
The unattended-kickstart XS-163.iso image only works when there is a
single disk drive. If you have two or more disk drives, disconnect them
during the initial install. Other than that, the parts list for the
hardware, and pictures of the assembly are here:
http://wiki.laptop.org/go/User:Az990tony/edublog-beta-hw
(b) I was able to get "multi-boot" working.
I still need to update my notes on this page:
http://wiki.laptop.org/go/User:Az990tony/edublog-beta-sw
The OS images are:
1. XS-163 ( what we plan to do our primary development/test)
2. Fedora 7 (for comparison/test purposes)
3. Debian 4 (for potential porting of Edublog)
4. SysRescCD (to repair the other three)
The method could be extended to dual-boot for XS with WIndows for example,
and maybe even XS with Apple Mac OS X. Let me know if there is any
interest in either Windows or Mac OS dual-boot scenarios.
(c) RAID and LVM2
While the BIOS of the motherboard advertised "RAID" capability, this is
only BIOS-assisted RAID for Windows device drivers. Linux calls this
"fake raid" and is only supported on a few motherboards, but the one we
had was not on the support list. I was able to get instead "software
raid" mirroring "raid1" and LVM2 logical volumes, but had troubles with
this process. Converting regular partitions to raid, or regular
partitions to LVM is straight-forward, but converting either of these to
LVM2+RAID was fraught with problems, especially if the LVM2+RAID contain
any "root" directories needed to start the OS image. For now, LVM2+RAID
should only be used only for shared data directories that are
non-essential for OS boot.
(d) Remote administration with SSH
Our development team is all over the place, so we set up "sshd" server
with DSA private/public key pairs. To make this feasible, I put the
"/home" directory on LVM2 logical volume so that all of the OS images
could access. Fedora and Debian have different default userid value
starting points, so I used "groupadd -g nnnn " to create a group, and
"useradd -g nnnn -u mmmm user" to create the users on each OS image. This
ensures that everyone can read their own files regardless of which OS
image they are running with.
I tested with a Windows SSH client (sshWindows on SourceForge.net), and
was able to access the server successfully.
(e) MySQL vs. PostgreSQL
Despite Tim's excellent set of notes, I was unable to get past his
"test.php" phase, I just could not get Apache to have authorization to the
postgresql databases from the PHP pages. I hope the remote admin team can
figure this out when needed. As a fall-back, I installed MySQL which we
know should have no problems with Moodle.
(f) Ethernet ports/devices/MAC addresses
A very frustrating aspect of the multi-boot process is that each OS
assigns different "eth0/eth1/eth2/eth3" for the devices it finds.
Following the XS-163 scheme of "eth0" being the WAN connection to the
outside world, and "eth1/eth2" to be the internal LAN connections, there
were means to set Fedora and Debian to match. This way, "eth0" is always
the WAN connection regardless of OS image currently running.
(g) Backup methodology
Seeing that moving partitions around, converting to raid, and LVM2,
required a backup method, but the "Mondo Rescue" method deployed in
OLE/Nepal did not handle the raid/LVM2 very well.
Instead, I was able to use "SysRescCD" (from http://sysresccd.org/) which
is developed in France, and has English and Spanish instruction manuals.
This was able to understand raid and LVM2 devices, and has "partimage"
tool to backup regular partitions, raid-mirrored partitions, and LVM2
logical volumes.
(h) Boot-CD and Recover-DVD
Part of the project was a "nice-to-have" requirement for a Recover DVD to
rebuild the machine to original working state in case the devlopers do
something bad that breaks the system. I chose SysRescCD, customized to
run "sshd" on boot with the appropriate settings, users and public keys in
place. I created a "Boot-CD" that is only 200MB, and a Recover-DVD which
boots just like the Boot-CD, but has 3.7GB of backup files (mostly from
"partimage" tool). I did not have time to fully test an automated
recovery, but was able to summarize the seven steps involved. The
advantage is that these seven recovery steps can be done by remote
administration, you only need someone to reboot the XS with the Recovery
DVD, and let the remote admins do the rest.
(i) Rescue OS image on the disk drive itself
I wanted to put the SysRescCD on the hard disk itself, but again it
assigns "eth0/eth1/eth2" differently than what I had already done with
Fedora and Debian. I worked with my new friends at SysRescCD, and they
added a kernel parameter "nameif=" that allows me to specify "eth0" to be
the motherboard port, "eth1" to be the top NIC and "eth2" to be the bottom
NIC card, just as they are defined with the other OS images. Here is the
description:
http://www.sysresccd.org/news/2008/06/28/option-to-define-the-name-of-a-network-interface-using-the-mac-address/
With this parameter, I was able to match the "eth" settings of XS-163, and
have it as a fourth "boot OS" image. While SysRescCD can be put onto
existing OS image partitions, I chose instead to put this as /dev/sda1,
and moved the shared /boot directory to /dev/sda2.
Hopefully, it will arrive and be online for development purposes next
week.
Tony Pearson
http://wiki.laptop.org/go/User:Az990tony
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.laptop.org/pipermail/server-devel/attachments/20080702/54004447/attachment.htm
More information about the Server-devel
mailing list