Sunday, November 01, 2009

Installing Ubuntu over USB flash drive RAID array in Intel Atom 330

Ubuntu makes it pretty simple to install it over USB flash drive RAID array. You can install it using flash drive itself.

Why would you do it? Flash drives are pretty cheap nowdays, even for capacities worth GBs. You can create RAID array out of more than one flash drive and have a system that can tolerate disk failures. Linux distros do not eat up diskspace like Windows so you can fit entire box in minimum two flash drives.

I downloaded Ubuntu server installation from a mirror and transferred the ISO to flash drive using Unetbootin. This has worked effortlessly for desktop live CD and I could boot in minutes. The installation also transferred itself onto other flash drive in system. However, I could not find any advanced options during live image - hdd transfer. So decided to download Server ISO.

It took 5 hours to get the image from net :( Unetbootin transferred it to flash but the installation kept complaining about missing CD-ROM drive. There are few links on web which mention you can mount the filesystem on /cdrom during setup. It worked but then setup kept complaining about something or the other. Finally hacked out CD-ROM drive from sister's desktop at midnight (she stays few miles away).

Once CD-ROM drive was there, setup was breeze. You need to make sure that USB emulation is set to "HDD" or "Fixed Disk" in the BIOS setup and boot using CD.

Setup is RAID aware and it provides easy options to create software RAID volumes. Setup also installs GRUB on all drives. This helps if you loose one RAID member and reboot.

Here are few screenshots during the install

- Choose manual mode to create partitions
- Create partitions on member drives first (keep sizes of partitions same. They can be in any order)
- Once partitions are created, come back to partitioning menu and create MD devices. Here you need to create as many partitions you need and make sure you select partitions of same sizes.
- Provide mount points to each partition and other usual parameters
- Commit changes and proceed, setup will do its job
- Reboot and test.




I tried removing one flash drive online and the system continued. However, if you try to reinsert that drive back online, the drive letter changes and hence the drive wont join RAID group. I would suggest you shutdown system, add drive and then restart. This is not the ideal thing to do but if the system is so critical, you wont be running it like this anyway ;)

If you are going to add a HDD after this, make sure that the HDD is not part of system boot sequence in BIOS. I am also not sure how the system will behave if you add more flash drives to the system. When the system is on, it should not cause harm, however, during boot the system might assign different drive letters. A quick look at mdadm.conf makes me believe that the RAID array is configured to look for disk signatures so you are at no risk if drive letters changes. Dont have a flash drive now to check that.

Let me know if it works for you. Following two links have been quiet helpful to me.

http://www.dedoimedo.com/computers/linux-raid.html#mozTocId435101
https://help.ubuntu.com/9.04/installation-guide/i386/boot-usb-files.html
http://www.linuxforums.org/forum/ubuntu-help/138532-solved-install-packages-cdrom-thru-terminal.html