Based on https://www.youtube.com/watch?v=g5fhCiAETSU
With help from https://www.burakaktas.com/proxmox-ve-with-pure-storage-using-iscsi-and-lvm/
This is a simple guide for updating Proxmox 9 for use with a Pure Storage FlashArray over iscsi. This guide should work with other iscsi providers.
# run post install script
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh)"
# apt install packages
apt update; apt install -y multipath-tools lsscsi
# update iscsi conf
sed -i -e 's/node.startup = manual/node.startup = automatic/' -e 's/node.session.timeo.replacement_timeout = 120/node.session.timeo.replacement_timeout = 15/' /etc/iscsi/iscsid.conf
# restart iscsi
systemctl restart iscsid.service
# get target from array
iscsiadm --mode discovery --type sendtargets --portal 192.168.1.6
# Add the iSCSI target as storage named 'purex20'
pvesm add iscsi purex20 --portal 192.168.1.6 --target iqn.2010-06.com.purestorage:flasharray.3a631122ee5836fc --content none
# scan to validate
pvesm scan iscsi 192.168.1.6:3260
# one more
iscsiadm -m node -R
# get the wwid. example : 3624a9370afbab306b7884d260001fcc7
lsscsi --scsi_id
# add to multipath
multipath -a 3624a9370afbab306b7884d260001fcc7
# update multipath
cat << EOF > /etc/multipath/multipath.conf
defaults {
polling_interval 2
path_selector "round-robin 0"
path_grouping_policy multibus
uid_attribute ID_SERIAL
rr_min_io 100
failback immediate
no_path_retry queue
user_friendly_names yes
}
blacklist {
wwid .*
}
blacklist_exceptions {
# use the same wwid from prev steps
wwid "3624a9370afbab306b7884d260001fcc7"
.
.
}
EOF
# restart multipath
systemctl restart multipathd.service
# validate
multipath -ll
# get base volid
pvesm list purex20
# Add LVM storage with ID 'lvm-iscsi-01' on top of the iSCSI target
pvesm add lvm purelvm --vgname purevg1 --base purex20:0.0.1.scsi-3624a9370afbab306b7884d260001fcc7
# user helper script to build a vm
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/ubuntu2504-vm.sh)"