Proxmox VE with Pure Storage using iSCSI and LVM

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.

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.

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.

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