Dáta v klaude

  • Ako dá prenajať a využiť diskový priestor
  • Ako spravovať diskový priestor v privátnom klaude

Množstvo potrebného diskového priestoru sa mení - spravidla rastie:

  • je potrebné "prikúpiť" a "zamontovať" disky.
  • čo ak disky už nie sú ptrebné? (napr. projekt skončil).

Je potrebné:

  • pravidelne zlyhané zariadenia, lebo disky sú nespoľahlivé.
  • redundancia - viac kópií tých istých dát.
  • zálohovanie na ochranu pred ľudskou chybou alebo bezpečnostným incidentom.
  • riešiť aj bezpečnosť a prístupové práva.

Celková cena za diskový priestor.

Fixné náklady:

  • Serverovňa, disky, zariadenia

Pohyblivé náklady:

  • Manažment, údržba, elektrická energia

Klasický prístup

  • Ak mám miesto v servri - kúpim disk.
  • Ak mám miesto v serverovni a rozpočet - kúpim server.
  • Ak nemám rozpočet - musím niečo vymazať.
  • Ak nemám miesto v serverovni - postavím serverovňu.

Virtualizácia diskového priestoru

  • Anulujem fixné náklady.
  • Zefektívnim pohyblivé náklady.
  • Zvýšim flexibilitu - platím iba za to čo potrebujem.

Ale niekedy aj tak treba mať vlastný HW.

Pripojenie diskového priestoru

  • blokové zariadenia.
  • súborové systémy.
  • celú aplikáciu - objektové úložisko alebo databáza s aplikačným protokolom.

Virtualizácia na úrovni blokových zariadení

Vo virtuálnom stroji sa "objaví" nový disk

+-----+ +----------+ +----------------+
| App |-| Guest OS |-| App Container  |
+-----+ +----------+ +----------------+
                            |
                        App protocol
                            |
                 +----------------------+
                 | Storage Area Network |
                 +----------------------+

Virtualizácia na úrovni blokových zariadení

  • protocol iSCSI
  • Ceph, Gluster

Virtualizácia na úrovni súborového systému

Do kontajnera si viem namapovať nový adresár

  • sieťové súborové systémy: NFS, SMB
  • distribuované súborové systémy: Gluster, Ceph

Virtualizácia na úrovni súborového systému

+-----+ +----------+ +----------------+
| App |-| Guest OS |-| App Container  |
+-----+ +----------+ +----------------+
            |
        App protocol
            |
 +--------------------------+
 | Network Attached Storage |
 +--------------------------+

Diskový priestor na aplikačnej úrovni

  • object storage: S3, Swift
  • NoSQL databázy
  • Relačné databázy
  • Vyrovnávacie pamäte a brokery: Redis

Aplikácia komunikuje s úložiskom pomocou aplikačného protokolu. Nie je potrebné mapovanie, iba konfigurácia aplikácie.

Diskový priestor na aplikačnej úrovni

+-----+ +----------+ +----------------+
| App |-| Guest OS |-| App Container  |
+-----+ +----------+ +----------------+
    |
App protocol
    |
 +--------------+
 | Data Storage |
 +--------------+

Úložisko na Azure

  • Azure Disks - blokové zariadenie, pripojené ReadWriteOnce
  • Azure File - SMB zložka, pripojená ReadWriteMany
  • Azure Blob Storage - objektové úložisko

Úložisko na AWS

  • Amazon EBS - blokové zariadenie
  • Amazon Elastic File System - sieťový súborový systém
  • Amazon S3 - objektové úložisko

Úložisko na Google

  • Google Cloud Storage - objektové úložisko
  • Google File Store - sieťový súborový systém
  • Google Persistent Disk - blokové zariadenie

Úložisko v serverovni

  • Ceph
  • Gluster
  • Longhorn
  • Minio

Práca so súborovým systémov v systéme Docker

  • Súborový systém je virtuálny
  • Súborový systém sa po reštarte sa vždy vráti do pôvodného stavu
  • kontajner pripojí virtuálny diskový priestor na blokovej úrovni alebo na úrovni FS

Oddelíme:

  • konfigurácia (kde sa naše nachádzajú konfiguračné súbory ktoré sa nemenia)
  • stav (kde sa nachádzajú súbory ktoré sa menia a sú podstatné)
  • aplikácia (všetko ostatné)

Čo je to stav kontajnera?

časť súborového systému ktorá sa mení a ktorá je podstatná aj po reštarte, napr. databáza

Mapovanie adresárov

Vieme pripojiť existujúcu lokálnu zložku do nového kontajnera

Pripojenie aktuálneho adresára:

docker run -it --rm -v .:/home/user bash

Docker pomenovaný zväzok

  • Docker dokáže čiastočne "manažovať" diskový priestor.
  • Špeciálna zložka pod kontrolou Dockera.
docker volume create myvolume
docker run -it --rm -v myvolume:/myvolume bash

Docker Volume Plugin/ Storage Driver

  • Poskytovatelia klaudových služieb používajú vlastné pluginy.
  • Súbory môžu byť uložené kdekoľvek inde.

Zhrnutie

  • Dáta sa v klaudových systémoch nachádzajú na inom mieste ako aplikácia a konfigurácia.
  • Uložisko vieme pripojiť ako blokové zariadenie, sieťový súborový systém alebo použiť osobitnú aplikáciu.
  • V Dockeri musíme namapovať zväzok alebo nakonfigurovať aplikáciu na prístup k dataáze alebo úložisku.
Reload?