Successfully connecting Proxmox Virtual Environment (VE) with Pure Storage via iSCSI and configuring it as an LVM storage unit requires a methodical approach. Below is a step-by-step guide based on my recent implementation.
If you are configuring settings specific to a cluster, ensure that the same configurations are applied across all nodes in the cluster.
1. Checking for iscsi Initiator
Before proceeding, ensure that the iSCSI Initiator is already installed on your Proxmox system. You can verify its presence by checking the following directory:
/etc/iscsi/...
If it is not installed (typically, it is included if you installed Proxmox using the PVE.iso), you can install it using the following command:
apt-get install open-iscsi
2. Verifying the iSCSI Initiator Name
To begin, I confirmed the unique iSCSI Initiator Name on the Proxmox server. This step ensures proper communication between Proxmox and Pure Storage. The command used was:
cat /etc/iscsi/initiatorname.iscsi
The output displayed the InitiatorName, which is critical for iSCSI communication.

3. Creating a New Host in Pure Storage
In the Pure Storage management interface, I created a new host named “pve-01” to serve as the connection point for Proxmox VE.

4. Configuring the iSCSI IQNs
After creating the host, I configured its iSCSI IQNs to enable communication with Proxmox. The IQN value added was consistent with the Proxmox server’s initiator details.

5. Editing the iSCSI Configuration
The /etc/iscsi/iscsid.conf
file was modified to set the session startup mode to automatic and configure session timeouts for stability. The relevant parameters edited included:
node.startup = automatic
node.session.timeo.replacement_timeout = 15


6. Restarting and Verifying iSCSI Service
I restarted the iscsid.service
to apply the configuration changes and confirmed its active status using:
systemctl restart iscsid.service
systemctl status iscsid.service

7. Adding iSCSI Storage in Proxmox VE
Using the Proxmox VE interface, I added iSCSI storage under the “Datacenter” and configured it with portal addresses, target IQN, and nodes.



Volume usage / RDM blocking
If you want to use LVM on top of iSCSI, it make sense to set content none. That way it is not possible to create VMs using iSCSI LUNs directly. The iSCSI protocol does not define an interface to allocate or delete data. Instead, that needs to be done on the target side and is vendor specific. The target simply exports them as numbered LUNs. So Proxmox VE iSCSI volume names just encodes some information about the LUN as seen by the linux kernel. iSCSI is a block level type storage, and provides no management interface. So it is usually best to export one big LUN, and setup LVM on top of that LUN. You can then use the LVM plugin to manage the storage on that iSCSI LUN.
8. Scanning for iSCSI Targets
To ensure the iSCSI target was reachable, I used the pvesm scan iscsi
command in the terminal. The scan successfully detected the Pure Storage target and its portals.

9. Configuring Multipath
I then set up multipath to provide fault tolerance and enhanced performance. The /etc/multipath/multipath.conf
file was edited to include the Pure Storage device’s WWID and an alias:





multipath -a
10. Restarting Multipath Services
I restarted the Multipath service and verified it was running correctly:
systemctl restart multipath-tools.service
systemctl status multipath-tools.service

11. Verifying Multipath Devices
Using the multipath -ll
command, I validated that the Pure Storage device paths were active and properly configured.

12. Adding LVM Storage in Proxmox
Next, I configured an LVM storage unit in Proxmox VE based on the connected iSCSI storage. The details included volume groups and allowed content types (disk images and containers).

13. Editing LVM Storage Configuration
I fine-tuned the LVM storage configuration, enabling options such as “Shared” and linking it to all nodes for seamless access across the cluster.

14. Final Verification
Lastly, I verified the storage integration in the Proxmox interface, ensuring the added LVM storage unit was accessible and operational.

Potential Issues
If you are adding your LUN to a cluster, it is likely that you will need to restart all nodes except the primary node. Otherwise, you may see a question mark icon above the iSCSI and LVM options in the Server View and realize that these nodes are not connected to the target at all. Alternatively, you can restart the service using the following command:
systemctl restart open-iscsi.service
Result
This detailed step-by-step configuration enabled seamless integration between Proxmox VE and Pure Storage using iSCSI and LVM. Each step was executed to ensure performance, reliability, and optimal storage utilization in my virtualized environment.
To verify redundancy, I performed a test by disabling the ports of Pure Storage controllers ct0 and ct1 sequentially. During the test, I verified that the network and IQN connections remained intact despite the port shutdowns. The result showed successful redundancy and stability of the configuration.
Source: Proxmox ISCSI Multipath