Thoughts on an EEE pc as a tiny server, and noatime.
I needed a machine to do some DNS server tests. I settled on a \$280 EEE PC 900A (stripped of webcam and half of its storage) from Best Buy. That gets me a 1.6GHz x86 server with 1G of ram that only burns 10 watts and comes with its own little console for when I need it. Not a bad deal.
Only 4G of storage, but I’m only using about 60% even with a bunch of heavy eyecandy gnome and compiz stuff I installed to see what would happen (it is pretty fast, lower end graphic accelerator, but not many pixels comes out well).
I wiped the friendly linux it came with and installed Debian Lenny and all is good, except I kept noticing intermittent disk hangs lasting several seconds. I think I finally tracked this down to the kernel syncing out written pages. The fix is to not write so much. By mounting the partitions noatime most of my writes go away and I don’t notice hangs anymore.
Reading the first byte of every file in /usr went from 131 seconds to 92 seconds with the change (after a fresh boot each time), that is about a 30% speedup.
I’m pleased with the EEE. My code builds from clean in 1.6 seconds. I rarely use more than 10% of the RAM doing development which leaves plenty of RAM for caches to mitigate the slow flash disk.
At some point in the past I managed to screw up my file server's lenny install in such a way that I ended up with the non-lvm ext2 boot partition commented out of fstab and a separate /boot directory on the lvm root.
I forgot about this incident and went about continuing to run apt-get dist-upgrade periodically. Everything worked until I went to squeeze and rebooted, at which point I made some more poor choices ("Why am I not running the new kernel? I'll just apt-get remove the old one!") and ended up unable to mount ext2 partitions (while still able to boot from one).
After about eight hours of head scratching I found this page and by following your steps had no trouble upgrading to GRUB 2 which booted the new kernel which fixed all the problems, allowing me to get on with my life (such as it is).
You are awesome and so is GRUB 2.
Thanks for the info though, it helped me to confirm what I was doing would work before I sent a remote machine through a reboot (I know, dangeous, but couldn't be helped)
Debian 6.0.4 installer .iso
6 virtual disk devices
-> one physical raid partition per device
-> one RAID6 md0
One physical volume group
logical volume /
logical volume /home
The system does not manage to boot even after going in into the rescue mode and making sure grub is both configured and installed with the lvm module preloading (/etc/default/grub -> update-grub -> grub-install).
It all trips up in grub-pc (GRUB2) somehow and I do not know how to debug it.
Any pointers? Did I miss and mess up any of the rescue mode superhero stuff?
I've seen some indirect talk about mdraid + LVM + EXT4 not being a bootable combo yet, but then again I've seen people boast about their mdraid + dmcrypt + LVM + EXT4 / BTRFS setups.
I guess I will just fall back to a good old fashioned EXT2 boot partition.
Here's my rubber chicken waving approach for the internet:
update-grub
grub-install --modules="search_fs_uuid raid raid5rec raid6rec mdraid lvm ext2 chain pci" /dev/sda