Skip to content

A client/server LVM-like volume manager with thin-provisioning support

Notifications You must be signed in to change notification settings

vivekkumac/xenvm

 
 

Repository files navigation

xenvm

Build Status Coverage Status

Support tools for a thin lvhd implementation as described in the design doc.

To set up a test environment, run:

$ sudo ./setup.sh

This will

  1. create a sparse file to simulate a large LUN, using /dev/loop0
  2. formats the LUN for "XenVM": this is like LVM only with a built-in redo-log and operation journalling
  3. creates the metadata volumes for a single client host ("host1")
  4. creates 1000 LVs as a micro-benchmark

You can then query the state of the system with:

$ ./xenvm.native lvs
$ ./xenvm.native host-list

In another terminal start the local-allocator:

$ sudo ./local-allocator.native

This will take a few seconds to complete its handshake. You can then type in the name of a dm-device to request more space. Type in djstest-live: you will see it allocate from it local thin-pool, send the update to the master and update the local device mapper device.

To shut everything down run

$ sudo ./clean.sh

Note that a clean shutdown requires local-allocators to be online and responding to the handshake.

About

A client/server LVM-like volume manager with thin-provisioning support

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 94.1%
  • Shell 5.4%
  • Makefile 0.5%