gvirstor is a virtual storage device for FreeBSD sponsored by Google's Summer of Code 2006 program. Here is a short list of features gvirstor provides:

  • Creates storage devices in "overcommit" mode, larger than physically available storage
  • Can create devices of arbitrary size, upto 2^63 bytes, with arbitrary chunk (extent) size
  • Notifies via kernel-syslog mechanism when used-up storage approaches available storage (watermark values for these warnings are controllable with sysctls)
  • Allows adding new storage devices (components) at runtime, when virstor device is "hot"
  • Allows removing storage devices (components) at runtime, when they are unused and at the end of list of added components
  • Updates virstor allocation table (i.e. metadata) synchronously with write requests (all considerations with drive caches still remain, but if the drive doesn't lie, the data is safe)
The gvirstor homepage is located in FreeBSD's wiki. It is considered stable and safe to use, and will be committed to FreeBSD's CVS soon.