22.6. Voorbeelden
Terug | Hoofdstuk 22. De VINUM volumebeheerder | Volgende

## 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:

- De drive regel beschrijft een partitie (drive) en de relatieve positie ten opzichte van de onderliggende hardware. Het heeft de symbolische naam a. Deze scheiding van de symbolische naam van de schijf maakt het mogelijk om schijven te verplaatsen van de ene locatie naar de andere, zonder verwarring te veroorzaken.

- De volume regel beschrijft een volume. Het enige benodigde attribuut is de naam: myvol.

- De plex regel beschrijft een samenstelling. Het enige benodigde attribuut is de organisatie, in dit geval concat. Er is geen naam nodig: het systeem genereert automatisch een naam door .p x aan de volumenaam toe te voegen, waarbij x het nummer van de samenstelling in het volume is. De naam van deze samenstelling wordt dus myvol.p0.

- De sd regel beschrijft een subschijf. De minimale specificaties zijn de naam van een schijf waar de subschijf kan worden opgeslagen en de lengte van de subschijf. Net als bij een samenstelling is er geen naam nodig: het systeem genereert automatisch een naam door .s x aan de samenstellingnaam toe te voegen, waarbij x het nummer van de subschijf is. De naam van deze subschijf is dus myvol.p0.s0.

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 Afbeelding 22.4, “Een eenvoudig Vinum volume”.

Afbeelding 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 Afbeelding 22.5, “Een gespiegeld Vinum volume”.

Afbeelding 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

Afbeelding 22.6. Een verdeeld Vinum volume

Dit volume wordt weergegeven in Afbeelding 22.6, “Een verdeeld Vinum volume”. 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.

Afbeelding 22.5, “Een gespiegeld Vinum volume” laat deze instelling zien in grafische vorm.

Afbeelding 22.7. Een gespiegeld en verdeeld Vinum volume

Terug | Omhoog | Volgende
22.5. Vinum objecten | Begin | 22.7. Objectnamen