Im familiar with how VM's are aligned (or misaligned) in this case.... and how NetApp recommends to get them aligned. (MBRalign or the VSC plugin), which brings me to my question.
We have roughly 900 or so VMDK's that are showing as NOT aligned (dont ask me how, long story short, a W2K8 template had the offset wrong and a ton of VM's were spun up with it)
So... would it make sense and are there any cons against creating an offset LUN and vmotioning all the VM's to that lun? Or in this case, LUNS.
Also, I run a powercli script that does a get-wmi command against all VM's in vCenter to output this data. Some VM's have multiple VMDK's and some of the VM's VMDK's have different offsets. Would I need to separate the VMDK's for each VM that has different offsets?
The Vsphere client does not allow you to create offset LUNs.
You would have to use a combination of fdisk, and vmkfstools
For more info on this
You can look at the following for the netapp best practices document
If you created a datastore that was misaligned by the EXACT amount you needed to bring the VMDK into alignment,
the VMFS blocks would be misaligned and this would cause the same IO problems.
See page 9 of the netapp paper for a drawing of this.
I would suggest just going through and correcting the alignment of all of the VMDKs
The VSC plugin from NetApp allows the offsetting of LUNS....
At NetApp, we've developed a way to alleviate alignment problems without having to take virtual machines offline. Optimization and Migration lets you quickly identify misaligned VMs and mitigate the effects. Essentially, what VSC does is take the approach that "two wrongs make a right." We've found a way to "lie" to VMware, telling it that misaligned virtual machines are aligned. Then we address the misalignment on back-end storage, so there is no longer any impact on the network or the ESXi host.
To achieve this, VSC first does a scan operation to identify misaligned virtual machines. For each misaligned VM, all you have to do is migrate it to a "functionally aligned" datastore, which is a LUN with a specialized offset. If you've already performed the procedure in the past, a functionally aligned datastore will already exist. If not, the wizard lets you create one. When you complete the scan, VSC triggers a Storage vMotion® action into the functionally aligned datastore, which doesn't disrupt the running virtual machine.
If you've got many misaligned virtual machines, VSC lets you perform these processes in bulk so you don't have to move each virtual machine one at a time. Right now the process only works for VMFS datastores, but NFS support is coming. Note that you should never move an aligned VM into a functionally aligned datastore; if you do, it will become misaligned.
we have aligned our VMs using the VSC plugin which creates the so called "optimized datastores".
One problem we have noticed is that you should never ever make a storage vMotion from an "optimized datastore" to "unoptimized datastore" respectively in the other direction, as this will cause an extremly high latency peak on all volumes.
Right... basically I plan on carving up a bunch of Datastores and putting them under some DSC's and move the VM's to the "Optimized Datastore Cluster" while not allowing them to be svmotioned to other DSC's.
Im still concerned on the different offsets of each VMDK.... if one VMDK is offset by 32KB, and one by 64KB per say, will moving both the VMDK's to the SAME "optimized" datastore fix BOTH VMDK's?
Only if the incorrect offset is offset bu multiples of each other....
I have a script that devides the offsets by 1024....
Here's an example of the output
|pdxvvprint1||Disk #0||Partition #1||8385930KB||Partition NOT aligned|
|pdxvvqxtms1||Disk #0||Partition #0||31.5KB||Partition NOT aligned|
|pdxvvqxtms1||Disk #0||Partition #1||16964640KB||Partition NOT aligned|
|pdxvvs004||Disk #0||Partition #0||31.5KB||Partition NOT aligned|
|pdxvvs004||Disk #0||Partition #1||8393962.5KB||Partition NOT aligned|
|pdxvvs004||Disk #0||Partition #2||16787925KB||Partition NOT aligned|
|pdxvvs004||Disk #0||Partition #3||26113657.5KB||Partition NOT aligned|
What you're saying is, if ALL those are divisible by each other I can put them all on the same Datastore?
You have to create an optimized datastore for each different offset. Why don't you use the VSC Optimization and Migration "Scan Manager"? It will help you (a little bit...) to find out the needed offsets.
Maybe Im missing something, but VSC doesnt list out the offsets of the actual VM's/VMDK's. There are Misaligned > Online Migration > Group 1, 2, etc... but nothing that tells me the offset. With that being said, how am I supposed to figure out the offset for the VMDK's?
I also noticed it has some datastores under Actually aligned, and Offline Alignment... can you explain a little more what the actual DS's being there means?
a mouseover at the concerned VMs should display you the wanted information (VSC - Optimization and Migration - Virtual Machine Aligenment - Misaligned).
I wrote a short article about the alignment with the VSC 4.0 on my blog - maybe you find some more answers there:
Great write up.... and you're correct with highlighting over the VM to find its offset. But Im not sure what offset 4, 7, etc are.
I have some misaligned luns under offline alignment that have multiple VMDK's and Im guessing since ONE or more of the VMDK's are offset differently then the others, that they have to be done offline.
Here's a snippet from a NetAppp forum I asked the same question in.
1. If you have multiple VMDKs and they are all offset by the same amount then VSC will migrate the VM for you
2. If you have multiple VMDKs with different offsets then you can manually move the VMDKs into the correct datastores created by VSC
3. If you have any VMDKs with Multiple PARTITIONS within a single VMDK that have different offset then you cannot use Optimized LUNs and have to align the VMDK offline with another tool (recommend VMware Convertor)