Search: in
GEOM in Encyclopedia Encyclopedia
  Tutorials     Encyclopedia     Videos     Books     Software     DVDs  


GEOM is the main storage framework for the FreeBSD operating system. It is available in FreeBSD 5.0 and higher and provides a standardized way to access storage layers. GEOM is modular and allows for geom modules to connect to the framework. For example, the geom_mirror module will provide RAID1 or mirroring functionality to the system. A wide range of modules are already available, and new ones are always in active development by various FreeBSD developers.

GEOM was developed for the FreeBSD Project by Poul-Henning Kamp and NAI Labs, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS research program. The name symbolizes its impact on disk geometry.

Stacked design

Because of geom's modular design, modules can be 'stacked' together to form a chain of geom layers. For example, on top of the geom_mirror module an encryption module can be added, such as geom_eli to provide a mirrored and encrypted volume. Each module has both consumers and providers. A consumer is the 'source' of the geom module, often a physical harddrive but sometimes a virtualized disk such as a memory disk. The geom module in turn provides an 'output' device called a provider. Other geom modules can use this provider to create a chain of modules connected to each other.

Source geom module Output

is referred to as:

Consumer(s) geom module Provider

For example, the geom_mirror module may have the following consumers: /dev/ad0, /dev/ad1, while it creates a new provider called /dev/mirror/gm0. At the end of the geom chain, often a filesystem is applied to actually use the geom provider for something useful. The provider created by geom modules behaves just like a physical harddrive and as such can contain filesystems such as FreeBSD's native Unix File System (UFS).

Available modules

Storage modules

  • geom_stripe (RAID0)
  • geom_mirror (RAID1)
  • geom_raid (Supports RAID functionality on "software raid" controllers)
  • geom_raid3 (RAID3)
  • geom raid5 (RAID5, not present in -CURRENT yet)
  • geom_concat (concatenating, also called spanning or JBOD)
  • geom_vinum (legacy volume manager with RAID0/1/4/5 support)
  • geom_ccd (legacy volume manager with RAID0 and rudimentary RAID1 support)

Encryption and compression modules

  • geom_eli (also called GELI, provides traditional encryption using AES, Blowfish, Triple DES or Camellia algorithms. It can support data authentication using MD5, SHA1, SHA256, SHA384, SHA512 or RIPEMD160)
  • geom_bde (also called GBDE, leading edge encryption with four cryptographic barriers)
  • geom_shsec (shared secret encryption module)
  • geom_uzip (read-only ZIP compressed images)

Filesystem modules

  • geom_label (allows providers to have their own name labeled for easy partitioning)
  • geom_journal (adds journaling support to the Unix File System (UFS))
  • geom_cache (adds caching support for increased performance using RAM as buffercache)
  • geom_mbr


  • geom_md (creates virtual disks using file, swap or memory back-end)
  • geom_nop (creates a transparent module used for debugging and testing)
  • geom_gate (creates a virtual disk using network disk back-end)
  • geom_virstor (allows overloading a geom provider by creating a provider larger than its consumer)
  • geom_linux_lvm (reads Linux LVM2 volumes)

External links


Source: Wikipedia | The above article is available under the GNU FDL. | Edit this article

Search for GEOM in Tutorials
Search for GEOM in Encyclopedia
Search for GEOM in Videos
Search for GEOM in Books
Search for GEOM in Software
Search for GEOM in DVDs
Search for GEOM in Store


GEOM in Encyclopedia

Home - Add TutorGig to Your Site - Disclaimer

©2011-2013 All Rights Reserved. Privacy Statement