Diskless Remote Boot in Linux

SAN (AoE, iSCSI) Booting on DRBL

1. About SAN (Storage area network)

You can refer to this doc about SAN (Storage area network) on wikipedia.

2. How to make SAN Booting on DRBL? Take MS Windows as an example:

To make MS Windows SAN Boot on DRBL: ///NOTE/// This is still experimental!!!
  1. Follow this to prepare a MS Windows XP (we will call it as machine T from now on). Remember to create a small partition (~ 5 or 10 GB) so it won't take too long later when you dump the image to server. If the existing partition size is too large, you can use gparted live to resize your windows partition.
  2. Follow this to add AoE boot support to Microsoft Windows, and enable network boot.
  3. If you do not have a DRBL server, follow this to prepare a DRBL server. You need to use drbl 1.9.1-25 or later. If you already have a drbl, but it's older than 1.9.1-25, upgrade drbl and run "drblsrv -i" and "drblpush -i" again. PS. If your DRBL server is running CentOS or RHEL, you have to install "vblade" package by yourself. The package can be found in http://rpm.pbone.net.
  4. Once DRBL server is ready, run "dcs" on it, choose "remote-linux-txt". Then let machine T as DRBL client , boot it via PXE to enter GNU/Linux.
  5. Login machine T as root (If no root password, you won't be able to login. You can overwrite the root password of clients by running "drbl-client-root-passwd" to assign the password).
  6. Run "/etc/init.d/mkswapfile stop" to stop the swap memory so that no partition is mounted.
  7. "drbl-aoe-img-dump -x" on machine T, select the harddrive to be transferred and enter an image name. This command will dump an image with name like "winaoe.aoe-0-0-for-00-50-56-02-01-09" in /home/sanboot-img/ if the image name you input is "winaoe". This might take a while. Have a coffee or tea. When the dump has finished, it is recommended to backup the image file so that if something goes wrong, you won't have to do it all again. PS. The filename format is: [name].aoe-[shelf no]-[slot no]-for-[client MAC address]
  8. Login as root in DRBL server, and run "drbl-aoe-serv start". You should be ready for the server. Now you must remove the harddrive from machine T first, otherwise these two boot devices (SAN device and local harddrive) will conflict with each other. That's all, it's time to boot machine T via PXE. If everything runs smooth, you will have a SAN boot machine now.