Files
knowledge-base/STORAGE.md
Stanislav Hubacek c6fa0bff6a commit
2026-06-11 15:27:28 +02:00

4.0 KiB
Raw Blame History

💾 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