Boot on FC SAN for installation

Raph123FR

New Member
Sep 26, 2025
3
1
3
Hello,

Like many people, I am currently making some changes to move away from VMware.

Context:

- MX7XXX chassis
- MX740, MX750,760 without hard drive
- Brocade SAN
- HITACHI VSPx

On VMware, we usually use boot on SAN on a disk, which makes it easier for us to test disaster recovery shared across three data centers.

Proxmox does not offer the multipath package by default, which prevents me from booting properly on my disks.

I tried to install it from Debian, but I encountered a few issues.

I tried passing the argument: disk-detect/multipath/enable=true when starting the installer's GRUB (https://wiki.debian.org/DebianInstaller/MultipathSupport)

with ctrl+alt+f2, I have to manually load modprobe lpfc and then multipath -ll displays my paths + mpath, but when I return to the installation, Debian cannot find my disks.

Is there something I'm missing? Is there a way to do the installation from Proxmox? (For example, using a USB key to install the multipath packages?) Leaving only one path on the boot lun is not an option.

I have alse find this thread : https://forum.proxmox.com/threads/p...-bl660c-blade-with-hpe-650flb-hba-nic.137445/

But i don't currently use ipxe on my environnement.

Regards
 
I tried this years ago and was sadly not able to do it properly and beeing rock solid at the same time so we just bought two disks / BOSS-card-equivalent per host and went with it. Never had any issue since then and never looked back.
 
  • Like
Reactions: Raph123FR
There is no officially endorsed way to implement such boot from PVE installer. I have seen success stories reported in the forum from people installing Debian to boot from SAN.
I have no recent personal experience with booting from FC SAN, so don't have a specific advice for you.
Does your storage vendor have a Linux Boot guide you can reference?


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
 
  • Like
Reactions: Johannes S
There is no officially endorsed way to implement such boot from PVE installer. I have seen success stories reported in the forum from people installing Debian to boot from SAN.
I have no recent personal experience with booting from FC SAN, so don't have a specific advice for you.
Does your storage vendor have a Linux Boot guide you can reference?


Blockbridge : Ultra low latency all-NVME shared storage for Proxmox - https://www.blockbridge.com/proxmox
I have some configuration guide for RHEL or SUSE both solutions include "native" multipath configurations upon installation

I have nothing about ubuntu/debian ...
 
We've resumed our POCs, and I finally managed to complete an installation. I'm posting this here in case it helps anyone; I can't confirm that it's completely stable at this time.

Code:
PROCEDURE — DEBIAN BOOT ON SAN INSTALLATION WITH MULTIPATH

Prerequisites:
- Server configured to boot from the Debian installation media.
- SAN LUN presented to the server.
- Installation performed in UEFI mode.
- Access to the BusyBox shell during installation.

1. Start the Debian installation

Boot from the Debian installation CD or ISO.

In the installation menu, select:
- Advanced options
- Expert install

Continue the installation until the network configuration step.

Configure the network as required.

Then continue until the user creation step.

2. Open the BusyBox shell

From the Debian installer menu, open a shell and run the following commands to load the multipath modules and detect the SAN paths:

anna-install multipath-udeb partman-multipath
modprobe dm_mod
modprobe dm_multipath
modprobe scsi_dh_alua
multipath -ll
dmsetup ls
dmsetup mknodes
ls -l /dev/mapper

Check that the SAN LUN is correctly detected through multipath.

3. Detect and partition the disks

Return to the Debian installer.

Continue to the following steps:
- Detect disks
- Partition disks

Select the multipath disk corresponding to the boot LUN.

Create a new GPT partition table.

Then select the free space to create the partitions.

4. Create the required partitions

Partition 1 — EFI
- Size: approximately 512 MB
- Type: EFI System Partition
- Mount point: /boot/efi
- Purpose: required for UEFI boot

Partition 2 — Boot
- Size: 4 GB
- Type: ext4
- Mount point: /boot

Partition 3 — LVM
- Size: remaining disk space
- Type: LVM physical volume

5. Create the LVM volume group

Create an LVM volume group:

VG name:
vg_debian

Then create the following logical volumes:

LV root
- Name: lv_debian
- Size: 40 GB
- Format: ext4
- Mount point: /

LV swap
- Size: 4 to 8 GB
- Format: swap

LV var
- Size: 15 GB
- Format: ext4
- Mount point: /var

LV home
- Size: 10 GB
- Format: ext4
- Mount point: /home

6. Install the base system

When selecting the kernel, choose:
linux-image-amd64

Continue the installation normally until the GRUB bootloader step.

7. /!\ MANDATORY /!\ Before finishing the installation, return to the shell

Mount the pseudo-filesystems into /target:

mount --bind /dev /target/dev
mount --bind /proc /target/proc
mount --bind /sys /target/sys
mount --bind /run /target/run

Enter the installed system:

chroot /target /bin/bash

8. Install the required Boot on SAN packages

Install the multipath packages:

apt install multipath-tools multipath-tools-boot

9. Retrieve the WWID of the boot LUN

Identify the disk corresponding to the SAN LUN, replace /dev/sdX with the correct detected SAN disk.
 
Run the following command:

/lib/udev/scsi_id --whitelisted --device=/dev/sdX

Write down the returned WWID.

10. Generate the /etc/multipath.conf file

Create or edit the following file:

/etc/multipath.conf

Add the following configuration, replacing $WWID with the real WWID of the LUN:

defaults {
    user_friendly_names yes
    find_multipaths yes
}

multipaths {
    multipath {
        wwid "WWID"
        alias "debian_boot"
    }
}

11. Add the WWID to /etc/multipath/wwids

Add the LUN WWID to the following file:

/etc/multipath/wwids

Expected format:

/$WWID/

12. Correct the /etc/fstab file to avoid issues with mpath devices

Retrieve the UUID of the /boot partition:

BOOTUUID=$(blkid -s UUID -o value /dev/mapper/mpatha2)

Retrieve the UUID of the EFI partition:

EFIUUID=$(blkid -s UUID -o value /dev/mapper/mpatha1)

Check that both commands return a value:

echo $BOOTUUID
echo $EFIUUID

If one value is empty, check again

Replace the /dev/mapper/mpatha paths in /etc/fstab with UUIDs:

sed -i "s|/dev/mapper/mpatha2|UUID=$BOOTUUID|" /etc/fstab
sed -i "s|/dev/mapper/mpatha1|UUID=$EFIUUID|" /etc/fstab

13. Regenerate the initramfs

Regenerate the initramfs to include multipath, LVM, and the required boot files:

update-initramfs -u -k all

Check that multipath, wwids, and LVM elements are correctly present in the initramfs:

lsinitramfs /boot/initrd.img-$(uname -r) | grep -E 'multipath|wwids|lvm'

14. Optional installation media check

If required, remount the installation CD or ISO:

mkdir -p /media/cdrom
mount -t iso9660 -o ro /dev/sr0 /media/cdrom

Optionally check the media information:

cat /media/cdrom/.disk/info

15. Exit the chroot and reboot

Exit the chroot:

exit

Reboot the server:

reboot

16. Post-reboot checks

After the reboot, check that the system boots correctly from the SAN LUN through multipath.

Check the multipath status:

multipath -ll

Check the LVM volumes:

lvs
vgs
pvs

Check the mounted filesystems:

findmnt

Check the fstab file:

cat /etc/fstab

The system should boot correctly with:
- /boot/efi mounted using UUID
- /boot mounted using UUID
- / on LVM
- /var on LVM
- /home on LVM
- swap enabled
- SAN LUN visible through multipath
 
  • Like
Reactions: Onslow
I would suggest using a dedicated "deployer" instance, which would:
1. serve ipxe. its ok if you dont have one existing- the deployer can perform this function.
2. provision a boot disk image from template. the multipathing software and base configuration would be baked in here.
3. using automation tool of your choice, set ip address(es), hostnames, and ssh keys

This is WAY faster, more flexible, and gives you granular control over the base image. you can also leverage HTI/SI to really crunch down on the space required per host and be near instant to deploy.
 
  • Like
Reactions: Johannes S