Loading

×Sorry to interrupt
This page has an error. You might just need to refresh it.
[NoErrorObjectAvailable] Uncaught ReferenceError: addCTracking is not defined
Failing descriptor: {markup://c:KM_ArticleThemeLayout}

Refresh

Cookie Preference Center

General Information on cookies

When you visit our website, we use cookies to ensure that we give you the best experience. This information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies by clicking on the different category headings to find out more and change your settings. However, blocking some types of cookies may impact your experience on the site and the services we are able to offer. Further information can be found in our

Cookie Policy.

Strictly Necessary

Strictly Necessary

Always Active

Strictly Necessary

Strictly necessary cookies are always enabled since they are essential for our website to function. They enable core functionality such as security, network management, and website accessibility. You can set your browser to block or alert you about these cookies, but this may affect how the website functions. For more information please visit www.aboutcookies.org or www.allaboutcookies.org.

Cookie Details‎

Performance

Performance

Performance

Performance cookies are used to analyze the user experience to improve our website by collecting and reporting information on how you use it. They allow us to know which pages are the most and least popular, see how visitors move around the site, optimize our website and make it easier to navigate.

Cookie Details‎

Please confirm your settings by refreshing the page.

Functional

Functional

Functional

Functional cookies help us keep track of your past browsing choices so we can improve usability and customize your experience. These cookies enable the website to remember your preferred settings, language preferences, location and other customizable elements such as font or text size. If you do not allow these cookies, then some or all of these services may not function properly.

Cookie Details‎

Advertising

Advertising

Advertising

Advertising cookies are used to send you relevant advertising and promotional information. They may be set through our site by third parties to build a profile of your interests and show you relevant advertisements on other sites. These cookies do not directly store personal information, but their function is based on uniquely identifying your browser and internet device.

Cookie Details‎

Advertising Cookies

Consent Leg.Interest

Select All Vendors

Select All Vendors

Select All Hosts

Select All

Clear Filters

Information storage and access

Apply

Confirm My Choices Reject All Allow All

My Subscriptions

Loading

Knowledge Base

VMFS Heartbeat and usage of ATS (52879)

Last Updated: 7/13/2020Categories: InformationalTotal Views: 32378Language:
Chinese (Simplified)Portuguese (Brazil)JapaneseSpanishEnglish

14 like this article

Subscribe to get an email
newsletter with new updates

14 people found this helpful Please provide article feedback:

Purpose

This KB explains briefly about VMFS Heart Beat (HB), different timeouts associated with Heartbeat and how to use HB to acquire a lock on certain occasions.

Resolution

VMFS Heartbeat:

VMFS being a distributed file system relies on on-disk locks to arbitrate access to shared storage among multiple ESX hosts. VMFS also uses on-disk heartbeat mechanism to indicate liveness of hosts using the shared storage.

VMFS uses on-disk heartbeat (HB) mechanism to indicate liveness of hosts using the file system. All hosts using the shared storage uses ATS to update their HB in a given reason on the disk to indicate they are alive.

In reference to the above diagram:

Every host using a VMFS volume has its own heartbeat slot (1 sector in size) and they update it in the “Heartbeat Region” as shown above.

Among other things, the important information in each heartbeat slot are:

HB state (Slot not-in-use, Slot in active use, Slot is being replayed)

Generation – monotonically increasing number. Changes when HB state changes

Timestamp – Updated on every periodic heartbeat IO

The HB workflow for a given host goes through following states

Acquire HB Slot - A HB slot ( a sector in size) is chosen by the host in the Heartbeat Region to heart beat.

Periodic HB update – This is done using ATS primarily to show the host is alive. In case the HB slot is not updated for a considerable time (> 16 sec) then we assume the host to be dead and start reclaim/recovery process.

HB Reclaim/Recovery – Recovery is initiated on HB if timeout (16s) expires or we see ATS miscompare. In recovery case we halt all outstanding commands on the device.  Rest of the recovery process depends on how the HB slot has changed, e.g

If no other host has cleared or used this HB slot, we start HB normally again

If another host has cleared the HB and HB generation has increased by 1, we start HB normally again

If another host is in process of replaying this HB slot, wait for replay to complete

Clear HB Slot – Clear the HB slot when host exits.

Timeout associated with VMFS Heartbeat:

The various timeout associated with HB are

Periodic heartbeat interval (3s) – Every interval a HB ATS is issued.

HB IO timeout (8s) – Timeout associated with the ATS command for periodic heartbeat update.

HB lease timeout (16s) – Disk lock(s) considered stale if owning host HB is not updated for this duration.

ATS and Heartbeat:

We use SCSI ATS a T10 command (Opcode 0x89, Compare and Write) to update HB. We strongly suggest customer to use ATS for HB as it is atomic and usage can scale. Drawback of not using ATS are

Without ATS, HB update is a simple write without reservation.

Delayed writes pose a problem when a HB IO completes much after the timeout (at the device) and potentially overwrites a newer HB update from another host.

For ATS  support, please check your back end array for ATS support.

Relation between on-disk locks and heartbeat slot in a VMFS volume:

As we have updated earlier VMFS being a distributed file system relies on on-disk locks to arbitrate access to shared storage among multiple ESX hosts. The On-disk locks are 1 sector in size and they immediately precede the metadata they are protecting. Some of the key contents of the on-disk locks are:

Lock type – Identifies the type of metadata this lock is protecting

Lock mode – Identifies whether a lock is free or whether its locked in exclusive/read-only, etc mode

Lock owner – UUID of the host which currently owns the lock

HB address – Address of the HB slot of the owner

Now let’s take an example to understand relationship between on-disk lock and VMSF Heart Beat:

If a particular lock is needed by a host (say HostA) and that lock is currently not free (as per lock mode field) and locked by another host (say Host B, as per lock owner field)
The HB address field enables HostA to observe the HB slot of HostB for a period of time, to determine if HostB is alive or not.
If HostA determines that HostB is not alive (Its HB slot for HostB  has not changed for upto 16s), then HostA can “clear” HostB’s HB slot and break the lock it wanted and go ahead with its operation.

Related Information

For more information, see Disabling hardware accelerated locking (ATS) in ESXi

Detectable by VMware SkylineTM

Actions

Copy

link to clipboard
copied!

Print

Language:
Chinese (Simplified)Portuguese (Brazil)JapaneseSpanishEnglish

Attachments

Additional Resources

KB
•
同一 vCenter 的不同 vmkernel 中可能会显示重复的 MAC 地址 (52035)

Result 1 of 1

Ask The Community

Get answers quickly from VMware experts in the community

Post Subject

CONTINUE IN COMMUNITIES

Related Products:

VMware vSphere ESXi

Related Versions:

Take Our Survey

Support Assistant