Using In-Guest iSCSI with Azure VMware Solution
Setup Asynchronous Replication for Cloud Block Store
For customers who wish to migrate data from their on-premises FlashArray to a Cloud Block Store instance within Azure; Pure Storage asynchronous replication represents a simple way to accomplish this. Note that the process outlined in this first section is completely optional: that is, those customers who wish to create data from scratch to use with CBS or leverage something like VMware HCX can do so.
One important prerequisite to setting up asynchronous replication is that a connection between Azure and the on-premises datacenter must be established. Given the multitude of ways to establish a connection to Azure, it is up to the customer to create this connection prior to following the subsequent steps in this section.
To begin, login to the Cloud Block Store array instance and navigate to the Storage tab.
Select the radio button (2) and then click on Get Connection Key (3).
Copy the Connection Key and then click on Ok.
Next, navigate to the on-premises FlashArray that you wish to replicate the data from. Click on the Storage button and then click on the + sign under Connected Arrays.
In the Connect Array wizard, provide the management VIP address (1) for the Cloud Block Store array, select Async Replication and paste in the Connection Key before clicking on Connect.
The CBS array name will appear within the Connected Arrays window, showing the replication type and replication IP addresses.
From the on-premises array, we have created a Protection Group (1) with a data vVol as a Member (2). The Snapshot Schedule (3) has been enabled along with the Replication Schedule (4). The remaining step is to add the Cloud Block Store instance we just connected as a Target for replication.
To add the CBS array as a target click on the radio button and then select Add... under the Targets window.
Click on the checkbox for the Cloud Block Store connected array and then click Add.
You should see the CBS instance appear under the Targets window and replication will begin according to the Replication Schedule in the Protection Group.
Configure In-Guest iSCSI
A deployed virtual machine within Azure VMware Solution has the capability to mount a data vVol via in-guest iSCSI. Creating this connection between the Cloud Block Store instance and a Windows Server 2019 VM deployed within AVS will be shown in the remainder of this section as an example. Additional operating systems supported within AVS will also support this functionality provided that they have in-guest iSCSI support.
The first step is the create a host entry within CBS. Click on Storage then the + sign under Hosts.
Provide a descriptive Name for the host entry. In our example the host entry matches the virtual machine name within AVS. Click Create to complete the host entry.
Next, we need to login to the Windows server running on top of AVS to setup in-guest iSCSI. Logging into AVS vCenter and then accessing the Windows host with the remote console is an easy method to access it.
Once the Windows Server instance running on top of AVS has been logged into, click on Local Server, then Tools and then iSCSI Initiator.
That will spawn the iSCSI Initiator properties dialog box. Click on the Configuration tab, then copy the Initiator Name field.
Return to the CBS instance and under the Host entry we previously created, under Host Ports click on the radio button and then Configure IQNs...
Paste the Initiator Name we copied from the Windows server into the Port IQNs field and then click Add.
On the CBS array, go to Settings, then Network and note the two iSCSI IP addresses listed.
Return to the Windows Server running in AVS and go to the Discovery tab. Click on the Discover Portal... button.
In the Discover Target Portal dialog, enter one of the iSCSI IP addresses from the CBS array. You can leave the port as default and then click OK.
Create Volume from Snapshot and Connect to iSCSI Host
A volume needs to be associated to the host entry in CBS before the iSCSI session can be established. One option is that a new empty volume can be created and connected via the Pure Storage GUI. However, in this example we will copy the on-premises vVols datastore snapshot we setup for replication in the first section to a new volume on the CBS instance and connect to that.
We first create a new Volume Group for the vVol datastore to be copied into by going to Volumes, then selecting the + sign on Volume Groups.
Provide a name for the Volume Group and then click on Create.
Next, go to the Protection Tab and select Snapshots. Find the Volume Snapshot you wish to copy to a volume, click on the radio button on the right and then select Copy...
We select the Volume Group name we created a couple of steps ago and then provide a descriptive name for the volume before clicking on Copy.
With a volume now created, we go back to the Host entry on the FlashArray GUI and under the Connected Volumes window click on the radio button and then select Connect.
Click on the check box of the volume and then Connect.
Finalize In-Guest iSCSI Connection
The host is now connected to a volume at the storage layer, so we need to complete the connection within the Windows Server OS to make that volume available within it. In the iSCSI Initiator Properties window, go to the Targets tab, highlight the CBS IQN name under Discovered targets (you may need to hit refresh) and then click on Connect.
Under the Connect to Target window, select the Advanced... button.
Select Microsoft iSCSI Initiator, pick the Windows Server IP address as the Initiator IP and lastly pick one of the iSCSI IP addresses on the Cloud Block Store instance as the Target Portal IP before clicking on OK.
You should see that the Cloud Block Store instance is now showing as being in a Connected state.
For better performance and array failover capabilities, it is recommend to add some additional iSCSI sessions to this connection. To do that, highlight the Connected session and then click on the Properties button.
Click on the Add session button under the Properties window.
Select Enable multi-path and then click on the Advanced... button.
As before, select Microsoft iSCSI Initiator, the Windows Server IP address but this time use the other iSCSI IP address from the Cloud Block Store instance. Click OK to finish.
We can now see that there are two sessions associated with our CBS connection. For latency-sensitive and performance sensitive applications, it can be useful to add additional sessions here by following the procedure outlined above to add additional throughput.
Returning to the CBS instance and going to Health > Connections we can see that the two sessions we established to the Windows host are connected to both Cloud Block Store controllers - providing both better performance as well as failover should a controller go offline.
Connect Volume in Azure VMware Solution Windows Host
With all connections made we next go to Administrative Tools > Computer Management on the Windows Server running inside of AVS.
Click on the Disk Management button with Computer Management.
The vVols data volume should appear as shown below. It may be necessary to either Rescan, Initialize or Online the disk before it becomes available to the Windows OS. Once mapped to a drive-letter, the disk is available for usage.