<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <!-- This file is autogenerated from locking.html.in Do not edit this file. Changes will be lost. --> <!-- This page was generated at Tue Jul 2 19:50:19 UTC 2019. --> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <link rel="stylesheet" type="text/css" href="main.css"/> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/> <link rel="manifest" href="/manifest.json"/> <meta name="theme-color" content="#ffffff"/> <title>libvirt: Virtual machine lock manager</title> <meta name="description" content="libvirt, virtualization, virtualization API"/> <script type="text/javascript" src="js/main.js"> <!--// forces non-empty element--> </script> </head> <body onload="pageload()"> <div id="body"> <div id="content"> <h1>Virtual machine lock manager</h1> <ul> <li> <a href="#plugins">Lock manager plugins</a> </li> </ul> <p> Libvirt includes a framework for ensuring mutual exclusion between virtual machines using host resources. Typically this is used to prevent two VM processes from having concurrent write access to the same disk image, as this would result in data corruption if the guest was not using a cluster aware filesystem. </p> <h2> <a id="plugins">Lock manager plugins</a> <a class="headerlink" href="#plugins" title="Permalink to this headline">ΒΆ</a> </h2> <p> The lock manager framework has a pluggable architecture, to allow different locking technologies to be used. </p> <dl> <dt> <code>nop</code> </dt> <dd>This is a "no op" implementation which does absolutely nothing. This can be used if mutual exclusion between virtual machines is not required, or if it is being solved at another level in the management stack.</dd> <dt> <code> <a href="locking-lockd.html">lockd</a> </code> </dt> <dd>This is the current preferred implementation shipped with libvirt. It uses the <code>virtlockd</code> daemon to manage locks using the POSIX fcntl() advisory locking capability. As such it requires a shared filesystem of some kind be accessible to all hosts which share the same image storage.</dd> <dt> <code> <a href="locking-sanlock.html">sanlock</a> </code> </dt> <dd>This is an alternative implementation preferred by the oVirt project. It uses a disk paxos algorithm for maintaining continuously renewed leases. In the default setup it requires some shared filesystem, but it is possible to use it in a manual mode where the management application creates leases in SAN storage volumes. </dd> </dl> </div> </div> <div id="nav"> <div id="home"> <a href="index.html">Home</a> </div> <div id="jumplinks"> <ul> <li> <a href="downloads.html">Download</a> </li> <li> <a href="contribute.html">Contribute</a> </li> <li> <a href="docs.html">Docs</a> </li> </ul> </div> <div id="search"> <form id="simplesearch" action="https://www.google.com/search" enctype="application/x-www-form-urlencoded" method="get"> <div> <input id="searchsite" name="sitesearch" type="hidden" value="libvirt.org"/> <input id="searchq" name="q" type="text" size="12" value=""/> <input name="submit" type="submit" value="Go"/> </div> </form> <div id="advancedsearch"> <span> <input type="radio" name="what" id="whatwebsite" checked="checked" value="website"/> <label for="whatwebsite">Website</label> </span> <span> <input type="radio" name="what" id="whatwiki" value="wiki"/> <label for="whatwiki">Wiki</label> </span> <span> <input type="radio" name="what" id="whatdevs" value="devs"/> <label for="whatdevs">Developers list</label> </span> <span> <input type="radio" name="what" id="whatusers" value="users"/> <label for="whatusers">Users list</label> </span> </div> </div> </div> <div id="footer"> <div id="contact"> <h3>Contact</h3> <ul> <li> <a href="contact.html#email">email</a> </li> <li> <a href="contact.html#irc">irc</a> </li> </ul> </div> <div id="community"> <h3>Community</h3> <ul> <li> <a href="https://twitter.com/hashtag/libvirt">twitter</a> </li> <li> <a href="http://stackoverflow.com/questions/tagged/libvirt">stackoverflow</a> </li> <li> <a href="http://serverfault.com/questions/tagged/libvirt">serverfault</a> </li> </ul> </div> <div id="conduct"> Participants in the libvirt project agree to abide by <a href="governance.html#codeofconduct">the project code of conduct</a></div> <br class="clear"/> </div> </body> </html>