Blog: Automating Migration of VMFS-5 to VMFS-6 Datastores
Next up in our Automating your vSphere Upgrade blog series is your VMFS Datastore. vSphere 6.5 and vSphere 6.7 both support the latest VMFS-6. Once all of your ESXi hosts that are connected to the VMFS-5 datastore have been upgraded to vSphere 6.5 or vSphere 6.7 you can then proceed to migrate your datastore to VMFS-6.
Please note that vSphere 6.7 no longer supports VMFS-3. Prior to upgrading your ESXi host you should do an upgrade from VMFS-3 to VMFS-5 or they will be upgraded automatically during the Host upgrade.
Migrating from VMFS-5 to VMFS-6
When we start our migration of our datastore’s to VMFS-6 you may be wondering… Do I need to? What are the benefits? As we can see below graphic there was quite a few enhancements in support for Automatic Space Reclamation, In-Guest Space Reclamation and native support for 4K native storage.
You will also see that we have mentioned migrating from VMFS-5 to VMFS-6. Due to the underlying storage changes to support 4K Native storage as well as other features the metadata has changed and the upgrade cannot be done In-Place. The migration requires you to delete the current datastore and re-create. In a later section we will cover how to automate this process.
You can find out more information on vSphere 6.7 Storage enhancements here.
Checking Current VMFS Version
In case you are not sure what VMFS version your datastore is currently running, we can find out with a simple PowerCLI one-liner.
Here we can see that DS01 is still at VMFS-5 and DS02 has already been upgraded to VMFS-6. In the next section we will target upgrading our datastore to VMFS-6.
When it comes to migrating to VMFS-6 we have a few methods. A good reference to use is KB2147924, this KB covers the supported methods and ways to update your VMFS version. My colleague Nigel Hickey has covered how to do GUI based upgrades of VMFS. However, when you have many datastore’s it may help to automate this process.
As we reference the above KB it mentions a PowerCLI cmdlet called Update-VMFSDatastore. This is an powerful tool that acts a bit different than your standard PowerCLI cmdlet, it is very verbose and detailed with the checks that it does. However, there are also some considerations to take into account when using it.
A few considerations when using it are as follows:
- Requires use of datastore cluster and have a temporary VMFS-5 datastore of equal or greater capacity.
- Validates that no unsupported VMs exist on the datastore such as those with SRM, VADP, VRM or Clustering.
- Carefully review the usage of the Resume and Rollback parameters in case of any errors.
So now that we know some things to look out for what does the cmdlet actually do?
- Checks for VADP, SMPFT, MSCS/RAC virtual machines on Source Datastore.
- Makes sure datastore is accessible to all hosts.
Now that we understand how it works, lets jump into the usage.
|1234567||Connect-VIServer ds-vcsa-03.cpbu.lab$Source = Get-Datastore "DS02"$Temp = Get-Datastore "DS-TEMP"$Server = (Get-VIServer -Server "ds-vcsa-03.cpbu.lab")Update-VmfsDatastore -Datastore $Source -TemporaryDatastore $Temp -TargetVmfsVersion "6" -Server $Server|
It requires very minimal input, we will put in the source datastore, the temporary datastore, vCenter Server and the Target VMFS version.
The above animated gif will show the process. It is quite simple and if you encounter errors they will be logged and you can rollback using the rollback parameter of if the error can resumed you can use the resume parameter.
It is always great to see some native tools to assist us in accomplishing complicated tasks. For those who have an abundance of datastore’s in their environment, this cmdlet can save quite a bit of time. If you have used it, leave some feedback on your thoughts. Next up on our series will be Automating Your Virtual Distributed Switch upgrade.
Blog: vSphere Upgrade Series Part 5: Upgrading VMFS Storage
• vSphere 5.5 End of General Support Reminder •
If you are running vSphere 5.5, please be advised that End of General Support (EOGS) for vSphere 5.5 occurred on September 19, 2018. Read the 5.5 EOGS blog for more details.
Today brings us Part 5 of the vSphere Upgrade series which will cover Upgrading VMFS Storage. Upgrading storage is key to take advantage of the new features of VMFS as well as running a supported version of the storage filesystem. With the introduction of vSphere 6.7, filesystem version VMFS-3 is now deprecated and now supports just two versions, VMFS-5 and VMFS-6. If you have been following this blog series or not, you can recap what we have covered by starting with the first blog “vSphere Upgrade Series Part 1: Preparing to Upgrade“.
vSphere 6.5 brought us a new filesystem version VMFS-6. VMFS-6 contains many great new features such as support for new larger capacity 4K disk drives, extended system resource files (*.sf files), separate journal resource blocks, Automatic Space Reclamation, as well as allowing multiple concurrent transactions at a time per host which brings improved IOPS for multi-threaded workloads. The below chart outlines some of the differences between VMFS-5 & VMFS-6.
Here is something to consider for those that are on older versions of the VMFS filesystem. ESXi uses different approaches for VMFS5 and VMFS3 upgrades. Upgrading a VMFS5 version datastore to VMFS6 is not how we remember it used to be when moving from VMFS3 to VMFS5. Back in those older vSphere versions it was as simple as a right click to upgrade the datastore. This is not the case for VMFS5 datastores. If you have a VMFS5 datastore in your environment, you must create a new VMFS6 datastore and migrate virtual machines from the older VMFS5 datastore to fresh VMFS6 datastore.
ESXi no longer supports VMFS3 datastores as of vSphere 6.5. An upgraded ESXi host will automatically upgrade VMFS3 storage to VMFS5 when mounting any existing datastores. Consider that at the first boot after the vSphere Host upgrade to 6.7, all discovered VMFS3 datastores get upgraded to VMFS5. This also applies if you manually mount a VMFS3 datastore after the boot.
- If you use an ESXi .iso image to upgrade your legacy host through vSphere Update Manager, and the upgrade is not successful, the VMFS3 datastore is upgraded to VMFS5 if the installation process passes the mount phase.
- In the mixed environment of the 6.5 and 6.7 ESXi hosts, the VMFS3 datastore upgrades when the 6.7 host attempts to mount it. The 6.5 host can continue to access the datastore even when the upgrade is unsuccessful.
- When you mount the VMFS3 datastore after its resignaturing, it does not upgrade to VMFS5. You must perform the upgrade manually.
Upgrading VMFS Storage
When upgrading VMFS versions, there are a few options to choose from such as making the changes via the GUI or via CLI. In this example I will be using the GUI method to upgrade VMFS.
NOTE: David Stamen of our vSphere Technical Marketing team is working on an upgrade automation blog series that will cover the CLI methods for upgrading VMFS as well as vCenter Server, ESXi hosts, Networking, etc.
There is not too much behind this process because essentially what we are doing is creating a new VMFS6 datastore and then migrating any VMs off of the VMFS5 storage. Next would be moving those workloads to the newly created VMFS6 datastore. I will step through the process of creating the new datastore & removing the old one.
Step 1: Verify the current datastore type by moving the the Datastore view, then selecting a datastore to review. We can see that this is a VMFS5 type datastore. At this point you should evacuate any VMs from the datastore to another location before the new VMFS6 datastore is created.
Step 2: Next we will begin the creation of the VMFS6 datastore. From the Actions menu navigate to Storage and then New Datastore…
Step 3: The New Datastore wizard comes up for you to choose a datastore type. Choose VMFS and click Next.
Step 4: Fill out the name of the new datastore and select the disk/LUN to use also. Click Next to continue.
Step 5: Choose VMFS6 for the version and click Next to continue.
Step 6: Review the partition configuration for the disk layout and make any necessary changes if required. Once edits are complete, click Next.
Step 7: The last step here in the wizard is to review the settings that you have selected and click Finish to create the datastore.
Step 8: Review the new Datastore type and confirm it is VMFS6.
NOTE: If you have any VMs to move to the new VMFS6 datastore, now is the time to migrate them over before deleting the older VMFS5 datastore.
Step 9: The final steps will be to delete the old VMFS5 datastore.
Begin by selecting the datastore, from the Actions menu choose Delete Datastore.
Step 10: Confirm the deletion of the VMFS5 datastore and when ready, click Yes to continue with the removal operation.
Step 11: As a visual confirmation we review that the VMFS5 datastore has been deleted.
After these steps you now have a new VMFS6 datastore and have removed the older version VMFS5 storage. To learn more or review other features of VMFS, please review the VMware KB 2147824 and also VMware Documentation for VMFS.
In the next and final vSphere Upgrade Series post, we will focus on upgrading Upgrading vSphere Networking in a vSphere 6.7 environment. Please do not hesitate to post questions in the comments section of this blog or reach out to me directly via Twitter @vCenterNerd.