Microsoft Virtualization Discussions

Hyper-V alignment

williamlee650
6,455 Views

Hi all,

The netapp documentation is very short on a few things regarding Hyper-V and alignment. (tr-3702)

Questions:

1. Do we need to set the default allocation unit size when formatting the disk to 4096 or leave at default

2. I never see any of the blocks in anything other than histo.0 but there are partials.... do these partials mean that there was say 5020k of data to write and that it just didn’t have enough data to fill the block or that its misaligned?

3. If misaligned what else can be done?

Take this situation.

Server 2008 R2 x64 Hyper-V

Were using a Fixed disk on a volume with 100% fraction reservation and 0% reservation on the lun.  Both lun and initiators are hyper-v type (the host os is localdisk).  After we initialize the disk from the Host we then align the disk "align=32" then we format the disk changing the default allocation size to 4096 (don’t know if we have to change it from default or not  it’s not mentioned in the documentation and the results didn’t seem to change with either of them) .  Then we create the vm using a fixed disk (40gb shows up as 39 in diskpart)... were installing srv 2003... so we pop in the iso for 2008 r2 x64 to get diskpart (from the repair section) and align the child vm to "align=32".... and when installing the os we get the stats below.... is this aligned or not.  Again in the documentation it doesn’t mention the partial blocks area only whether or not it’s on the same histogram, which it always is but there are some partials. 

priv set diag; stats show lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-; priv set admin

Warning: These diagnostic commands are for use by IBM

         personnel only.

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:display_name:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_ops:3/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_ops:24/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:other_ops:0/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_data:66048b/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_data:1236480b/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:queue_full:0/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:avg_latency:0.03ms

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:total_ops:27/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:scsi_partner_ops:0/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:scsi_partner_data:0b/s

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_align_histo.0:66%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_align_histo.1:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_align_histo.2:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_align_histo.3:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_align_histo.4:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_align_histo.5:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_align_histo.6:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_align_histo.7:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_align_histo.0:83%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_align_histo.1:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_align_histo.2:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_align_histo.3:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_align_histo.4:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_align_histo.5:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_align_histo.6:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_align_histo.7:0%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:read_partial_blocks:33%

lun:/vol/TESTVOL/TESTQTREE/TESTHYPERVCDRIVE-W-Lva4Tje4g-:write_partial_blocks:16%

6 REPLIES 6

sheastewart
6,455 Views

Hi,

have you reviewed the following: http://media.netapp.com/documents/tr-3747.pdf

It does appear, from the small snippit below, as though your LUN is properly aligned - seen by all full writes hitting bucket 0. You are also correct about partial reads/writes, which is simply the I/O that is smaller than 4K.

williamlee650
6,455 Views

I have read 3747... not much there.... it doesnt mention anything about the partials, it also doesnt mention anything about when creating the partition in windows and what allocation unit to make the lun.  To boot its a older document and doesnt mention much about the initiator type of hyper-v or what it does or when to use it.

sheastewart
6,455 Views

Hi

Have you obtained an updated copy of TR-3747? This document was recently updated and mentions partial and full writes in section 5.1... as well I believe that TR3702 and TR3733 are updated ( http://blogs.netapp.com/msenviro/2009/12/new-netapp-trs-for-hyper-v-and-scvmm.html )

Also, your Block Storage and Admin Guide (bsag.pdf) included in the Data ONTAP documentation has an explaination of each available initiator type and possible use cases.

Hope this helps...

williamlee650
6,455 Views

Thanks for you reply i'll download the newest and read up on it....

I did look at the bsag.pdf, it doesnt explain why you pick the ostype for a initiator, is it just for ostype reference or does it actally have a bearing on anything?  If its just a useless description I might be ticked off that its even there and that im wasting my time talking about it.

Also what If I have a boot from san vm box running windows 2008 for the host and it has a linux child vm.... now what can I do, I cannot have different initiator group ostypes with the same WWN's?? So does it go windows_2008, hyper-v, or linux?

This is what they have and its not very informative

The ostype of the initiators:

The ostype indicates the type of host operating

system used by all of the initiators in the igroup. All initiators in an igroup must

be of the same ostype. The ostypes of initiators are solaris, windows, hpux, aix,

netware, vmware, and linux. You must select an ostype for the igroup.

williamlee650
6,455 Views

From doing much testing with the alignment, DO NOT RUN THE STATS WHEN INSTALLING WINDOWS, as things may seem unaligned, wait until the OS is done, install the integration tools and then check the stats by dumping files to the OS disk.  I noticed a lot of missed buckets / datagrams during the final stages of the install (again I don't like that this wasn't documented anywhere else on netapps site), then after doing the full install and writing at least 200gb of data without one occurrence.  This applies for installing windows 2008 r2 x64 on hyper-v lun type with hyper-v initiator as well as 2003 r2 sp2 x32 with lun type of hyper-v and hyper-v initiator.

Again have a good day and enjoy you confusion with your filer.

mearsrich
6,455 Views

Hi,

Can you tell me how you got on finding out about iGroup OS types please?

I have the same dilema with needing multiple WWN's in 2 iGroups of differing OS types. I use Vmware over NFS but am now wanting to do a few RDM's. I need a VMFS volume to store the RDM mapping files and obviously I need the RDM's themselves.

In simple terms I have 2 LUNS (1 for VMFS, 1 for RDM (NTFS)). As its still the same HBAs in the ESX hosts that will be accessing these LUNS, I am stuck as to what iGroup choice to use - if it even matters?? I guess LUN type is still the most important factor?

Thank you for any help you can offer me.

Regards,

Rich.

Public