GEOM is een opslagframework aanwezig in FreeBSD 5.0 en later. GEOM staat toegang en controle toe op onder meer klassen, Master Boot Records en BSD-labels door gebruik te maken van diensten of de speciale bestanden gelegen in de map /dev. GEOM ondersteunt verschillende RAID-instellingen en biedt transparante toegang tot het besturingssysteem en de hulpprogramma's. Dankzij de modulaire structuur van GEOM is het mogelijk om verschillende GEOM-modules te verbinden met het framework.

GEOM werd ontwikkeld voor FreeBSD onder leiding van Poul-Henning Kamp en NAI Labs (onderdeel van McAfee).

Blokontwerp 
Omdat GEOM modulair is opgebouwd, is het mogelijk om verschillende modules op elkaar te stapelen. Dit vormt dan een soort ketting met GEOM-lagen.

Voorbeeld:
Een GEOM-mirror module opstapelen met een GEOM-eli (=encryptiemodule) levert een gemirrorde en geëncrypteert volume.

Elke module heeft een consumer (consument) en een provider (leverancier).
Een consument is de "source" (bron) van de module, vaak een fysieke harde schijf. De GEOM-module levert de "output" (uitvoer) provider.
Andere modules kunnen deze provider gebruiken om zelf een ketting aan modules te creëren.

   source → GEOM module → output     === wordt dan ⇒     consumer → GEOM module → provider

Soorten modules 
Opslagmodules
geom_stripe (RAID-0)
geom_mirror (RAID-1)
geom_raid3 (RAID-3)
geom_raid5 (RAID-5)
geom_concat (JBOD)
geom_vinum (RAID-0/1/4/5)
geom_ccd (RAID-0 & RAID-1)

Virtualisatie
geom_md (aanmaken virtuele schijven gebruikmakend van bestand, virtueel geheugen)
geom_nop (maakt een transparante module voor het debuggen en het testen)
geom_gate (maakt een virtuele schijf met behulp van een netwerkschijf)
geom_virstor (laat toe een grotere provider te maken dan zijn consumer)

Compressie en encryptiemodules
geom_eli (GELI, encryptie met AES, Blowfish of 3DES)
geom_bde (GBDE, encryptie met 4 cryptografische barrières)
geom_uzip (ZIP-gecomprimeerde afbeeldingen)

Bestandsysteemmodules
geom_journal (laat toe dat elke provider zijn eigen naam geeft aan zijn partitie)
geom_label (geeft journaling ondersteuning voor UFS)
geom_cache (cachefunctie voor betere prestaties)

Externe links 
 GEOM-voorbeelden
 GEOM tutorial
 Handboek

BSD
Opensourcesoftware en vrije software