SHEEPDOG(8)

πŸ“¦
version 1.0.1 Β· 2 versions
, in fedora 43

πŸ’– SHEEPDOG(8) πŸ’–

okay bestie, listen β€” this is the sheepdog manual page, section 8, straight out of the System Manager's Manual, and we're about to have a moment. ✨


🌸 NAME 🌸

sheepfs β€” a pseudo file system that exports both Sheepdog's internal state as well as Sheepdog's storage. two for one, no cap. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

sheepfs [OPTION]... MOUNTPOINT

✨ DESCRIPTION ✨

so. Sheepdog is a distributed storage system for QEMU, and it serves up highly available block level storage volumes to virtual machines. it's giving main character energy in the storage world fr fr. πŸ’…

Sheepdog also supports some seriously advanced volume management features, like:

  • snapshot
  • cloning
  • thin provisioning

and the architecture? fully symmetric. there is no central node, no meta-data server, nothing acting sus in the middle. everyone's equal, periodt. πŸ‘‘

the crew lineup, since we're being introduced:

  • the server daemon is called sheep(8)
  • a command line utility is available via dog(8)
  • a pseudo file system is available via sheepfs(8)
  • QEMU virtual machines use the sheep daemon via a block driver available in qemu(1)

🧚 so what even IS sheepfs 🧚

Sheepfs is a FUSE-based pseudo file system in userland that lets you access both Sheepdog's internal state (for e.g, cluster info, vdi list) as well as Sheepdog's high reliable storage. it's literally the bestie that speaks both languages. 🫢

the idea here is that it's sometimes useful that we can envision our interaction with a Sheepdog's object in terms of a directory structure and filesystem operations. like, imagine your cluster but make it a folder tree. iconic.


🌈 the volume directory 🌈

people might be mostly interested into sheepfs's volume directory, which exports VM's volume as a pseudo block file in your local file system hierarchy. which can be used as:

  1. a big file abstraction, which is actually backed by Sheepdog's storage, distributed in the cluster.
  2. a loop device file, which you can mount wherever you want to use it as a file system backed up by Sheepdog.
  3. a loop device file for some VM's image, which you want to access(RW) its internal data.
  4. storage media for other hypervisor, such as XEN

and the cherry on top: this file abstraction integrates well into kernel's pagecache. πŸ“


πŸ’… OPTIONS πŸ’…

  • -a, --address β€” specify the sheep address (default: 127.0.0.1)
  • -d, --debug β€” enable debug output (implies -f)
  • -f, --foreground β€” sheepfs run in the foreground
  • -k, --pagecache β€” use local kernel's page cache to access volume
  • -o, --objectcache β€” enable object cache of the connected sheep daemon
  • -p, --port β€” specify the sheep port (default: 7000)
  • -h, --help β€” display this help and exit
lowkey the whole toolkit right there. go pick your faves. 🌸

πŸŽ€ DEPENDENCIES πŸŽ€

Sheepdog requires QEMU 0.13.z or later and Corosync 1.y.z. no older versions bestie, she said what she said. πŸ’€


πŸ—‚οΈ FILES πŸ—‚οΈ

none

(yes, genuinely nothing. the void. the emptiness. it's giving minimalist. πŸ™ˆ)


πŸ‘€ SEE ALSO πŸ‘€

sheep(8), dog(8), qemu(1), corosync_overview(8)


🫢 AUTHORS 🫢

This software is developed by the Sheepdog community which may be reached via mailing list at <sheepdog@lists.wpkg.org>.


and that's the whole page, bestie!! ⭐ this little writeup is from 2025-07-26, and it lives under the SHEEPDOG(8) banner in the System Manager's Manual β€” mwah, go mount something gorgeous. πŸ’–πŸ¦‹βœ¨

πŸ“¦ where this page comes from