Xen 
 
Home Products Support Community News
 
   

There are a number of ways to set up Copy-On-Write (COW) filesystem functionality.

  • The latest Xen unstable contains blktap support for sparse qcow images from the QEMU project. It also includes tools to create file-backed or self-contained qcow images. See the README

  • One that has been used by a couple people on the xen-users mailing list is UnionFS.

    • GinoLedesma has done the same, but using an initrd. Some of his notes are gathered under GinoUnionCOW. The basic idea is to export two block device to each user domain. One device is used as the read-only base filesystem, and the other is read-write, and stores the changes. The read-write filesystem is stacked atop the read-only filesystem using UnionFS. An initrd is used to enable the r/w filesystem before the init scripts.

    • InstructionsFromMichaelLang explains how to set up COW on RHEL4, without the use of an initrd.

  • Gino also mentions mini_fo, noting

    • this doesn't support overlaying an NFS exported volume yet
    • it has some caching issues he's looking into.
  • Parallax is a cluster storage system under development by the Xen team. It includes COW and snapshot features.

  • CowNFS: "a general purpose userspace NFS daemon with the ability to dynamically stack file hierarchies over each other. Different layers can be configured as writable or as read-only, and in the latter case changes are made to a writable overlay in a copy-on-write fashion."

  • According to MichaelVrable, it is also possible to use LVM snapshots for this purpose. See his mailing list message about Xen & Automated Disk Management for Domains. This is used on the Xen Demo CD. It contains some scripts to set up a backing storage as a writeable overlay to a read-only filesystem image. Another script allows using "cow:" as block device type in a Xen VM config. For more information see Tim's posting here.

  • Yet another possibility is BenRin's Copy-on-Write md device.

  • One more possibilty is Translucency.

  • Also, try DmUserspace

COWHowTo (last edited 2007-06-17 03:32:28 by ktheory)