17.6. Voorbeelden

Vinum houdt een configuratie database bij waarin beschreven staat welke objecten bekend zijn in het systeem. Bij het instellen vult de gebruiker deze database uit één of meer configuratiebestanden vinum(8). Vinum bewaart een kopie van de database op iedere slice (die Vinum device noemt) die door Vinum wordt beheerd. Deze database wordt na iedere statuswijziging bijgewerkt, zodat een na een herstart acuraat de toestand van ieder Vinum object wordt weergegeven.

17.6.1. Het Configuratiebestand

Het configuratiebestand beschijft de individuele vinum objecten. De definitie van een eenvoudig volume kan er zo uitzien:

    drive a device /dev/da3h
    volume myvol
      plex org concat
        sd length 512m drive a

Dit bestand beschrijft vier Vinum objecten:

Na het verwerken van deze definitie ziet de uitvoer van vinum(8) er als volgt uit:

      # vinum -> create config1
      Configuration summary
      Drives:       1 (4 configured)
      Volumes:       1 (4 configured)
      Plexes:       1 (8 configured)
      Subdisks:      1 (16 configured)

       D a                  State: up       Device /dev/da3h       Avail: 2061/2573 MB (80%)

       V myvol              State: up       Plexes:      1  Size:       512 MB

       P myvol.p0          C State: up       Subdisks:    1  Size:       512 MB

       S myvol.p0.s0         State: up       PO:        0 B Size:       512 MB

Deze uitvoer geeft de korte uitvoer van vinum(8) weer. Het is grafisch weergegeven in Figuur 17-4.

Figuur 17-4. Een Eenvoudig Vinum Volume



Deze en de volgende figuren stellen een volume voor dat samenstellingen bevat die weer de subdisks bevatten. In dit triviale voorbeeld bevat het volume een samenstelling en deze samenstelling bevat een subdisk.

Dit speciale volume heeft geen voordeel boven een gewone schijf paritie. Het bevat één samenstelling, dus het is niet redundant. De samenstelling bevat één subdisk, dus er is geen verschil in de plaats van de data met een conventionele schijf partitie. In de volgende paragrafen worden meer interesante configuraties getoond.

17.6.2. Verbeterde Betrouwbaarheid: Spiegelen

De betrouwbaarheid van een volume wordt vergroot door spiegelen. Bij het opzetten van een gespiegeld volume is het van belang dat subdisks van iedere samenstelling op een andere schijf staan, zodat een defecte schijf niet beide samenstellingen beïnvloedt. De volgende configuratie maakt een gespiegeld volume:

       drive b device /dev/da4h
       volume mirror
      plex org concat
       sd length 512m drive a
         plex org concat
           sd length 512m drive b

In dit voorbeeld was het niet nodig om drive a opnieuw te definiëren, omdat Vinum alle objecten bijhoudt in de configuratie database. Na het verwerken van deze definitie, ziet de configuratie er als volgt uit:

        Drives:        2 (4 configured)
        Volumes:        2 (4 configured)
        Plexes:        3 (8 configured)
        Subdisks:      3 (16 configured)

        D a                    State: up        Device /dev/da3h        Avail: 1549/2573 MB (60%)
        D b                    State: up        Device /dev/da4h        Avail: 2061/2573 MB (80%)

    V myvol              State: up        Plexes:      1  Size:        512 MB
    V mirror             State: up        Plexes:      2  Size:        512 MB

    P myvol.p0         C State: up        Subdisks:    1  Size:        512 MB
    P mirror.p0        C State: up        Subdisks:    1  Size:        512 MB
    P mirror.p1        C State: initializing     Subdisks:     1 Size:        512 MB

    S myvol.p0.s0        State: up        PO:        0 B  Size:        512 MB
    S mirror.p0.s0        State: up        PO:        0 B  Size:        512 MB
    S mirror.p1.s0        State: empty    PO:        0 B  Size:        512 MB

Het is grafisch weergegeven in Figuur 17-5.

Figuur 17-5. Een gespiegeld Vinum Volume



In dit voorbeeld bevat iedere samenstelling de volledige 512 MB van de opslagcapaciteit. Net als in het vorige voorbeeld bevat iedere samenstelling slechts één subdisk.

17.6.3. Verbeterde Prestatie

Het gespiegelde volume in het vorige voorbeeld is beter bestand tegen hardware fouten dan een niet-gespiegeld volume, maar de prestaties zijn lager: iedere schrijfactie naar het volume moet op beide schijven worden uitgevoerd, waardoor een groter deel van de bandbreedte van de schijf nodig is. Als prestaties een belangrijke rol spelen, moet er een andere benadering gekozen worden: in plaats van spiegelen wordt de data verdeeld over zoveel mogelijk schijven. De volgende configuratie laat een volume zien waarbij een samenstelling over vier schijven verdeeld is:

      drive c device /dev/da5h
      drive d device /dev/da6h
      volume stripe
      plex org striped 512k
        sd length 128m drive a
        sd length 128m drive b
        sd length 128m drive c
        sd length 128m drive d

Zoals eerder al te zien was, is het niet nodig om drives die al bekend zijn bij Vinum opnieuw te definiëren. Na het verwerken van deze definitie, ziet de configuratie er zo uit:

      Drives:             4 (4 configured)
      Volumes:        3 (4 configured)
      Plexes:             4 (8 configured)
      Subdisks:      7 (16 configured)

   D a                    State: up        Device /dev/da3h        Avail: 1421/2573 MB (55%)
   D b                    State: up        Device /dev/da4h        Avail: 1933/2573 MB (75%)
   D c                    State: up        Device /dev/da5h        Avail: 2445/2573 MB (95%)
   D d                    State: up        Device /dev/da6h        Avail: 2445/2573 MB (95%)

   V myvol                State: up        Plexes:      1  Size:        512 MB
   V mirror               State: up        Plexes:      2  Size:        512 MB
   V striped              State: up        Plexes:      1  Size:        512 MB

   P myvol.p0           C State: up        Subdisks:    1  Size:        512 MB
   P mirror.p0          C State: up        Subdisks:    1  Size:        512 MB
   P mirror.p1          C State: initializing     Subdisks:     1 Size:        512 MB
   P striped.p1           State: up        Subdisks:    1  Size:        512 MB

   S myvol.p0.s0          State: up        PO:        0 B  Size:        512 MB
   S mirror.p0.s0         State: up        PO:        0 B  Size:        512 MB
   S mirror.p1.s0         State: empty     PO:        0 B  Size:        512 MB
   S striped.p0.s0        State: up        PO:        0 B  Size:        128 MB
   S striped.p0.s1        State: up        PO:      512 kB Size:        128 MB
   S striped.p0.s2        State: up        PO:     1024 kB Size:        128 MB
   S striped.p0.s3        State: up        PO:     1536 kB Size:        128 MB

Figuur 17-6. Een verdeeld Vinum Volume



Dit volume wordt weergegeven in Figuur 17-6. De grijstinten geven de positie binnen de samenstelling aan: de lichtste strepen komen het eerst, de donkerste het laatst.

17.6.4. Betrouwbaarheid en Prestaties

Met voldoende hardware is het mogelijk om een volume te bouwen met zowel verbeterde betrouwbaarheid als verbeterde prestaties ten opzichte van een standaard UNIX® partitie. De volgende configuratie is een voorbeeld van zo'n volume:

        volume raid10
      plex org striped 512k
        sd length 102480k drive a
        sd length 102480k drive b
        sd length 102480k drive c
        sd length 102480k drive d
        sd length 102480k drive e
      plex org striped 512k
        sd length 102480k drive c
        sd length 102480k drive d
        sd length 102480k drive e
        sd length 102480k drive a
        sd length 102480k drive b

De subdisks van de tweede samenstelling zijn twee schijven verschoven ten opzichte van die van de eerste samenstelling. Dit zorgt ervoor dat een schrijfactie niet naar dezelfde disks gaat, zelfs niet als die schrijfactie over twee schijven plaatsvindt.

Figuur 17-5 laat deze configuratie zien in grafische vorm.

Figuur 17-7. Een gespiegeld en verdeeld Vinum Volume



Deze en andere documenten kunnen worden gedownload van ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Lees voor vragen over FreeBSD de documentatie alvorens contact te zoeken <questions@FreeBSD.org>.
Vragen over deze documentatie kunnen per e-mail naar<doc@FreeBSD.org>.