91 lines
4.0 KiB
Markdown
91 lines
4.0 KiB
Markdown
# 💾 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)
|