Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Next-Generation Best Practices for VMware and Storage


Published on

This is the opening keynote presentation, focusing on VMware and storage best practices, from the Midwest Regional VMUG in Kansas City on December 6, 2010.

Published in: Technology
  • Be the first to comment

Next-Generation Best Practices for VMware and Storage

  1. 1. Midwest Regional VMUG<br />Next Generation Best Practices for Storage and VMware<br />Scott Lowe, VCDX #39<br />vSpecialist, EMC Corporation<br />Author, Mastering VMware vSphere 4<br /><br /><br />
  2. 2. The “Great” Protocol Debate<br />Every protocol can Be Highly Available, and generally, every protocol can meet a broad performance band<br />Each protocol has different configuration considerations<br />Each Protocol has a VMware “super-power”, and also a “kryponite”<br />In vSphere, there is core feature equality across protocols<br />Conclusion: there is no debate – pick what works for you!<br />The best flexibility comes from a combination of VMFS and NFS<br />
  3. 3. First - Key Things To Know – “A” thru “F”<br />Key Best Practices circa 2010/2011<br />
  4. 4. Leverage Key Docs<br />Key Best Practices circa 2010/2011<br />A<br />
  5. 5. Key Docs, and Storage Array Taxonomy<br />Key VMware Docs:<br />Fibre Channel SAN Configuration Guide<br />iSCSI SAN Configuration Guide<br />Storage/SAN Compatibility Guide<br />…Understand VMware Storage Taxonomy:<br />Active/Active (LUN ownership)<br />Active/Passive (LUN ownership)<br />Virtual Port (iSCSI only)<br />
  6. 6. Key Docs, and Storage Array Taxonomy<br />Key Storage Partner Docs:<br />Each Array is very different. Storage varies far more vendor to vendor than servers do<br />Find, read, and stay current on your array’s Best Practices Doc – most are excellent.<br />Even if you’re NOT the storage team, read them – it will help you.<br /><br /><br /> <br />
  7. 7. Setup Multipathing Right<br />Key Best Practices circa 2010/2011<br />B<br />
  8. 8. Understanding the vSphere Pluggable Storage Architecture<br />
  9. 9. What’s “out of the box” in vSphere 4.1?<br />[root@esxi ~]# vmware -vVMware ESX 4.1.0 build-260247 [root@esxi ~]# esxcli nmp satp listName                 Default PSP       DescriptionVMW_SATP_SYMM        VMW_PSP_FIXED     Placeholder (plugin not loaded)VMW_SATP_SVC         VMW_PSP_FIXED     Placeholder (plugin not loaded)VMW_SATP_MSA         VMW_PSP_MRU       Placeholder (plugin not loaded)VMW_SATP_LSI         VMW_PSP_MRU       Placeholder (plugin not loaded)VMW_SATP_INV         VMW_PSP_FIXED     Placeholder (plugin not loaded)VMW_SATP_EVA         VMW_PSP_FIXED     Placeholder (plugin not loaded)VMW_SATP_EQL         VMW_PSP_FIXED     Placeholder (plugin not loaded)VMW_SATP_DEFAULT_AP  VMW_PSP_MRU       Placeholder (plugin not loaded)VMW_SATP_ALUA_CX     VMW_PSP_FIXED_AP  Placeholder (plugin not loaded)VMW_SATP_CX          VMW_PSP_MRU       Supports EMC CX that do not use the ALUA protocolVMW_SATP_ALUA        VMW_PSP_RR        Supports non-specific arrays that use the ALUA protocolVMW_SATP_DEFAULT_AA  VMW_PSP_FIXED     Supports non-specific active/active arraysVMW_SATP_LOCAL       VMW_PSP_FIXED     Supports direct attached devices <br />
  10. 10. What’s “out of the box” in vSphere?<br />PSPs:<br /><ul><li>Fixed (Default for Active-Active LUN ownership models)
  11. 11. All IO goes down preferred path, reverts to preferred path after original path restore
  12. 12. MRU (Default for Active-Passive LUN ownership models)
  13. 13. All IO goes down active path, stays after original path restore
  14. 14. Round Robin
  15. 15. n IO operations goes down active path then rotate (default is 1000)</li></ul>HOWTO – setting PSP for a specific device (can override default selected by SATP detected ARRAYID):<br />esxcli nmp device setpolicy --device <device UID> --psp VMW_PSP_RR <br />(check with your vendor first!)<br />
  16. 16. Changing Round Robin IOOperationLimit<br />esxcli nmp roundrobin setconfig --device <device UID> –iops<br />check with your storage vendor first! This setting can cause problems on arrays. Has been validated ok, but not necessary in most cases<br />
  17. 17. Effect of different RR IOOperationLimit settings<br />NOTE: <br />This is with a SINGLE LUN.<br />This is the case where the larger IOOperationLimit default is the worst<br />In a real-world environment – lots of LUNs and VMs results in decent overall loadbalancing<br />Recommendation – if you can, stick with the default<br />
  18. 18. What is Asymmetric Logical Unit (ALUA)?<br />Many storage arrays have Active/Passive LUN ownership<br />All paths show in the vSphere Client as:<br />Active (can be used for I/O)<br />I/O is accepted on all ports<br />All I/O for a LUN is serviced on its owning storage processor<br /><ul><li>In reality some paths are preferred over others
  19. 19. Enter ALUA to solve this issue</li></ul>Supported introduced in vSphere 4.0<br />SP A<br />SP B<br />LUN<br />
  20. 20. What is Asymmetric Logical Unit (ALUA)?<br /><ul><li>ALUA Allows for paths to be profiled</li></ul>Active (can be used for I/O)<br />Active (non-optimized – not normally used for I/O)<br />Standby<br />Dead<br />Ensures optimal path selection/usage by vSphere PSP and 3rd Party MPPs<br />Supports Fixed, MRU, & RR PSP<br />Supports EMC PowerPath/VE<br />ALUA is not supported in ESX 3.5<br />SP A<br />SP B<br />LUN<br />
  21. 21. Understanding MPIO<br />MPIO is based on “initiator-target” sessions – not “links”<br />
  22. 22. MPIO Exceptions – Windows Clusters<br />Among a long list of “not supported” things:<br />NO Clustering on NFS datastores<br />No Clustering on iSCSI, FCoE (unless using PP/VE)<br />No round-robin with native multipathing (unless using PP/VE)<br />NO Mixed environments, such as configurations where one cluster node is running a different version of ESX/ESXi than another cluster node.<br />NO Use of MSCS in conjunction with VMware Fault Tolerance.<br />NO Migration with vMotion of clustered virtual machines.<br />NO N-Port ID Virtualization (NPIV)<br />You must use hardware version 7 with ESX/ESXi 4.1<br />
  23. 23. APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />APP<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />OS<br />Shared<br />Storage<br />STORAGE<br />PowerPath – a Multipathing Plugin (MPP)<br />Simple Storage manageability<br />Simple Provisioning = “Pool of Connectivity”<br />Predictable and consistent<br />Optimize server, storage, and data-path utilization<br />Performance and Scale<br />Tune infrastructure performance, LUN/Path Prioritization<br />Predictive Array Specific Load Balancing Algorithms<br />Automatic HBA, Path, and storage processor fault recovery<br />Other 3rd party MPPs:<br />Dell/Equalogic PSP<br />Uses a “least deep queue” algorithm rather than basic round robin<br />Can redirect IO to different peer storage nodes<br />See this at the Dell/EqualLogic booth<br />PowerPath<br />PowerPath<br />PowerPath<br />PowerPath<br />
  24. 24. NFS <br />Considerations<br />
  25. 25. General NFS Best Practices<br /><ul><li>Start with Vendor Best Practices:</li></ul>EMC Celerra H5536 & NetApp TR-3749<br />While these are constantly being updated, at any given time, they are authoritative<br /><ul><li>Use the EMC & NetApp vCenter plug-ins, automates best practices
  26. 26. Use Multiple NFS datastores & 10GbE
  27. 27. 1GbE requires more complexity to address I/O scaling due to one data session per connection with NFSv3</li></li></ul><li>General NFS Best Practices - Timeouts<br /><ul><li>Configure the following on each ESX server (automated by vCenter plugins):
  28. 28.  NFS.HeartbeatFrequency = 12
  29. 29. NFS.HeartbeatTimeout = 5
  30. 30. NFS.HeartbeatMaxFailures = 10
  31. 31. Increase Guest OS time-out values to match</li></ul>Back up your Windows registry. <br />Select Start>Run, regedit<br />In the left‐panel hierarchy view, double‐click HKEY_LOCAL_MACHINE> System> CurrentControlSet> Services> Disk. <br />Select the TimeOutValue and set the data value to 125 (decimal). <br />Note: this is not reset when VMtools are updated<br /><ul><li>Increase Net.TcpIpHeapSize (follow vendor recommendation)</li></li></ul><li>General NFS Best Practices – Traditional Ethernet switches<br />Mostly seen with older 1GbE switching platforms<br />Each switch operates independently<br />More complex network design<br />Depends on routing, requires two (or more) IP subnets for datastore traffic<br />Multiple Ethernet options based on Etherchannel capabilities and preferences<br />Some links may be passive standby links<br />
  32. 32. General NFS Best Practices – Multi-Switch Link Aggregation<br />Allows two physical switches to operate as a single logical fabric<br />Much simpler network design<br />Single IP subnet<br />Provides multiple active connections to each storage controller<br />Easily scales to more connections by adding NICs and aliases<br />Storage controller connection load balancing is automatically managed by the EtherChannel IP load-balancing policy<br />
  33. 33. General NFS Best Practices – HA and Scaling<br />10GbE?<br />Yes<br />No<br />Support<br />multi-switch<br />Link<br />aggr?<br />One VMKernel port<br />& IP subnet<br />Yes<br />Use multiple links with<br />IP hash load balancing on<br />the NFS client (ESX)<br />Use multiple VMKernel<br />Ports & IP subnets<br />Use multiple links with<br />IP hash load balancing on<br />The NFS server (array)<br />Use ESX routing table<br />Storage needs multiple<br />sequential IP addresses<br />Storage needs multiple<br />sequential IP addresses<br />
  34. 34. iSCSI & NFS – Ethernet Jumbo Frames<br />What is an Ethernet Jumbo Frame?<br />Ethernet frames with more than 1500 bytes of payload (9000 is common)<br />Commonly ‘thought of’ as having better performance due to greater payload per packet / reduction of packets<br /><ul><li>Should I use Jumbo Frames?</li></ul>Supported by all major storage vendors & VMware<br />Adds complexity & performance gains are marginal with common block sizes<br />FCoE uses MTU of 2240 which is auto-configured via switch and CAN handshake<br />All IP traffic transfers at default MTU size<br />Stick with the defaults when you can<br />
  35. 35. iSCSI & NFS caveat when used together<br />Remember – iSCSI and NFS network HA models = DIFFERENT<br />iSCSI uses vmknics with no Ethernet failover – using MPIO instead<br />NFS client relies on vmknics using link aggregation/Ethernet failover<br />NFS relies on host routing table<br /><ul><li>NFS traffic will use iSCSI vmknic and results in links without redundancy</li></ul>Use of multiple session iSCSI with NFS is not supported by NetApp<br />EMC supports, but best practice is to have separate subnets, virtual interfaces<br />
  36. 36. Summary of “Setup Multipathing Right”<br />VMFS/RDMs<br />Round Robin policy for NMP is default BP on most storage platforms<br />PowerPath/VE further simplifies/automates multipathing on all EMC (and many non-EMC) platforms. <br />Notably supports MSCS/WSFC including vMotion and VM HA <br />NFS<br />For load balancing, distribute VMs across multiple datastores on multiple I/O paths. Follow the resiliency procedure in the TechBook to ensure VM resiliency to storage failover and reboot over NFS<br />
  37. 37. Alignment = good hygiene<br />Key Best Practices circa 2010/2011<br />C<br />
  38. 38. “Alignment = good hygiene”<br />Misalignment of filesystems results in additional work on storage controller to satisfy IO request<br />Affects every protocol, and every storage array<br />VMFS on iSCSI, FC, & FCoE LUNs<br />NFS<br />VMDKs & RDMs with NTFS, EXT3, etc<br />Filesystems exist in the datastore and VMDK<br />Datastore Alignment<br />VMFS 1MB-8MB<br />VMFS 1MB-8MB<br />Block<br />Array 4KB-64KB<br />Chunk<br />Chunk<br />Chunk<br />Array 4KB-64KB<br />
  39. 39. “Alignment = good hygiene”<br />Misalignment of filesystems results in additional work on storage controller to satisfy IO request<br />Affects every protocol, and every storage array<br />VMFS on iSCSI, FC, & FCoE LUNs<br />NFS<br />VMDKs & RDMs with NTFS, EXT3, etc<br />Filesystems exist in the datastore and VMDK<br />Datastore Alignment<br />VMFS 1MB-8MB<br />VMFS 1MB-8MB<br />Block<br />Array 4KB-64KB<br />Array 4KB-64KB<br />Chunk<br />Chunk<br />Chunk<br />
  40. 40. “Alignment = good hygiene”<br />Misalignment of filesystems results in additional work on storage controller to satisfy IO request<br />Affects every protocol, and every storage array<br />VMFS on iSCSI, FC, & FCoE LUNs<br />NFS<br />VMDKs & RDMs with NTFS, EXT3, etc<br />Filesystems exist in the datastore and VMDK<br />Cluster<br />Cluster<br />Cluster<br />FS 4KB-1MB<br />Guest<br />Alignment<br />VMFS 1MB-8MB<br />Block<br />VMFS 1MB-8MB<br />Array 4KB-64KB<br />Chunk<br />Chunk<br />Chunk<br />Array 4KB-64KB<br />
  41. 41. “Alignment = good hygiene”<br />Misalignment of filesystems results in additional work on storage controller to satisfy IO request<br />Affects every protocol, and every storage array<br />VMFS on iSCSI, FC, & FCoE LUNs<br />NFS<br />VMDKs & RDMs with NTFS, EXT3, etc<br />Filesystems exist in the datastore and VMDK<br />Cluster<br />Cluster<br />Cluster<br />FS 4KB-1MB<br />Guest<br />Alignment<br />Block<br />VMFS 1MB-8MB<br />Chunk<br />Chunk<br />Chunk<br />Array 4KB-64KB<br />
  42. 42. Alignment – Best Solution: “Align VMs”<br />VMware, Microsoft, Citrix, EMC all agree, align partitions<br />Plug-n-Play Guest Operating Systems<br />Windows 2008, Vista, & Win7<br /><ul><li>They just work as their partitions start at 1MB</li></ul>Guest Operating Systems requiring manual alignment<br />Windows NT, 2000, 2003, & XP (use diskpart to set to 1MB)<br />Linux (use fdisk expert mode and align on 2048 = 1MB)<br />
  43. 43. Alignment – “Fixing after the fact”<br />VMFS is misaligned<br />Occurs If you created the VMFS via CLI and not via vSphere client and didn’t specify an offset.<br />Resolution:<br />Step 1: Take an array snapshot/backup<br />Step 2: Create new datastore & migrate VMs using SVMotion<br />Filesystem in the VMDK is misaligned<br />Occurs If you are are using older OSes and didn’t align when you created the guest filesystem<br />Resolution:<br />Step 1: Take an array snapshot/backup<br />Step 2: Use tools to realign (all VM to be shutdown)<br /><ul><li>GParted (free, but some assembly required)
  44. 44. Quest vOptimizer (good mass scheduling and reporting)</li></li></ul><li>Leverage Free Plugins/VAAI<br />Key Best Practices circa 2010/2011<br />D<br />
  45. 45. “Leverage Free Plugins and VAAI” <br />Use Vendor plug-ins for VMware vSphere<br />All provide better visibility<br />Some provide integrated provisioning<br />Some integrate array features like VM snapshots, dedupe, compression and more<br />Some automate multipathing setup<br />Some automate best practices and remediation<br />Most are FREE<br />VAAI – it is just “on”<br />With vSphere 4.1, VAAI increases VM scalability and reduces the amount of I/O traffic sent between the host and storage system and makes “never put more than ___ VMs per datastore” a thing of the past.<br />Some individual operations can be faster also (2-10x!)<br />
  46. 46. KISS on Layout<br />Key Best Practices circa 2010/2011<br />E<br />
  47. 47. “KISS on Layout”<br />Use VMFS and NFS together – no reason not to<br />Strongly consider 10GbE, particularly for new deployments<br />Avoid RDMs, use “Pools” (VMFS or NFS)<br />Make the datastores big<br />VMFS – make them ~1.9TB in size (2TB – 512 bytes is the max for a single volume), 64TB for a single filesystem<br />NFS – make them what you want (16TB is the max)<br />With vSphere 4.0 and later, you can have many VMs per VMFS datastore – and VAAI increases this to a non-issue.<br />On the array, default to Storage Pools, not traditional RAID Groups / Hypers<br />Default to single extent VMFS datastores<br />Default to Thin Provisioning models at the array level, optionally at the VMware level.<br />Make sure you enable vCenter managed datastore alerts<br />Make sure you enable Unisphere/SMC thin provisioning alerts and auto-expansion<br />Use “broad” data services – i.e. FAST, FAST Cache (things that are “set in one place”)<br />
  48. 48. Use SIOC if you can<br />Key Best Practices circa 2010/2011<br />F<br />
  49. 49. “Use SIOC if you can”<br />This is a huge vSphere 4.1 feature<br />“If you can” equals:<br />vSphere 4.1, Enterprise Plus<br />VMFS (NFS targeted for future vSphere releases – not purely a qual)<br />Enable it (not on by default), even if you don’t use shares – will ensure no VM swamps the others<br />Bonus is you will get guest-level latency alerting!<br />Default threshold is 30ms<br />Leave it at 30ms for 10K/15K, increase to 50ms for 7.2K, decrease to 10ms for SSD<br />Fully supported with array auto-tiering - leave it at 30ms for FAST pools <br />Hard IO limits are handy for View use cases<br />Some good recommended reading:<br /><br /><br /><br /><br />
  50. 50. Second - What to do when you’re in trouble...<br />Getting yourself out of a jam<br />
  51. 51. “My VM is not performing as expected”<br />How do I know: application not meeting a pre-defined SLA, or SIOC GOS thresholds being exceeded<br />What do I do:<br />Step 1, pinpoint (thank you Scott Drummonds!) <br />Use ESXTop first:<br />..then vSCSIstats:<br />Step 2, if the backend:<br />Use Unisphere Analyzer, SPA (start with backend and CPU)<br />Check VM alignment (will show excessive stripe crossings)<br />Cache enabled, FAST/FAST Cache settings on the storage pool<br />ensure FAST and SIOC settings are consistent<br />if your VM is compressed with EMC Data deduplication/compression, consider uncompressing it using the plug-in<br />
  52. 52. “I see all these device events in vSphere”<br />How do I know: VM is not performing well and LUN trespasses warning messages in event log<br />What do I do: ensure the right failover mode and policy are used. Ensure you have redundant paths from host to storage system<br />
  53. 53. “Datastore capacity utilization is low/high”<br />How do I know: <br />Managed Datastore Reports in vCenter 4.x<br />Array tools - e.g. Unisphere (vCenter Integration) Report<br />What do I do:<br />Migrate the VM to a datastore that is configured over a virtually provisioned storage. For VMFS datastore, ESX thin provisioning/compress/dedupe can also be utilized<br />For VM on NFS, Data Deduplication can be used via the plug-in to compress the VM when some performance impact is acceptable <br />
  54. 54. “My storage team gives me tiny devices”<br />How do I know: <br />Often I hear “they tell us we can’t get more than 240GB”<br />What do I do:<br />This means you have an “oldey timey” storage team <br />Symmetrix uses hyper devices, and hypers are assembled into meta devices (which then are presented to hosts)<br />Hyper devices have a maximum of 240GB<br />Configuring meta devices is EASY.<br />Engage your array vendor to move your storage team into the 21st century <br />
  55. 55. “What? VAAI isn’t working….”<br />How do I know: Testing Storage VMotion/Cloning with no-offload versus Offload <br />What do I do: <br />Ensure the block storage initiators for the ESX host is configured ALUA on, also ensure the ESX server recognizes the change in the SATP – look at IO bandwidth in vSphere client and storage array.<br />Benefit tends to be higher when svmotion across SPs<br />Biggest benefit isn’t any single operation being faster, but rather overall system (vSphere, network, storage) load lightened<br />
  56. 56. “My NFS based VM is impacted following a storage reboot or failover”<br />How do I know: VM freezes or, even worse, crashes<br />What do I do:<br />Check your ESX NFS timeout settings compare to TechBook recommendations (only needed if the datastore wasn’t created using the plug-in)<br />Review your VM and guest OS settings for resiliency. See TechBook for detailed procedure on VM resiliency<br />
  57. 57. Third – knowing when to break the rules… <br />Top 5 Exceptions for said best practices<br />
  58. 58. 5 Exceptions to the rules<br />Create “planned datastore designs” (rather than big pools and correct after the fact) for larger IO use cases (View, SAP, Oracle, Exchange)<br />Use the VMware + Array Vendor reference architectures.<br />Generally the cases where > 32 HBA queue & consider > 1 vSCSI adapters<br />Over time, SIOC may prove to be a good approach<br />Some relatively rare cases where large spanned VMFS datastores make sense<br />When NOT to use “datastore pools”, but pRDMs (narrow use cases!)<br />MSCS/WSFC<br />Oracle – pRDMs and NFS can do rapid VtoP with array snapshots<br />When NOT to use NMP Round Robin<br />Arrays that are not active/active AND use ALUA using only SCSI-2<br />When NOT to use array thin-provisioned devices<br />Datastores with extremely high amount of small block random IO <br />In FLARE 30, always use storage pools, LUN migrate to thick devices if needed<br />When NOT to use the vCenter plugins? Trick question – always “yes”<br />
  59. 59. Fourth – a peak into the future… <br />Amazing things we’re working on….<br />
  60. 60. 5 Amazing things we’re working on….<br />Storage Policy<br />How should storage inform vSphere of capabilities and state (and vice versa)<br />SIOC and Auto-Tiering complement today, how can we integrate?<br />How can we embed VM-level Encryption?<br />“Bolt-on” vs. “Built for Purpose” using Virtual Appliance constructs<br />EMC has 3 shipping virtual storage appliances (Atmos/VE, Avamar/VE, Networker/VE)<br />Every EMC array is really a cluster of commodity servers with disks<br />What more could we do to make “bolt on value” easier this way? <br />“follow the breadcrumb trail”:<br />Maturing scale-out NAS/pNFS models<br />Desired, not demanded in enterprise, demanded, not desired for scale-out public cloud NAS (EMC has GA’ed pNFS, but vSphere client is still NFSv3)<br />Large-scale, long distance geo-dispersion/federation of transactional workloads<br />VM Teleportation – around the world, at many sites<br />Geo-location to meet FISMA and other standards<br />Making Object storage act transactional – for real<br />Would blend best of all worlds & enable VM-level policy and enforcement.<br />