B      S      N      C                     


BSNC (Blade Server Network Cloning is mainly developed for Linux system administrators for those companies that bought IBM eServer BladeCenter,  in most cases, the BladeCenter will be hosted in data center and might be running LVS (Linux Virtual Server) for high availability purpose. For example, use it as web farm. So, you may need to clone one pre-prepared blade web server to the rest of the blades, with BSNC, and the management module that comes with IBM BladeCenter , you can cloning back pre-prepared disk image remotely without going to data center.

BSNC (Blade Server Network Cloning) is based on  RIP (Recovery is Possible) version 5.6 and PXE . Basically, I made some changes for RIP 5.6 startup files and added some additional libraries and programs to make automatic RSH  possible. As for PXE, I already included into BSNC, so you don't have to install PXE again.

How It Works

Firstly, you need to prepare an compressed Linux 'dd' server disk image of a working blade web server A, put this image file to blade server B which is blade disk image server(also can be another server on the local LAN);

After that, you can login to blade management module through browser to change BIOS boot sequence of server C to boot from PXE first which means you will be booting blade server C from disk image server B on the local LAN.

Because the server B will be acting as a DHCP/TFTP/RSH server, during the bootup, server C will get kernel and related startup files from server B to boot up a Linux OS, then OS will clone back the latest blade web server disk image from server B to the hard disk of blade server C automatically.

Finally, blade server C will reboot automatically and will be exactly same as web server A.

Explaination

Let's take a look at IBM eServer BladeCenter first:
IBM eServer BladeCenter

It can hold up to 14 blades, each blade has two network interfaces eth0(external) and eth1(internal) which are connected to backend integrated switches. Let's choose one of  blade as Linux disk image server named 'image' (ipaddr: 192.168.10.1), this disk image server can also be another seperated server on the internal LAN, it doesn't have to be blade server, as long as it has enough hard disk space to hold blade server disk image files, this disk image server also must be a DHCP/TFTP server because we may need to clone many blades at the same time, so there won't be IP address conflict.

Preparation

You need to prepare the following things before using BSNC to do networking cloning remotely.
  1. A working original blade server A which need to be cloned to the rest of the blades, I resume it runs Linux.
  2. Disk image server B is properly configured as a DHCP,TFTP and RSH server. (let's use IP address 192.168.10.1 for internal NIC)
  3. On the server A, prepare blade disk image with the command # dd if=/dev/hda | gzip -c | rsh 192.168.10.1 'dd of=/data/diskimage/blade.ddimg' , server A must be able to rsh into server B without any prompt, this command will generate a compressed blade hard disk image file and store in server B.
  4. click here to learn how to make blade.ddimg smaller?
  5. RSH server need to allow the whole DHCP range IP address so that any blade can rsh into disk image server as root without prompt.
Download

Download the latest BSNC Network/CDROM release from sourceforge file list page.

You can read this README before using bsnc-cdrom package.

Also, you can download DHCP,TFTP and RSH server configuration examples.

How to Use

1.  make sure blade image server B is configured as DHCP/RSH/TFTP server too, you can refer to the above configuration example.
2.  make sure the original blade server dd image is generated and filed as /data/diskimage/blade.ddimg  on image server, you can download  the image generation scripts here.
3.  download BSNC  from sourceforge file list page,
4.  extract BSNC tarball under /tftpboot ( # cd /tftpboot; tar xvfpz bsnc.tar.gz )
5.  open browser, type in the ip address of BladeCenter management module, change blade server A BIOS boot sequence to PXE first.
6.  supposely, blade server A will get kernel from image server B through DHCP/TFTP, then use RSH to write blade dd image file to the local IDE hard disk, this will be done automatically, after that, it will reboot by itself and a new web server or whatever will be up.

My other project - EWMS - Enterprise WebMail Solution

My Blog - linuxtechres.blogspot.com - Linux/BSD sysadmin and Oracle/DB2 DBA guide