VM Extensions for Everpure Cloud Dedicated on Azure
The Everpure Cloud iSCSI Mount VM Extension (formerly PSC iSCSI Mount VM Extension) is designed to simplify and standardize host-side configuration of mounting volumes on Azure VMs. Instead of requiring administrators to manually configure iSCSI sessions, multipathing, and related host settings on each VM, the Azure VM extension automates these tasks in a repeatable and supportable way.
The Everpure Cloud iSCSI Mount VM Extension also supports Automatic Startup Mode. In this mode, the extension configures the VM based on the provided settings and continuously monitors the VM storage configuration.
During every VM startup, the extension validates the configuration and automatically remediates any detected changes to ensure the VM remains configured as expected.
Similarly to manual mounting of iSCSI volumes to VMs (described in this KB article), it is required to first create a Host entity on the Everpure Cloud Dedicated array and map a volume to it. A how-to for these two actions can be found in the following KB: Host and Volume Creation.
After the host and volume are configured, it is possible to proceed with installation of the VM extension.
Install VM Extension using the Azure Portal
-
In the Azure Portal, navigate to the virtual machine where you want to install the extension.
-
In the left-hand menu under Settings, select Extensions + applications.
-
Click + Add to open the list of available extensions.
-
In the search box, type PSC iSCSI Mount
-
Select the Everpure Cloud iSCSI Mount VM Extension, that matches the operating system of VM (Windows or Linux)
-
Review the extension description and click Next.
-
Provide configuration values:
- iSCSI targets β iSCSI targets provided in format
<IP address>[:port]/[:<IQN>]delimited by comma. Use IP addresses of the iSCSI interface of Everpure Cloud Dedicated array.- Host IQN β (optional) iSCSI initiator IQN of the VM. When using existing/default IQN, this field can be left empty. However, it is possible to use this field to override IQN settings on the VM and set a custom IQN value. The custom IQN must still match the IQN set on the Everpure Cloud Dedicated array.
- Number of sessions per iSCSI target β number of iSCSI sessions to establish per target.
- iSCSI targets (update mode) - with Append mode, the existing iSCSI targets on the VM will be retained and provided iSCSI targets will be added. With Replace mode, the existing iSCSI targets will be replaced with provided list.
- Auto-reboot VM (if required) β (optional) confirm whether the VM may be automatically rebooted if needed by OS for applying changes (typically Windows).
- Enable startup auto-configuration - (optional) when checked, the automatic startup mode is enabled
- Auto-reboot VM during startup check (if required) β (optional) confirm whether the VM may be automatically rebooted if needed by OS for applying changes (typically Windows), even by the automatic startup mode
Click Create to start deployment.
-
After deployment completes, verify the extension status under Extensions + applications on the VM.
Review VM configuration
For Windows VMs, a reboot is required after the Mount iSCSI extension is installed. If you allowed the extension to reboot the VM, no additional action is needed; otherwise, reboot the VM manually. Please note that during reboot, the VM extension may change its state, e.g. be in "Succeeded" state after deployment, but fail after the reboot etc.
After the VM is online, log in and verify that:
-
iSCSI targets and sessions are configured as expected.
-
Multipath settings follow the recommendations in Mounting a Volume on an iSCSI Host
Execution of the VM extension and applied commands and settings can be reviewed in a VM extension log. For Windows OS, the log can be found at: C:\WindowsAzure\logs\Plugins\PureStorage.Extensions.MountIscsiWindows\<version>\CommandExecution.log
InstallVM Extension via CLI/ARM
The Everpure Cloud iSCSI Mount VM Extension can be also deployed using a programmatic/infrastructure as a code approach, such as CLI, ARM, Azure Bicep or Terraform.
Below is an example of Azure Cloud Shell for Mount iSCSI extension on Windows:
subscriptionId="<YOUR-SUBSCRIPTION-ID>"
resourceGroup="<RESOURCE-GROUP-OF-THE-VM>"
vmResourceName="<NAME-OF-THE-VM>"
iqn="<IQN>"
replaceTargets="false" # false for append new configuration, true for replace existing configuration
iscsiTarget0="<ISCSI-CT0-IP>/<IQN>" # IP of the iSCSI interface of CT0
iscsiTarget1="<ISCSI-CT1-IP>/<IQN>" # IP of the iSCSI interface of CT1
iscsiSessionCount=2 #for example 2 sessions/per iSCSI target
az account set --subscription $subscriptionId
az vm extension set \
--resource-group $resourceGroup \
--vm-name $vmResourceName \
--name MountIscsiWindows \
--publisher PureStorage.Extensions \
--version 1.1 \
--settings "{\"settings\": {\"targets\": [\"$iscsiTarget0\", \"$iscsiTarget1\"],\"replaceTargets\": \"$mode\",\"initiatorName\": \"$iqn\",\"sessionCount\": \"$iscsiSessionCount\",\"reboot\": \"true\",\"autoUpdateConfiguration\": {\"enabled\":\"true\",\"allowRebootOnAutoUpdate\": \"true\"}}"
For Linux Azure VMs:
subscriptionId="<YOUR-SUBSCRIPTION-ID>"
resourceGroup="<RESOURCE-GROUP-OF-THE-VM>"
vmResourceName="<NAME-OF-THE-VM>"
iqn="<IQN>"
replaceTargets="false" # false for append new configuration, true for replace existing configuration
iscsiTarget0="<ISCSI-CT0-IP>/<IQN>" # IP of the iSCSI interface of CT0
iscsiTarget1="<ISCSI-CT1-IP>/<IQN>" # IP of the iSCSI interface of CT1
iscsiSessionCount=2 #for example 2 sessions/per iSCSI target
az account set --subscription $subscriptionId
az vm extension set \
--resource-group $resourceGroup \
--vm-name $vmResourceName \
--name MountIscsiLinux \
--publisher PureStorage.Extensions \
--version 1.1 \
--settings "{\"settings\": {\"targets\": [\"$iscsiTarget0\", \"$iscsiTarget1\"],\"replaceTargets\": \"$mode\",\"initiatorName\": \"$iqn\",\"sessionCount\": \"$iscsiSessionCount\",\"autoUpdateConfiguration\": {\"enabled\":\"true\"}}"
Updating iSCSI configuration
With the VM Extension installed, iSCSI and MPIO configuration can still be changed manually. It is however recommended that Pure best practices configuration is maintained for Everpure connection and volume consumption.
Uninstalling the VM extension does not revert the iSCSI/MPIO configuration to OS defaults.
Should there be a change in the best practices configuration from Everpure side, an updated version of the VM Extension will be made available. To apply the new settings, the Extension needs to be uninstalled and reinstalled again. This ensures that no configuration changes will happen without the customer knowledge and willful interaction.
To uninstall VM Extension, navigate to the same menu from where the extension was installed.