22.8. Vinum instellen

De GENERIC kernel bevat geen Vinum. Het is mogelijk een kernel te bouwen waar Vinum in zit, maar dit wordt niet aangeraden. De standaard manier om Vinum te starten is als kernelmodule (kld). Het is zelfs niet nodig om kldload(8) te gebruiken voor Vinum. Als gvinum(8) wordt gestart en de module is niet geladen, dan gebeurt dit alsnog automatisch.

22.8.1. Opstarten

Vinum slaat de instellingeninformatie op de schijfslices op in ongeveer dezelfde vorm als de instellingenbestanden. Bij het lezen van de instellingendatabase herkent Vinum een aantal sleutelwoorden die niet zijn toegestaan in instellingenbestanden. Een schijfinstelling kan bijvoorbeeld de volgende tekst bevatten:

volume myvol state up
volume bigraid state down
plex name myvol.p0 state up org concat vol myvol
plex name myvol.p1 state up org concat vol myvol
plex name myvol.p2 state init org striped 512b vol myvol
plex name bigraid.p0 state initializing org raid5 512b vol bigraid
sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b
sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b
sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b
sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b
sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b
sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b
sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b
sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b
sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b
sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b
sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b

Duidelijke verschillen zijn de aanwezigheid van expliciete locatie informatie en namen (beide zijn toegestaan, maar worden afgeraden) en informatie over de toestand (die niet beschikbaar is voor de gebruiker). Vinum slaat geen informatie over schijven op in de instellingen: het vindt de schijven door de ingestelde schijven te scannen naar partities met een vinum label. Hierdoor kan Vinum zelfs schijven detecteren als ze aan een andere UNIX® schijf worden toegekend.

22.8.1.1. Automatisch opstarten

Gvinum start altijd automatisch op wanneer de kernelmodule eenmaal is geladen, via loader.conf(5). Voeg geom_vinum_load="YES" toe aan /boot/loader.conf om de module GVinum tijdens het opstarten te laden.

Als Vinum met gvinum start wordt gestart, leest Vinum de instellingendatabase van één van de Vinum schijven. Normaal gesproken bevat iedere schijf een identieke kopie van de instellingendatabase. Het maakt dus niet uit welke schijf gelezen wordt. Na een crash moet Vinum echter bepalen welke schijf het laatst is bijgewerkt en de instellingen van die schijf gebruiken. Als het nodig is worden de instellingen van de oudere schijven daarna bijgewerkt, in volgorde van leeftijd.