Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.
| Beide kanten vorige revisie Vorige revisie Volgende revisie | Vorige revisie | ||
|
installatie_handleidingen:3_node_glusterfs_centos7_cluster [2018/12/23 15:00] abel [diskindeling] |
installatie_handleidingen:3_node_glusterfs_centos7_cluster [2019/01/04 09:13] (huidige) abel [Een 3 Node GlusterFS cluster op CentOS 7] |
||
|---|---|---|---|
| Regel 1: | Regel 1: | ||
| ====== Een 3 Node GlusterFS cluster op CentOS 7 ====== | ====== Een 3 Node GlusterFS cluster op CentOS 7 ====== | ||
| - | <note warning> | + | GlusterFS als oplossing om je storage redundant te maken. Het idee is dat als er een disk, een netwerkkaart een voeding een processor, of alles aan 1 server kapot gaat moet de boel blijven draaien. |
| - | Begin met [[installatie_handleidingen: | + | Begin met [[installatie_handleidingen: |
| + | < | ||
| + | <note warning> | ||
| ===== diskindeling ===== | ===== diskindeling ===== | ||
| Regel 61: | Regel 63: | ||
| Vervolgens maken we op die partitie een volumegroup met logical volumes:\\ | Vervolgens maken we op die partitie een volumegroup met logical volumes:\\ | ||
| '' | '' | ||
| - | vgcreate | + | vgcreate |
| - | De logical volumes __moeten__ | + | Bij thin provisioning maak je eerst een thin pool logical volume aan waarbinnen vervolgens |
| - | Dit betekent ook dat we een schijf altijd in drieën moeten delen om de schijf symetrisch over de servers te verdelen. | + | '' |
| - | Hier wordt het wat ingewikkeld, | + | Nu kunnen |
| + | hoeveel ruimte heeft de thin pool:\\ '' | ||
| + | < | ||
| + | --- Logical | ||
| + | LV Name thin_pool | ||
| + | VG Name glusterVG0 | ||
| + | LV UUID 3u7VPa-omd2-ka05-Ex32-AaFa-Kt0D-tBt9Bj | ||
| + | LV Write Access | ||
| + | LV Creation host, time server2.auriel.nl, 2018-12-23 15:18:19 +0100 | ||
| + | LV Pool metadata | ||
| + | LV Pool data | ||
| + | LV Status | ||
| + | # open 0 | ||
| + | LV Size <3,69 GiB | ||
| + | Allocated pool data 0,00% | ||
| + | Allocated metadata | ||
| + | Current LE 944 | ||
| + | Segments | ||
| + | Allocation | ||
| + | Read ahead sectors | ||
| + | - currently set to | ||
| + | Block device | ||
| + | </ | ||
| - | Nu wordt een glusterfs volume zo groot als de kleinste brick, en een arbitrator | + | dus 994 LE, dat is ongeveer 3900kb per LE. Stel dat we 10 test files gaan neerzetten moet er rekening worden gehouden met ±40kb aan arbitrator |
| - | Hoeveel overprovisioning precies is dus wat vaag, maar uit mijn ervaring met een multipurpose nas kan je dus stellen dat je rekening noet houden met 1/2 gb meta data per tb storage. | + | '' |
| + | < | ||
| + | Rounding up size to full physical extent 1,75 GiB | ||
| + | Logical volume " | ||
| + | </ | ||
| + | '' | ||
| + | < | ||
| + | Rounding up size to full physical extent | ||
| + | Logical volume " | ||
| + | </code> | ||
| + | '' | ||
| + | < | ||
| + | Rounding up size to full physical extent 1,75 GiB | ||
| + | WARNING: Sum of all thin volume sizes (5,25 GiB) exceeds the size of thin pool glusterVG0/ | ||
| + | WARNING: You have not turned on protection against thin pools running out of space. | ||
| + | WARNING: Set activation/ | ||
| + | Logical volume " | ||
| + | </ | ||
| - | '' | + | Hier krijgen we de waarschuwing dat we overprovisioned zijn, maar de logical volume wordt wel aangemaakt. |
| - | + | ||
| - | vervolgens een xfs filesysteem: | + | |
| - | '' | + | |
| + | vervolgens een xfs filesysteem op al die logical volumes:\\ | ||
| + | '' | ||
| + | mkfs -t xfs / | ||
| + | mkfs -t xfs / | ||
| het filesysteem mounten. | het filesysteem mounten. | ||
| - | maak een mountpoint: '' | + | maak de mountpoints:\\ |
| + | '' | ||
| + | mkdir -p / | ||
| + | mkdir -p / | ||
| maak de mount '' | maak de mount '' | ||
| < | < | ||
| - | / | + | / |
| + | /dev/ | ||
| + | / | ||
| </ | </ | ||
| Regel 92: | Regel 139: | ||
| en maak de volume directory aan waar glusterfs uiteindelijk mee gaat werken: | en maak de volume directory aan waar glusterfs uiteindelijk mee gaat werken: | ||
| - | '' | + | '' |
| + | mkdir / | ||
| + | mkdir / | ||
| ===== GlusterFS server installatie ===== | ===== GlusterFS server installatie ===== | ||
| Regel 136: | Regel 184: | ||
| ZONE=trusted | ZONE=trusted | ||
| </ | </ | ||
| - | ==== start een Trusted pool ==== | + | ===== start een Trusted pool ===== |
| Door een probe wordt het cluster geinitieerd. | Door een probe wordt het cluster geinitieerd. | ||
| Regel 161: | Regel 209: | ||
| - | ==== Define en start een GlusterFS volume ==== | + | ===== Define en start een GlusterFS volume |
| - | Nu kan je een GlusterFS volume aanmaken, we hadden al een directory aangemaakt op een gemount logical volume, een zogenaamde " | + | Nu kan je een GlusterFS volume aanmaken, we hadden al een aantal |
| De naamgeving van een brick directory is freeform, en het gebruik van LVM is ook niet perse noodzakelijk. Voor zover ik kan nagaan zou je zelfs de brick kunnen definiëren als een rauw mountpoint, dus zonder de extra directory daarin. | De naamgeving van een brick directory is freeform, en het gebruik van LVM is ook niet perse noodzakelijk. Voor zover ik kan nagaan zou je zelfs de brick kunnen definiëren als een rauw mountpoint, dus zonder de extra directory daarin. | ||
| - | '' | + | '' |
| - | + | ||
| - | In dit geval met 3 nodes zouden we eigenlijk maar 1 copie van alles willen hebben, maar dan bestaat het gevaar van een split brain situatie waarin er geen methode is om aan te tonen welke node over de juiste file waarden beschikt, om toch niet helemaal 3 copien tew hoeven gebruiiken hebben we hier opgegeven | + | |
| < | < | ||
| volume create: gv1: success: please start the volume to access data | volume create: gv1: success: please start the volume to access data | ||
| </ | </ | ||
| + | |||
| + | Het volgende is nodig om te zorgen dat op tijd een andere brick gebruikt wordt als een file een volle brick zou gaan veroorzaken. Zonder deze settings krijg je errors in de trand van "no space left on device" | ||
| + | |||
| + | '' | ||
| + | |||
| + | De waarde is wel belangrijk, want pas als de min-fre-disk berijkt is zal een file naar een andere brick geschreven worden. Dus deze waarde moet gezet worden op de grootte van de te verwachten files. | ||
| + | |||
| + | Bit of a bummer i know. | ||
| + | |||
| En start het volume: | En start het volume: | ||
| - | '' | + | '' |
| < | < | ||
| gluster volume start gv1 | gluster volume start gv1 | ||
| Regel 185: | Regel 240: | ||
| '' | '' | ||
| < | < | ||
| + | |||
| Volume Name: gv1 | Volume Name: gv1 | ||
| - | Type: Replicate | + | Type: Distributed-Replicate |
| - | Volume ID: 5958b2eb-9789-46c3-b882-0c421bf61b9f | + | Volume ID: ea51a568-6f47-47b3-a29d-9ec2edabc04f |
| Status: Started | Status: Started | ||
| Snapshot Count: 0 | Snapshot Count: 0 | ||
| - | Number of Bricks: | + | Number of Bricks: |
| Transport-type: | Transport-type: | ||
| Bricks: | Bricks: | ||
| - | Brick1: server1:/GLUSTER_DATA/brick1/gv1 | + | Brick1: server1:/GLUSTER0_DATA/brick0/gv1 |
| - | Brick2: server2:/GLUSTER_DATA/brick1/gv1 | + | Brick2: server2:/GLUSTER0_DATA/brick0/gv1 |
| - | Brick3: server3:/GLUSTER_DATA/brick1/gv1 (arbiter) | + | Brick3: server3:/GLUSTER0_DATA/ |
| + | Brick4: server1:/ | ||
| + | Brick5: server3:/ | ||
| + | Brick6: server2:/ | ||
| + | Brick7: server2:/ | ||
| + | Brick8: server3:/ | ||
| + | Brick9: server1:/ | ||
| Options Reconfigured: | Options Reconfigured: | ||
| transport.address-family: | transport.address-family: | ||
| Regel 243: | Regel 305: | ||
| controleren : '' | controleren : '' | ||
| < | < | ||
| - | server1:/ | + | server1:/ |
| </ | </ | ||
| Regel 293: | Regel 355: | ||
| https:// | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||