Skip navigation.
Making Linux InterOperable with NetApp

Debian iSCSI SAN boot setup guide for NetApp Storage Controller

SAN boot configuration for iSCSI hardware, software initiators


When you set up a SAN boot device, you use a SAN-attached disk, such as a LUN, as a root device for a host. A SAN boot LUN can be implemented either by an iSCSI HBA or a network interface card (NIC) and software iSCSI stack.


Software iSCSI: For a software initiator to implement a SAN boot device, you can have the root device on an iSCSI LUN, and you can use any of the following options to load the kernel:


1.       A host’s locally attached disk (for storing kernel and initrd images)

2.       A preboot execution environment (PXE) server

3.       Hardware iSCSI


If the SAN boot LUN uses an iSCSI HBA, then, because the protocol stack runs on the HBA, it is ready to communicate with the storage system and discover a LUN when it starts up. In that case, you can have both the boot device and root device on an iSCSI LUN.


Debian installer doesn’t have out-of-the-box support OS installation on an iSCSI LUN. On an existing Debian host, follow the steps mentioned below to boot off of a NetApp Storage Controller LUN.


1.   Map a new LUN to an existing Debian host. This is the root LUN for Debian image.

2.   Ensure open-iscsi, multipath-tools, lvm2 and debootstrap are installed and configured. Refer to Task 3 of Debian iSCSI Setup Guide.

3.   Rescan the new LUN.


iscsiadm –m session -R


4.   Find out multipath device name for the root LUN.


multipath –ll


5.   Create a partition on multipath device and format it.

6.   Mount the partition.

7.   Run debootstrap on newly mounted LUN.


debootstrap squeeze <mount point>


This will bootstrap a new Debian installation at the specified mount point

8.   Mount the following file systems under the bootstrapped Debian install. As an example, assuming you bootstrapped your Debian installation to /mnt/Debian.


mount -o bind /dev /mnt/Debian/dev

mount -t sysfs none /mnt/Debian/sys

mount -t proc none /mnt/Debian/proc

mount /dev/sda1 /mnt/Debian/boot


If you chose to store kernel and initrd images from the host’s locally attached disk, mount this boot disk’s partition under the chroot boot directory.


9.    Change root to /mnt/Debian


chroot /mnt/Debian


10.Create an iscsi.initramfs file with iscsi initiator, target and IP details.


cat /etc/iscsi/iscsi.initramfs



13.   Install grub on the local boot disk


grub-install /dev/sda


14.   Set proper mirrors on /etc/apt/sources.list.


        cat /etc/apt/sources.list

         deb squeeze/updates main contrib non-free

         deb-src squeeze/updates main contrib non-free

         deb squeeze main contrib non-free

         deb-src squeeze main contrib non-free


16.   run aptitude update

17.   Install open-iscsi, scsitoolsmultipath-tools, multipath-tools-boot  and  lvm2

18.   Install the kernel


aptitude install linux-image-2.6-amd64


This will install kernel and create new initramfs under boot dir. In any case if you want to update initramfs, use update-initramfs -ck all

19.   Unmount the chroot and boot your system with newly installed kernel by using local disks boot partition.