Proxmox ISCSI installation

From Proxmox VE
Revision as of 05:41, 1 November 2015 by Apmuthu (talk | contribs)
Jump to: navigation, search


iSCSI is a protocol that can communicate SCSI's commands over the network. The main advantage is that you don't need any hard drives for getting a fully functional server. This can be also realized by using a real Fiber Channel SAN, but it's a lot more expensive. A diskless server will boot over the network, acquiring its disk image from the SAN. Today, a lot of systems support iSCSI but they don't really support iSCSI install and boot (only VMWare supports that). However, you can making this work on some Linux systems using a few tricks explained here.

What do you need?

  • A functional iSCSI target (OpenFiler can be a good solution)
  • Your diskless server must support iSCSI boot (if not, you can use iPXE for that)
  • A DHCP server for network booting

You can find some tutorials about iPXE (formerly gPXE) on the gPXE wiki.

Here we go !

1 - Install a clean Debian on a physical machine or into a VM. Using a VM is not a problem because we only need this for formating and installing another Debian on the iSCSI target.

2 - Install open-iscsi

aptitude install open-iscsi

This util manages to attach an iSCSI target to the session.

3 - Attach the iSCSI target

iscsiadm --mode node --targetname <IQN> -p <IP> --login

You should now see your iSCSI target into /dev/sdX.
Example :

iscsiadm --mode node --targetname -p --login

4 - Create all partitions you need for your future Debian installation (you can use gpart for exemple).

NOTE : The first partition must begin at the 2048 sector !!! If don't, you will not be able to install Grub on the iSCSI target !

5 - Create a dir into /mnt (for example /mnt/debian) for preparing mouting.

6 - Mount the iSCSI target's main partition on this dir

mount /dev/sdX1 /mnt/debian

7 - Install debootstrap

aptitude install debootstrap

This utils manages to install a light debian install by using deb packages to a target.

8 -
Install a debian squeeze to /mnt/debian by using debootstrap

debootstrap squeeze /mnt/debian

You can also install another debian like lenny, but squeeze supports iSCSI better (you need to do more tricks on Lenny for having a functional iscsi boot). This can take some time (depending on your connection).

You should now have a right lightweight Squeeze install on the main partition

9 - Mount this system's dirs, it is necessary for preparing the new squeeze installation for iscsi booting.

mount -o bind /dev /mnt/debian/dev
mount -o bind /sys /mnt/debian/sys
mount -o bind /proc /mnt/debian/proc

10 - Use now this Debian by using chroot (who can change the root dir by another dir).

chroot /mnt/debian

You are now logged on your new system

11 - Install Grub

aptitude install grub

It should install Grub into the MBR of your iSCSI target. If not, you can use grub-install /dev/sdX.

12 -
Add the Proxmox repository and update

echo "deb lenny pve" >> /etc/apt/sources.list
wget -O- "" | apt-key add -
aptitude update

13 - Add the loopback interface (if not, you will not be able to use nfs-common which is needed by the pve-manager). For this, edit:

nano /etc/network/interfaces

and append this to it:

auto lo
iface lo inet loopback

14 - Install the proxmox 2.6.32-4 kernel and headers (the 2.6.35 seems to not work with iscsi booting)

aptitude install pve-kernel-2.6.32-4-pve pve-headers-2.6.32-4-pve

This action should update grub automatically.

15 - Install open-iscsi for making this installation fully supports iSCSI

aptitude install open-iscsi

16 - Precise to open-iscsi to manage iBFT informations (iBFT are informations made by iSCSI boot firmware like iPXE for the system)

echo "ISCSI_AUTO=true" > /etc/iscsi/iscsi.initramfs

By using this, you don't have to precise the iSCSI IQN and the iSCSI Target's IP to the system, only iscsi boot firmware need this.

17 - Install initramfs-tools and update initramfs

aptitude install initramfs-tools
update-initramfs -u

18 - Create a root password


Your new Debian system should now boot over iSCSI ! Once booted you can install proxmox by simply using :

aptitude install proxmox-ve-2.6.32 ntp ssh lvm2