{"id":2512,"date":"2013-01-24T14:01:07","date_gmt":"2013-01-24T20:01:07","guid":{"rendered":"http:\/\/www.jasemccarty.com\/blog\/?p=2512"},"modified":"2013-01-28T20:47:13","modified_gmt":"2013-01-29T02:47:13","slug":"how-does-vsphere-recognize-an-isilon-nfs-datastore-when-using-a-smartconnect-zone-name","status":"publish","type":"post","link":"https:\/\/www.jasemccarty.com\/blog\/how-does-vsphere-recognize-an-isilon-nfs-datastore-when-using-a-smartconnect-zone-name\/","title":{"rendered":"How does vSphere recognize an Isilon NFS Datastore when using a SmartConnect Zone Name?"},"content":{"rendered":"<p>As one of the more Isilon-centric vSpecialists at EMC, I see a lot of questions about leveraging Isilon NFS in vSphere environments.\u00a0 Most of them are around the confusion of how SmartConnect works and the load balancing\/distribution it provides.<\/p>\n<p>Not too long ago, a question arose around mounting NFS exports from an Isilon cluster, and the methods to go about doing that.<\/p>\n<p>Duncan Epping published an article recently titled <strong><a title=\"How does vSphere recognize an NFS datastore?\" href=\"http:\/\/www.yellow-bricks.com\/2013\/01\/21\/how-does-vsphere-recognize-an-nfs-datastore\/\" target=\"_blank\">How does vSphere recognize an NFS datastore?<\/a><\/strong><\/p>\n<p>I am not going to rehash Duncan&#8217;s content, but suffice to say, a combination of the target NAS (by IP, FQDN, or short name) and a complete NFS export path are used to create the UUID of an NFS datastore.\u00a0\u00a0 As Duncan linked in his article, there is another good explanation by the NetApp folks here: <strong><a href=\"https:\/\/communities.netapp.com\/community\/netapp-blogs\/getvirtical\/blog\/2011\/09\/28\/nfs-datastore-uuids-how-they-work-and-what-changed-in-vsphere-5\" target=\"_parent\">NFS Datastore UUIDs:\u00a0 How They Work, and What Changed In vSphere 5<\/a><\/strong><\/p>\n<p>Looking back at my <a title=\"VMware vSphere and EMC Isilon \u2013 One datastore or many?\" href=\"http:\/\/www.jasemccarty.com\/blog\/?p=2014\"><strong>Isilon One Datastore or Many<\/strong> <\/a>post, there are a couple ways to mount NFS presented datastores from an Isilon cluster if vSphere 5 is used.\u00a0 Previous versions of vSphere are limited to a single datastore per IP address and path.<\/p>\n<p>Using vSphere 5, one of the recommended methods is to use a SmartConnect Zone name in conjunction with a given NFS export path.<\/p>\n<p>In my lab, I have 3 Isilon nodes running OneFS 7.0, along with 3 ESXi hosts running vSphere 5.1.\u00a0 The details of the configuration is:<\/p>\n<ul>\n<li>Isilon Cluster running OneFS 7.0.1.1<\/li>\n<li>SmartConnect Zone with the name of mavericks.vlab.jasemccarty.com<\/li>\n<li>SmartConnect Service IP of 192.168.80.80<\/li>\n<li>Pool0 with the range of 192.168.80.81-.83 &amp; 1 external interface for each node<\/li>\n<li>SmartConnect Advanced Connection Policy is Connection Count<\/li>\n<li>NFS export with the following path\n<ul>\n<li>\/ifs\/nfs\/nfsds1<\/li>\n<\/ul>\n<\/li>\n<li>vCenter Server 5.1 on Windows 2008 R2 with Web Client<\/li>\n<li>3 ESXi hosts running vSphere 5.1<\/li>\n<\/ul>\n<p><!--more-->A quick note about the mount point I am using&#8230;\u00a0 By default an Isilon cluster provides the \/ifs NFS export.\u00a0 I typically create folders underneath the \/ifs path, and export them individually.\u00a0 I&#8217;m not 100% certain on VMware&#8217;s support policy on mounting subdirectories from an export, but I&#8217;ve reached out to Cormac Hogan for some clarification. <strong>Update:<\/strong> After speaking w\/Cormac, VMware&#8217;s stance is support is provided by the NAS vendor. Isilon supports mounting subdirectories under the \/ifs mount point.\u00a0 Personally, I have typically created multiple mount points giving me additional flexibility.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs-00.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2544\" alt=\"nfs-00\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs-00.png\" width=\"601\" height=\"245\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs-00.png 1001w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs-00-300x122.png 300w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><\/p>\n<p>One of the biggest issues when mounting NFS datastores (as Duncan mentioned in his post), is ensuring the name (IP\/FQDN) and Path (NFS Export) are named the same across all hosts.\u00a0 <strong>**Wake up call for those using the old vSphere Client- It is easier from the Web Client.**<\/strong><\/p>\n<p>If I mount the SmartConnect Zone Name (<strong>mavericks.vlab.jasemccarty.com<\/strong>) and my NFS mount (<strong>\/ifs\/nfs\/nfsds1<\/strong>) it would look something like this:<\/p>\n<p>Begin by adding the datastore to the cluster (Named HA here)<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2527\" alt=\"nfs01\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs01.png\" width=\"276\" height=\"412\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs01.png 394w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs01-200x300.png 200w\" sizes=\"auto, (max-width: 276px) 100vw, 276px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Give the datastore a name (mavericks-ds1) in this case.<a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2528\" alt=\"nfs02\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs02.png\" width=\"364\" height=\"169\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs02.png 520w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs02-300x139.png 300w\" sizes=\"auto, (max-width: 364px) 100vw, 364px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Select NFS as the type of datastore<a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2529\" alt=\"nfs03\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs03.png\" width=\"529\" height=\"181\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs03.png 755w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs03-300x102.png 300w\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Provide the SmartConnect Zone name as the Server, and the NFS Export as the Folder<a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2530\" alt=\"nfs04\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs04.png\" width=\"371\" height=\"274\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs04.png 530w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs04-300x221.png 300w\" sizes=\"auto, (max-width: 371px) 100vw, 371px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Select all hosts in the cluster to ensure they all have the datastore mounted<br \/>\n(this will ensure they see the same name)<a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2531\" alt=\"nfs05\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs05.png\" width=\"400\" height=\"189\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs05.png 572w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs05-300x141.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Finish<a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2532\" alt=\"nfs06\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs06.png\" width=\"423\" height=\"230\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs06.png 604w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs06-300x163.png 300w\" sizes=\"auto, (max-width: 423px) 100vw, 423px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Now only a single NFS mounted datastore (with the above path) is mounted<a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2533\" alt=\"nfs07\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07.png\" width=\"587\" height=\"260\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07.png 838w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07-300x132.png 300w\" sizes=\"auto, (max-width: 587px) 100vw, 587px\" \/><\/a><\/p>\n<p style=\"text-align: left;\">Looking further, each host sees an <strong>identical mount point<\/strong>.<\/p>\n<p style=\"text-align: left;\"><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07a.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2538\" alt=\"nfs07a\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07a.png\" width=\"716\" height=\"189\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07a.png 1194w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07a-300x79.png 300w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs07a-1024x270.png 1024w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/a> This can also be confirmed from the ESXi console on each host.<a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs091.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-2541\" alt=\"nfs09\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs091.png\" width=\"716\" height=\"396\" srcset=\"https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs091.png 1193w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs091-300x165.png 300w, https:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs091-1024x566.png 1024w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/a>This would lead one to believe that all hosts were talking to a single node.\u00a0 But are they?<\/p>\n<p style=\"text-align: left;\"><a href=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" alt=\"nfs08\" src=\"http:\/\/www.jasemccarty.com\/blog\/wp-content\/uploads\/2013\/01\/nfs08.png\" width=\"484\" height=\"423\" \/><\/a><br \/>\nLooking at the OneFS Web Administration Interface, it is shown that each of the 3 hosts has a separate connection to each of the 3 nodes<\/p>\n<p style=\"text-align: left;\">Because each of these hosts see the same mount point, SmartConnect brings value by providing a load balancing mechanism for NFS based datastores.\u00a0 Even though each host sees the IP for the SmartConnect Zone differently, they all see the mounted NFS export as a single entity.<\/p>\n<p style=\"text-align: left;\">Which Connection Policy is best? That really depends on the environment.\u00a0 Out of the box, Round Robin is the default method.\u00a0 The only intelligence there is basically &#8220;Which IP was handed out last? Ok, here is the next.&#8221;\u00a0 Again, depending on the environment, that may be sufficient.<\/p>\n<p style=\"text-align: left;\">I personally see much more efficiency using one of the other options, which include Connection Count (which I have demonstrated here), CPU Utilization (gives out IPs based on the CPU load\/per node in the cluster), or Network Throughput (based on how much traffic\/per node in the cluster).\u00a0 Each connection policy could be relevant, depending workloads.<\/p>\n<p style=\"text-align: left;\">Another thing to keep in mind, when using a tiered approach, and SmartConnect Advanced, multiple zones can be created, with independent Connection Policies.<\/p>\n<p style=\"text-align: left;\">Hopefully this demonstrates how multiple nodes, with different IP addresses, can be presented to vSphere 5 as a single datastore.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As one of the more Isilon-centric vSpecialists at EMC, I see a lot of questions about leveraging Isilon NFS in vSphere environments.\u00a0 Most of them &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,12],"tags":[35,47,58,124,111],"class_list":["post-2512","post","type-post","status-publish","format-standard","hentry","category-storage-2","category-virtualization","tag-emc","tag-isilon","tag-nfs","tag-smartconnect","tag-vsphere"],"_links":{"self":[{"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/posts\/2512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/comments?post=2512"}],"version-history":[{"count":24,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/posts\/2512\/revisions"}],"predecessor-version":[{"id":2560,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/posts\/2512\/revisions\/2560"}],"wp:attachment":[{"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/media?parent=2512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/categories?post=2512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jasemccarty.com\/blog\/wp-json\/wp\/v2\/tags?post=2512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}