22.6. Voorbeelden

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

22.6.1. Het instellingenbestand

Het instellingenbestand beschrijft 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 dit bestand ziet de uitvoer van gvinum(8) er als volgt uit:


      # gvinum -> 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 gvinum(8) weer. Het is grafisch weergegeven in Figuur 22-4.

Figuur 22-4. Een eenvoudig Vinum volume



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

Dit speciale volume heeft geen voordeel boven een gewone schijf partitie. Het bevat één samenstelling, dus het is niet redundant. De samenstelling bevat één subschijf, dus er is geen verschil in de plaats van de gegevens met een conventionele schijfpartitie. In de volgende paragrafen worden meer interessante instellingen getoond.

22.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 subschijven van iedere samenstelling op een andere schijf staan, zodat een defecte schijf niet beide samenstellingen beïnvloedt. De volgende instelling 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 schijf a opnieuw te definiëren, omdat Vinum alle objecten bijhoudt in de instellingendatabase. Na het verwerken van deze definitie, ziet de instelling 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 22-5.

Figuur 22-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 subschijf.

22.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 worden de gegevens verdeeld over zoveel mogelijk schijven. De volgende instelling 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 schijven die al bekend zijn bij Vinum opnieuw te definiëren. Na het verwerken van deze definitie, ziet de instelling 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 22-6. Een verdeeld Vinum volume



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

22.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 instelling 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 subschijven 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 schijven gaat, zelfs niet als die schrijfactie over twee schijven plaatsvindt.

Figuur 22-5 laat deze instelling zien in grafische vorm.

Figuur 22-7. Een gespiegeld en verdeeld Vinum volume