Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Storage presentation
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Disappointment industries™
Storage presentation
Commits
acf1e1d8
Commit
acf1e1d8
authored
Sep 10, 2022
by
Tóth Miklós Tibor
Browse files
Options
Downloads
Patches
Plain Diff
Minor rewrite
parent
f7b8d382
No related branches found
No related tags found
No related merge requests found
Pipeline
#41360
passed
Sep 10, 2022
Stage: 🔨
Stage: 📦
Stage: ☸
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
prez.md
+125
-21
125 additions, 21 deletions
prez.md
with
125 additions
and
21 deletions
prez.md
+
125
−
21
View file @
acf1e1d8
...
@@ -33,6 +33,11 @@ section::after {
...
@@ -33,6 +33,11 @@ section::after {
Tóth Miklós
Tóth Miklós
<!--
Sziasztok! Örülök, hogy ennyien vagytok itt.
Pár menő adattárolási technológiáról fogok beszélni, remélem tudok mindenkinek valami újat mutatni.
-->
---
---
## `whoami`
## `whoami`
...
@@ -43,6 +48,13 @@ Tóth Miklós
...
@@ -43,6 +48,13 @@ Tóth Miklós
-
Storage enthusiast
-
Storage enthusiast
-
Home lab 😎
-
Home lab 😎
<!--
Mike-ként ismerhettek, a Sysadminban Vezető Rendszergazda vagyok,
emellett már relatív régóta foglalkozok Linux-szal és DevOps-szal,
mind munkában, mind homelabban, mind KSZK-ban és természetesen eléggé
érdekel az adattárolás.
-->
---
---
## Tartalom
## Tartalom
...
@@ -52,7 +64,13 @@ Tóth Miklós
...
@@ -52,7 +64,13 @@ Tóth Miklós
-
menő technológiák
-
menő technológiák
-
egy konkrét implementáció
-
egy konkrét implementáció
<!--
Szó lesz arról, hogy miért érdemes ezzel foglalkozni,
pár alap adattárolási fogalomról és technológiáról,
eztán vadabb vizekre evezünk és bemutatok pár menő,
az iparban is használt technológiát és végül azt, hogy
az új storage szervereinket hogyan setupoltuk a KSZK-ban.
-->
---
---
<!-- _class: [lead, invert] -->
<!-- _class: [lead, invert] -->
...
@@ -73,11 +91,31 @@ Mi lesz, ha megnő a felhasználók száma?
...
@@ -73,11 +91,31 @@ Mi lesz, ha megnő a felhasználók száma?
**OK, akkor egy storage appliance már biztos elég lesz!**
**OK, akkor egy storage appliance már biztos elég lesz!**
Vendor lock-in? 10 év múlva hogyan tovább?
Vendor lock-in? 10 év múlva hogyan tovább?
<!--
Szóval, miért?
Felvetődhet bennünk pár kérdés, amikor megtervezzük azt, hogy hol is fogjuk tárolni az adatainket.
(diasor)
Szóval, röviden, sok más indok mellett emiatt érdemes gondolkodni storage megoldásokon.
-->
---
---
<!-- _class: [lead, invert] -->
<!-- _class: [lead, invert] -->
# Alapok
# Alapok
<!--
Először is egy kis közvélemény kutatással kezdeném:
-
Ki hallott már RAID-ről? (nem kell mélyen tudni)
-
ZFS-ről?
-
Klaszterekről?
-
Ceph?
(reakció, köszi)
Haladjuk is tovább...
-->
---
---
## Block device
## Block device
...
@@ -87,6 +125,19 @@ Vendor lock-in? 10 év múlva hogyan tovább?
...
@@ -87,6 +125,19 @@ Vendor lock-in? 10 év múlva hogyan tovább?
-
lehet máshol fizikailag vagy akár virtuális
-
lehet máshol fizikailag vagy akár virtuális
-
kernel kezeli
-
kernel kezeli
<!--
Párszor használni fogom a block device kifejezést.
Linuxon block device-nak hívunk általánosságban minden olyan eszközt,
legyen az valódi vagy virtuális, ami blokkonként írható-olvasható.
Így az összes diszk blokkonként (akár hívjuk azt szektornak vagy lapnak)
használható.
Sok virtuális block device van, például ha LUKS-sal titkosítunk
egy diszket vagy partíciót, akkor az feloldott titkosított meghajtó egy külön
block device-ként jelenik meg.
Még annyit érdemes megjegyezni, hogy minden block művelet a kernelbe fut be,
ott van az a logika, ami eldönti, hogy ilyenkor mi történjen.
-->
---
---
## RAID
## RAID
...
@@ -95,6 +146,13 @@ Vendor lock-in? 10 év múlva hogyan tovább?
...
@@ -95,6 +146,13 @@ Vendor lock-in? 10 év múlva hogyan tovább?
-
egy diszk sokszor nem elég nagy
-
egy diszk sokszor nem elég nagy
-
több diszk kevesebb eséllyel hal meg egyszerre
-
több diszk kevesebb eséllyel hal meg egyszerre
<!--
Szóval, RAID.
Erről már sokan hallottatok, a RAID annyit tud,
hogy (akár hardveresen, akár szoftveresen)
pár standard módon összekombinálunk több diszket egy block device-szá.
-->
---
---
### RAID-0
### RAID-0
...
@@ -104,6 +162,12 @@ Vendor lock-in? 10 év múlva hogyan tovább?
...
@@ -104,6 +162,12 @@ Vendor lock-in? 10 év múlva hogyan tovább?


<!--
RAID-0. Itt nem az adat védelmét részesítjük előnyben, hanem a kapacitást és sebességet.
Az adatot gyakorlatilag blokkonként félbevágva, egyszerre több diszkre írjuk vagy olvassuk.
Ennek hátránya, hogy ha bármelyik diszk meghibásodik, minden adatnak annyi.
-->
---
---
### RAID-1
### RAID-1
...
@@ -112,6 +176,10 @@ Vendor lock-in? 10 év múlva hogyan tovább?
...
@@ -112,6 +176,10 @@ Vendor lock-in? 10 év múlva hogyan tovább?
-
n-szer redundánsabb (n-1 diszk eshet ki)
-
n-szer redundánsabb (n-1 diszk eshet ki)


<!--
RAID-1. Ez kvázi egy inverz RAID-0.
Egy diszknyi területet kapunk, de minél több diszket teszünk bele, annál több meghalhat.
-->
---
---
...
@@ -122,6 +190,15 @@ Vendor lock-in? 10 év múlva hogyan tovább?
...
@@ -122,6 +190,15 @@ Vendor lock-in? 10 év múlva hogyan tovább?


<!--
A RAID-5 már picit okosabb megoldás, itt van egy diszk paritás,
amire valamilyen algoritmussal (egy triviális példa az xor)
számolunk egy értéket, amivel egy másik diszk kiesése mellett
vissza tudjuk szerezni az adott blokkot.
Itt egy diszknyi kapacitást vesztünk, és szintén egy diszknyi redundanciát kapunk.
-->
---
---
...
@@ -132,6 +209,10 @@ Vendor lock-in? 10 év múlva hogyan tovább?
...
@@ -132,6 +209,10 @@ Vendor lock-in? 10 év múlva hogyan tovább?


<!--
A RAID-6 pedig ugyanez, de két paritás diszkkel.
-->
---
---
## Bitrot
## Bitrot
...
@@ -218,9 +299,9 @@ disk1: ...011010<span class="bad">1</span>001100101011011000110110001101111...
...
@@ -218,9 +299,9 @@ disk1: ...011010<span class="bad">1</span>001100101011011000110110001101111...
#### Checksumming
#### Checksumming
-
néhány blokkonként számol egy checksum-ot, amit eltárol az adat mellé
-
néhány blokkonként számol egy checksum-ot, amit eltárol az adat mellé
-
ha
bitrot miatt
egy blokkból 2 verzió lesz, akkor
amire passzol a checksum, az a jó verzió
-
ha egy blokkból 2 verzió lesz, akkor
checksum check
-
minimális overhead
-
minimális overhead
-
scrub
: arra utasítja a ZFS-t, hogy nézze át a poolban lévő összes adatot és ahol bitrot volt, javítsa ki (ha tudja)
-
scrub
-
jelzi a hibákat, ebből látható jövőbeni diszk halál
-
jelzi a hibákat, ebből látható jövőbeni diszk halál
---
---
...
@@ -314,20 +395,50 @@ storage/test 40.3M 2.32T 40.3M /storage/test
...
@@ -314,20 +395,50 @@ storage/test 40.3M 2.32T 40.3M /storage/test
-
Ceph
-
Ceph
-
GlusterFS
-
GlusterFS
-
DRBD (és Linstor)
-
DRBD (és Linstor)
-
**nem backup**
-
"split brain" probléma; quorum
-
"split brain" probléma; quorum
<!--
Ha több, mint egy teljes gépnyi redundancia kell, akkor a storage klaszterek
felé fordulhatunk. Ezek segítségével egy vagy több gép kiesése mellett is
(akár tervezett, mint egy update, akár nem)
zavartalanul kezelhetjük az adataink és a gép újjáélesztése után
visszaszinkronizálódik az adat.
(diasor)
-->
---
## Quorum
-
2 node:
-
egyik gép meghal, OK
-
másik gép meghal, OK
-
háló problémák?
-
szavazótöbbség, tranzakciók
<!--
Felmerül még a split brain probléma is a páros számú gépekből álló klaszterekben.
Képzeljük el azt, hogy az egyik gép kiesik, ilyenkor a másik gép önmaga átveszi a feladatokat, ugyanez fordítva is megtörténik.
De mi van akkor, ha egyik gép se hal meg, viszont kettejük között
hálózati gubanc van. Ekkor mind a két gép megpróbálja egyedül vinni
az összes feladatot és ekkor divergálni fog az adat.
Erre egy megoldás a quorum, vagy szavazótöbbség, amikor a gépek több, mint fele
vissza kell igazolja a műveleteket ahhoz, hogy azok véhez menjenek. Ehhez 3 vagy több gép kell.
-->
---
---
## Ceph
## Ceph
-
"
state
of
the
art"
megoldás, a leggazdagabb feature-ökben
-
"
state
of
the
art"
megoldás
-
objektumokat tárol
:
blokk, fájl vagy bármi más is lehet
-
objektumok, nem blokk vagy file
-
a klaszterben minden diszk egyesével szerepel, node szinten nincsen RAID
-
a klaszterben minden diszk egyesével szerepel
-
mon
:
koordináló service; quorum
-
mon + osd (+ mgr + mds + egyebek)
-
osd
:
egy-egy diszk
-
CRUSH
-
CRUSH
:
az algoritmus ami a klaszterben szétdobja az adatokat
- pl
:
legyen ugyanabban a rackben, de külön gépeken 2 másolat
---
---
...
@@ -347,11 +458,10 @@ storage/test 40.3M 2.32T 40.3M /storage/test
...
@@ -347,11 +458,10 @@ storage/test 40.3M 2.32T 40.3M /storage/test
## GlusterFS
## GlusterFS
-
nagyon
minimalista
-
minimalista
-
fájlonk
ént dolgozik, fájlokként is tárolja az adatot
-
fájlonk
at kezel, FS
-
a backing fájlrendszer előnyeit megkapja
-
a backing fájlrendszer előnyeit megkapja
-
node és brick van
-
node és brick
-
node-on belüli redundancia a backing fájlrendszer feladata
---
---
...
@@ -376,7 +486,7 @@ storage/test 40.3M 2.32T 40.3M /storage/test
...
@@ -376,7 +486,7 @@ storage/test 40.3M 2.32T 40.3M /storage/test
-
nagyon régóta létezik, robosztus
-
nagyon régóta létezik, robosztus
-
"
hálózati
RAID-1"
-
"
hálózati
RAID-1"
-
node-on belüli redundancia a backing block device feladata
-
node-on belüli redundancia a backing block device feladata
-
diskless node
:
a quorum része, de adatot nem tárol (viszont elérheti)
-
diskless node
---
---
...
@@ -448,12 +558,6 @@ storage/test 40.3M 2.32T 40.3M /storage/test
...
@@ -448,12 +558,6 @@ storage/test 40.3M 2.32T 40.3M /storage/test
---
---
### Demo
TODO
---
### Hova tovább?
### Hova tovább?
-
network upgrade
-
network upgrade
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment