Skip navigation.
Home
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

ISCSI_INITIATOR=iqn.1993-08.org.debian:01:testsan

ISCSI_TARGET_NAME=iqn.1992-08.com.netapp:sn.135026614

ISCSI_TARGET_IP=10.72.201.72

 

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 http://security.debian.org/ squeeze/updates main contrib non-free

         deb-src http://security.debian.org/ squeeze/updates main contrib non-free

         deb http://ftp.debian.org/debian squeeze main contrib non-free

         deb-src http://ftp.debian.org/debian 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.

0