VMware Cloud Community
Gav0
Hot Shot
Hot Shot
Jump to solution

Clusters Sharing Datastores

Hi all,

Are there any performance or other impacts of sharing datastores between 2 HA clusters within the same vcenter (all vsphere5)?

For example if you separated the hosts into separate clusters due to differing network restrictions or ESXi editions (standard vs Enterprise) 

Cluster1

HOST1 + HOST2

DATASTORE1 + DATASTORE2

Cluster2

HOSTA + HOSTB

DATASTORE1 + DATASTORE2

Having started reading the vsphere 5 clustering technical deepdive book I’m not sure how the master in each cluster would behave trying to take ownership of the datastores or how this would affect HA?

I see no reason why hb,poweron and protectedlist files from each cluster could not co-exist on the datastores but I guess don’t understand how the datastore ownership process works or would be affected.

Any clarification on this or other considerations would be much appreciated.  Also it would be good to hear if anyone is running a similar configuration.

many thanks

Please award points to your peers for any correct or helpful answers
Reply
0 Kudos
1 Solution

Accepted Solutions
depping
Leadership
Leadership
Jump to solution

Hi, I'm the author of the book... It is no problem. The "unique identifier" of the cluster is used in the folder structure. This will help avoiding any problems as each cluster will have its own set of files.

View solution in original post

14 Replies
herseyc
Enthusiast
Enthusiast
Jump to solution

It creates a separate directory structure for each cluster under .vSphere-HA on the datastore. So the hb and poweron files are kept separate between clusters.

Hersey

vExpert 2013/2012 :: VCAP5-DCD/VCAP5-DCA/VCAP4-DCA/VCP5,4/EMCISA :: http://www.vhersey.com/ :: Follow me: http://twitter.com/herseyc
Reply
0 Kudos
herseyc
Enthusiast
Enthusiast
Jump to solution

I am currently running this in our school lab environment with 2 clusters managed by the same vCenter with 4 host each.

One cluster is for our management and administration the other is for student environments.  Both clusters access the same shared storage.

Attached is an image of the .vSphere-HA directory structure on one of the Datastores used for Datastore heartbeats by both clusters.

ha-ds.jpg

We cause host failures in the student lab environment cluster regularly to demostrate HA and it works without issue though we have not attempted to fail a host in both clusters at the same time. Think I may test that out at the end of the semester just to see what happens, but I am guessing there should not be any issues.

Hersey

vExpert 2013/2012 :: VCAP5-DCD/VCAP5-DCA/VCAP4-DCA/VCP5,4/EMCISA :: http://www.vhersey.com/ :: Follow me: http://twitter.com/herseyc
depping
Leadership
Leadership
Jump to solution

Hi, I'm the author of the book... It is no problem. The "unique identifier" of the cluster is used in the folder structure. This will help avoiding any problems as each cluster will have its own set of files.

NuggetGTR
VMware Employee
VMware Employee
Jump to solution

Technically there is no impacts in sharing, apart from if a datastore goes you have 2 clusters affected not just I.

Personally I think its just bad practice to share datastores in a prod environment, perfectly fine for test or home lab.

If you have separate clusters for a reason usually security or level of environment then datastores should be separate also, as human error of adding or deleting something they shouldn't can come back and bite you harder than if they werent shared

________________________________________ Blog: http://virtualiseme.net.au VCDX #201 Author of Mastering vRealize Operations Manager
FirstByte
Enthusiast
Enthusiast
Jump to solution

I agree with Mr NUGGETGTR, ie. not recommended for Production environment. I understand it's possible, but surely this is not best practice?

Would you agree that sharing the same storage luns across clusters is not recommended?

Is there any documented best practices around why this type of config is preferred or not?

Example: If you have a cluster dedicated to some business application like Citrix, or Exchange - It has its own cluster, its own hosts, uses its own dedicated networks/vlans, don't you think it should also have its own set of storage luns as well? Why would you share these luns across a different cluster in your VC which might have different purpose, like general servers, or development stuff, or test or even DMZ servers? Surely that's the idea behind segregating your environment into their clusters, is to keep the load separate. The risk of damage is far higher if someone with fat fingers working on a development server on some other cluster, but that has access to the same datastore as your higher priority production app is enough to warrant splitting out storage so that each cluster has its own luns?

And advice/tips would be appreciated

Thanks

Darren

Reply
0 Kudos
depping
Leadership
Leadership
Jump to solution

From a best practice perspective this is indeed NOT recommended. I would always avoid it due to locking issues / performance / human error etc.

Reply
0 Kudos
Gav0
Hot Shot
Hot Shot
Jump to solution

Thanks for the information everyone. Sorry for the late reply but wanted to post an update.

In the ended I created 2 new datastores for the 2 new hosts on a standard edition of esxi.

I do have 2 ent+ clusters sharing 2 datastore clusters but this a temporary solution until an upcoming hardware refresh will make it possible to consolidate into a single cluster.

I havent seen any issues so far but recognise it's not ideal.... 

Please award points to your peers for any correct or helpful answers
Reply
0 Kudos
vmproteau
Enthusiast
Enthusiast
Jump to solution

Coming a little late but saying something is not a best practice is not to say it isn't an perfectly acceptable practice. It is more a matter of business and environmental requirements, the level of your staff's technical ability, host and storage hardware capabilities, etc. In some environments, sharing datastores across clusters will be a bad idea while ideal for others.

You're correct FirstByte that in the design situations you descibe isolating datastores with their clusters makes sense. However, your cluster separation may be driven only by licensing or hardware (i.e. EVC baselines). In these cases, sharing storage across datastores may be preferred and possibly simplify configuration.

For small to medium 4.x and earlier environments, providing you understand the configuration maximums, locking thresholds, and storage hardware capabilites, sharing datastores is perfectly acceptable. As environments get much larger this, of course, deserves closer scrutiny.

Duncan: With respect to sharing datastores in 5.x, a colleague did point out this "Clustering Technical Deepdive" quote with respect to sharing datastores (below with my questions).

Chapter 3 - Fundamental Concepts" and it is determined by the redesign of the HA stack (master/slaves). The master on each cluster will try to take ownership of all the datastores it can access. This will introduce a risk factor in case of an HA event.

Basic Design Principle

To maximize the chance of restarting virtual machines after a failure we recommend masking datastores on a cluster basis. Although sharing of datastores across clusters will work, it will increase complexity from an administrative perspective."

  1. What is the introduced risk factor you refer to at the end of the first staement?
  2. Can you explain "maximize the chnace of restarting virtual machines after failures" and how it relates to shared datastores?
  3. With versions of ESX 4.x an earlier, I personally found it less complex administratively to share datastores across clusters at least no more complex. Can you expound on that a bit.
Reply
0 Kudos
vrm
Contributor
Contributor
Jump to solution

What if the clusters are managed by two vCenters (1x 5.0 and 1x 5.5) and the two vCenters are not aware of each other. Is this supported? The 5.0 hosts will be migrated to the vCenter 5.5 and will be upgrade to ESXi5.5.

Vincent

Reply
0 Kudos
vmproteau
Enthusiast
Enthusiast
Jump to solution

We are planning a similar migration. I don't see any issues with Hosts from both vCenters sharing the same datastores. The only potential conflict I can see would be related to any datastore clusters set for "Fully Automated" sDRS. I wouldn't think you would want both vCenters to have "Fully Automated" sDRS. That would seem to open up the possibility of a sort of split brain scenerio or at least invite conflict.

At minimum, you would want to set the desitination datastore clusters sDRS to "Manual Mode" intiially. At some point during the migration (perhaps when the bulk of the environment has been moved to the vSphere 5.5 server), you could reverse it setting source side datastore clusters to "Manual Mode" and the destination side to "Fully Automated". If you wanted to further reduce potential conflict, you could set both sides to "Manual Mode" for the duration of the migration.

Reply
0 Kudos
vrm
Contributor
Contributor
Jump to solution

Thank you for the answer.

Reply
0 Kudos
pan1268
Enthusiast
Enthusiast
Jump to solution

Hi Duncan,

First of all apologies for responding to a very old post.

May I please ask you do we have the same problem for locking and performance on NFS data stores also. Basically would need your advice if sharing of NFS data store across cluster  will create more harm than good.

Cheers

Reply
0 Kudos
zeplacas
Contributor
Contributor
Jump to solution

Hello to all,

One more thing, is there any vmware doc or KB that states that is supported to share datastores across clusters (even for migration purposes).

My concern ... possible scssi locks.. (vc and esxi 6.5,7)

Regards,

JC

Reply
0 Kudos