# 💾 Storage infrastruktura ## Typy úložišť | Typ | Popis | Latence | Use case | |-----|-------|---------|----------| | **DAS** (Direct Attached) | Disky přímo v serveru | <0.1 ms | OS, cache, lokální data | | **SAN** (Storage Area Network) | Bloková zařízení po síti | <1 ms | Databáze, VM datastory | | **NAS** (Network Attached Storage) | Souborový přístup (NFS, SMB) | 1-3 ms | Sdílené soubory, home dirs | | **Object storage** | REST API, flat namespace | 10-100 ms | Zálohy, media, big data | ## Protokoly | Protokol | Typ | Rychlost | Poznámka | |----------|-----|----------|----------| | **Fibre Channel** | SAN | 8/16/32/64 Gbps | Nízká latence, dedikovaná síť | | **iSCSI** | SAN (IP) | 1/10/25 GbE | Levnější, po ethernetu | | **NVMe-oF** | SAN (NVMe) | 25/50/100 GbE | Nejnižší latence, emerging | | **NFS** | NAS | 1/10/25 GbE | Univerzální, jednoduchý | | **SMB/CIFS** | NAS | 1/10/25 GbE | Windows native | | **S3 API** | Object | — | Standard pro object storage | ## RAID | RAID | Min. disků | Kapacita | Ochrana | Rychlost čtení | Rychlost zápisu | Use case | |------|-----------|----------|---------|---------------|----------------|----------| | **0** | 2 | 100 % | Žádná | N × (striping) | N × | Temp data, cache (risky) | | **1** | 2 | 50 % | 1 disk | N × (mirror) | 1 × | OS disk, kritická data | | **5** | 3 | 67-94 % | 1 disk | N-1 × | N-1 × (parity write penalty) | Univerzální file/VM storage | | **6** | 4 | 50-88 % | 2 disky | N-2 × | N-2 × (double parity) | Velké kapacity, důležitá data | | **10** | 4 | 50 % | 1/mirror | N × | N/2 × | Databáze, VM, high-performance | | **50** | 6 | 67-94 % | 1/stripe | N-1 × | N-1 × | Large capacity + performance | | **60** | 8 | 50-88 % | 2/stripe | N-2 × | N-2 × | Enterprise | ### Stripe size - Malý stripe (16-64 KB) — lepší IOPS, horší throughput (databáze, OLTP) - Velký stripe (128-1024 KB) — lepší throughput, horší IOPS (video, media, backup) - Write hole u RAID 5/6: při výpadku během zápisu parity je metadata nekonzistentní (prevence: non-volatile cache, battery-backed RAID controller) ## Software-Defined Storage (SDS) | Nástroj | Typ | Use case | |---------|-----|----------| | **Ceph** | Object/Block/File (RADOS) | Univerzální SDS, OpenStack, Kubernetes | | **MinIO** | Object (S3 API) | High-performance S3, AI/ML data lake | | **GlusterFS** | Distributed File | Shared filesystem, POSIX | | **Longhorn** | Block (Kubernetes) | K8s PVC, mikroservisy | | **Linstor** | Block (DRBD + LVM) | Linux SDS, Kubernetes | | **VMware vSAN** | Block (HCI) | VMware ecosystem | | **StarWind** | Block (HCI) | Hyper-V / VMware | ### Ceph **Architektura**: ``` RADOS (Reliable Autonomic Distributed Object Store) ├── Monitors (MON) — cluster map, quorum (3/5) ├── Managers (MGR) — dashboard, balancer, orchestrator ├── OSDs (Object Storage Daemons) — data + replikace └── MDS (Metadata Server) — pouze pro CephFS ``` **CRUSH map** (Controlled Replication Under Scalable Hashing): - Algoritmus pro výpočet umístění dat (žádný centrální index) - Vrstvy: Root → Datacenter → Rack → Host → OSD - Failure domain: replikace napříč racky / hosty - `ceph osd crush rule create-replicated replicated_rule default host` **Přístupová rozhraní**: | Rozhraní | Typ | Use case | |----------|-----|----------| | **RBD** (RADOS Block Device) | Block | VM images, Kubernetes PVC (csi-rbd) | | **RGW** (RADOS Gateway) | Object (S3/Swift API) | S3-kompatibilní storage, backup | | **CephFS** | File (POSIX) | Shared filesystem, home dirs | | **NFS-Ganesha** | File (NFS) | NFS export přes CephFS | **Erasure coding**: - K+M (data + parity chunks), např. 8+3 (8 data, 3 parity) - Prostorově efektivnější než 3× replikace (1.375× vs 3×) - Vyšší CPU režie, nižší IOPS - Doporučeno pro cold data (RGW) místo replikace ## Zdroje Odkazy, knihy a standardy: [sources/infrastructure/sources.md](sources/infrastructure/sources.md)