GEOM
GEOM är det huvudsakliga lagringsramverket för FreeBSD - operativsystemet . Den är tillgänglig i FreeBSD 5.0 och senare versioner, och ger ett standardiserat sätt att komma åt lagringslager. GEOM är modulärt och tillåter geommoduler att ansluta till ramverket. Till exempel ger modulen geom_mirror RAID1- eller speglingsfunktioner till systemet. Ett antal moduler tillhandahålls som en del av FreeBSD och andra har utvecklats oberoende och distribueras via (t.ex.) GitHub .
GEOM utvecklades för FreeBSD-projektet av Poul-Henning Kamp och NAI Labs , Security Research Division of Network Associates, Inc. under DARPA / SPAWAR -kontrakt N66001-01-C-8035 ("CBOSS"), som en del av DARPA CHATS forskningsprogram. Namnet symboliserar dess inverkan på diskens geometri.
Staplad design
På grund av geoms modulära design kan moduler "staplas" ihop för att bilda en kedja av geomlager. Till exempel, ovanpå geom_mirror-modulen kan en krypteringsmodul läggas till, såsom geom_eli för att tillhandahålla en speglad och krypterad volym. Varje modul har både konsumenter och leverantörer. En leverantör är "källan" till geom-modulen, ofta en fysisk hårddisk men ibland en virtualiserad disk som en minnesdisk. Geommodulen tillhandahåller i sin tur en "utgångsenhet". Andra geommoduler, kallade konsumenter, kan använda denna leverantör för att skapa en kedja av moduler kopplade till varandra.
Källa → geommodul → Utdata
hänvisas till som:
Leverantör → geommodul → Konsument(er)
Till exempel kan modulen geom_mirror använda (som konsument) följande leverantörer: /dev/ada0, /dev/ada1, medan den skapar (som leverantör) en ny enhet som heter /dev/mirror/gm0. I slutet av geomkedjan används ofta ett filsystem för att faktiskt använda geomleverantören för något användbart. Leverantören som skapas av geom-moduler beter sig precis som en fysisk hårddisk och kan som sådan innehålla filsystem som FreeBSD:s ursprungliga Unix-filsystem (UFS).
Tillgängliga moduler
Förvaringsmoduler
- geom_strip ( RAID0 )
- geom_mirror ( RAID1 )
- geom_raid (Stöder RAID-funktionalitet på "software raid"-kontroller)
- geom_raid3 ( RAID3 )
- geom_raid5 ( RAID5 , finns inte i -CURRENT ännu)
- geom_concat (sammankopplande, även kallat spann eller JBOD )
- geom_vinum (legacy volymhanterare med RAID0/1/4/5-stöd)
- geom_ccd (legacy volymhanterare med RAID0 och rudimentärt RAID1-stöd)
Krypterings- och komprimeringsmoduler
- geom_eli (även kallad GELI , tillhandahåller traditionell kryptering med AES , Blowfish , Triple DES eller Camellia -algoritmer. Den kan stödja dataautentisering med MD5 , SHA1 , SHA256 , SHA384 , SHA512 eller RIPEMD160 )
- geom_bde (även kallad GBDE , ledande kryptering med fyra kryptografiska barriärer)
- geom_shsec ( delad hemlig krypteringsmodul)
- geom_uzip (skrivskyddade ZIP- komprimerade bilder)
Filsystemmoduler
- geom_label (låter leverantörer ha sitt eget namn märkt för enkel partitionering)
- geom_journal (lägger till journaliseringsstöd till Unix-filsystemet ( UFS ))
- geom_cache (lägger till cachingstöd för ökad prestanda med RAM som buffertcache)
Diskpartitionering
- geom_flashmap (partitionera delar av t.ex. Flash-minne med antingen offsets eller kontext)
- geom_part (stöder diskpartitionering av GEOM-leverantörer)
- geom_part_apm (stöd för Apple Partition Map )
- geom_part_bsd (stöder BSD disklabel )
- geom_part_bsd64 (stöder 64-bitars varianten av BSD disketiketter, som används av DragonFly BSD )
- geom_part_ebr (stöder Extended boot record )
- geom_part_gpt (stöder GUID-partitionstabell )
- geom_part_ldm (stöder Logical Disk Manager )
- geom_part_mbr (stödjer Master boot record )
- geom_part_vtoc8 (stöder Sun/Solaris VTOC8-disketiketter)
Virtualisering
- geom_mountver (möjliggör monteringsverifiering)
- geom_multipath (stöder Multipath I/O till underliggande diskar)
- geom_nop (skapar en transparent modul som används för felsökning och testning)
- geom_gate (skapar en virtuell disk med nätverksdiskens back-end)
- geom_virstor (tillåter överbelastning av en geom-leverantör genom att skapa en leverantör som är större än dess konsument)
- geom_linux_lvm (läser Linux LVM2 -volymer)
- geom_zero (skapar en dummy-leverantör som absorberar alla skrivningar och returnerar nollor vid läsningar)
externa länkar
- Rhodos, Tom. "GEOM: Modular Disk Transformation Framework" . FreeBSD handbok .
- Kamp, Poul-Henning. "GEOM tutorial" (PDF) . BSDCan 2004 .