From 4654e1549f4da9e1dc299c7fd4caf59541cbb251 Mon Sep 17 00:00:00 2001 From: Stanislav Hubacek Date: Thu, 11 Jun 2026 13:55:00 +0200 Subject: [PATCH] Delete SERVER-CONFIG.md --- SERVER-CONFIG.md | 757 ----------------------------------------------- 1 file changed, 757 deletions(-) delete mode 100644 SERVER-CONFIG.md diff --git a/SERVER-CONFIG.md b/SERVER-CONFIG.md deleted file mode 100644 index 2ecd96c..0000000 --- a/SERVER-CONFIG.md +++ /dev/null @@ -1,757 +0,0 @@ -# ⚙️ Server configuration — best practices podle workloadu - -## Obecná BIOS/UEFI nastavení - -| Nastavení | Doporučení | Zdůvodnění | -|-----------|-----------|------------| -| **Boot mode** | UEFI | Secure Boot, GPT, větší disky | -| **Power profile** | Performance / OS Control | Max výkon, C-States disabled | -| **Hyper-Threading** | Enabled | +30-50 % throughput pro multi-thread | -| **Virtualization** | Enabled (VT-x/AMD-V) | Nutné pro hypervisor, containers | -| **SR-IOV** | Enabled | GPU, NIC passthrough | -| **NUMA** | Enabled | NUMA-aware scheduling | -| **ACPI** | Enabled | Power management, OS-level | -| **Secure Boot** | Enabled | Secure boot chain | -| **TPM** | Enabled | Measured boot, key storage | - ---- - -## 1. Databázové servery - -### Volba CPU - -| DB typ | CPU preference | Zdůvodnění | -|--------|---------------|------------| -| **OLTP** (PostgreSQL, MySQL) | High clock, moderate cores | Nízká latence na transakci, limited parallelism | -| **OLAP** (ClickHouse, Snowflake) | Many cores, AVX-512 | Columnstore, high parallelism | -| **In-memory** (Redis, Memcached) | High clock, low cache latency | Single-threaded (Redis), RAM bandwidth | -| **Document** (MongoDB) | Balance (clock × cores) | Mixed workload | -| **Distributed** (Cassandra, Scylla) | Many cores, high cache | Shard-per-core (Scylla), compaction | -| **Oracle OLTP** | High clock, moderate cores, core-factor aware | CPU license cost (core factor 0.5 pro AMD EPYC i Intel Xeon) | -| **Oracle OLAP / DW** | Many cores, large SGA, in-memory option | Parallel query, Exadata Smart Scan, compression | - -### Oracle CPU licensing — core factor - -Oracle licencuje na jádro s korekčním faktorem dle procesoru. Faktor 0.5 znamená, že 2 jádra = 1 Oracle license. - -| Procesor | Core factor | 64 fyzických jader → Oracle licencí | -|----------|-------------|--------------------------------------| -| AMD EPYC (všechny řady) | 0.5 | 32 | -| Intel Xeon (Scalable) | 0.5 | 32 | -| IBM POWER | 1.0 | 64 | -| ARM (Ampere Altra) | 0.5 | 32 | - -**Dopad na výběr CPU**: Při stejném Oracle license cost je EPYC s více jádry výhodnější — dostanete více compute power za stejnou license cenu. - -### Konfigurace podle velikosti firmy a typu storage - -#### Varianta A: Malá firma — lokální NVMe RAID - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 1× EPYC 9124/9224 nebo Intel Xeon 4410Y (8-16C) | 1 socket, high clock | -| **RAM** | 64-256 GB (8-16 GB/core) | DDR5-4800, 1DPC | -| **OS disk** | 2× SATA/SAS SSD, RAID 1 (240-480 GB) | Pro OS + binární soubory | -| **Data disk** | 4-6× NVMe (U.2/E3.S), RAID 10 | Lokální data, žádné sdílení | -| **WAL disk** | 2× NVMe RAID 1 (400-800 GB) | Pouze PostgreSQL | -| **Network** | 2× 25 GbE (LACP) | Aplikační traffic + management | -| **Form factor** | 1U nebo 2U | Single node, žádný cluster | -| **Storage backend** | Lokální RAID controller (PERC/Broadcom) | HW RAID 10 nebo SW RAID (mdadm) | -| **HA** | Aplikace řídí failover (patroni, repmgr, orchestrator) | Standby node při selhání | - -**Use case**: Startup, pobočka, dev/test, < 500 uživatelů, jeden databázový server, nízké nároky na dostupnost. - -#### Varianta B: Střední firma — lokální NVMe + asynchronní replikace - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 1-2× EPYC 9334/9374F nebo Intel Xeon 5418Y (16-24C) | 1-2 socket, balanced | -| **RAM** | 128-512 GB (8-16 GB/core) | DDR5-4800/5600, 1DPC | -| **OS disk** | 2× NVMe RAID 1 (2× 480 GB) | OS + binárky | -| **Data disk** | 6-8× NVMe, RAID 10 | Lokální NVMe, 3-6 TB usable | -| **WAL disk** | 2× NVMe RAID 1 (2× 800 GB) | Oddělený od data | -| **Network** | 2× 25 GbE (app) + 2× 25 GbE (replication) | Aplikační a replikační síť odděleny | -| **Form factor** | 2U | Primární + replica node | -| **Storage backend** | SW RAID (mdadm) nebo HW RAID (PERC H965) | Write-back cache s BBU | -| **HA** | Patroni / repmgr / MySQL InnoDB Cluster | Asynchronní replikace na 1-2 standby | - -**Use case**: E-commerce, SaaS střední velikosti, 500-5000 uživatelů, RPO < 1 min, RTO < 5 min. - -#### Varianta C: Velká firma — FC SAN (enterprise) - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 2× EPYC 9654/9965 nebo Xeon 8592+/6980P (48-128C) | 2 socket, max cores, large cache | -| **RAM** | 512 GB - 2 TB (8-16 GB/core) | DDR5, 2DPC (penalizace speed), 12 channelů (EPYC) | -| **OS disk** | 2× SATA SSD RAID 1 (2× 480 GB) | Pouze OS, data na SAN | -| **Data + WAL** | LUNy z FC SAN | Hitachi VSP / Dell PowerMax / Pure //X | -| **HBA** | 2× dual-port FC HBA (32/64 Gb) | Multipath (active-active), FC-NVMe | -| **Network** | 2× 25/100 GbE (app) + 2× 32/64 Gb FC (storage) | App i storage síť odděleny | -| **Form factor** | 2U | 2-8 node cluster (RAC, AlwaysOn AG) | -| **Storage backend** | FC SAN — LUN per databáze | Thin provisioning, RAID na SAN, snapshots | -| **HA** | Oracle RAC / SQL Server AOAG / PostgreSQL Patroni | Synchronní replikace, FC multipath | - -**Výhody SAN**: Centrální management, snapshots, cloning, disaster recovery (SRDF/Metro), oddělená storage síť, vyšší dostupnost. -**Nevýhody**: Vyšší latence oproti lokálnímu NVMe (~50-200 µs přes SAN vs ~10 µs local NVMe), vyšší CAPEX, vendor lock-in. - -#### Varianta D: Velká firma — Ceph / SDS backend - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 2× EPYC 9334/9654 (16-32C) | Méně cores než SAN varianta — část CPU jde na Ceph client | -| **RAM** | 256-512 GB | Méně RAM — Ceph client cache není tak efektivní jako lokální buffer | -| **OS disk** | 2× SATA SSD RAID 1 (2× 480 GB) | OS | -| **Network** | 2× 25/100 GbE (app) + 2× 25/100 GbE (Ceph public) | App i Ceph traffic po Ethernetu | -| **HBA** | Storage HBA v IT/HBA mode (žádný RAID) | Pro Ceph OSD node, ne DB node | -| **Form factor** | 2U | DB nod + separátní Ceph OSD nod | -| **Storage backend** | RBD (RADOS Block Device) přes Ceph | 3× replikace nebo erasure coding | -| **HA** | Aplikace + Ceph inherentní HA | Ceph self-healing, auto-rebalance | - -**Výhody Ceph**: Žádný vendor lock-in, horizontální škálování, jednotná platforma pro block/file/object, nižší CAPEX. -**Nevýhody**: Vyšší latence a CPU režie (Ceph client → network → OSD), variabilní výkon, složitější troubleshooting. - -#### Varianta E: Cloud — RDS / CloudSQL / Azure SQL - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **Compute** | AWS RDS (db.r7g/r8g), Azure SQL (GP/BC/Hyperscale) | Managed service, bez přístupu k OS | -| **Storage** | EBS gp3 / io2, Azure Premium SSD v2, Cloud SQL SSD | Automatické škálování, PITR, multi-AZ | -| **Network** | Security Group, Private Link, VPC peering | Žádný HBA, žádná SAN — vše přes Ethernet | -| **HA** | Multi-AZ (synchronní), read replicas | Managed failover, RTO < 60 s | -| **Backup** | Automated, PITR (7-35 dní) | Bez nutnosti managementu | - -**Use case**: Žádný on-prem hardware, elastické škálování, pay-per-use, menší provozní režie. -**Nevýhody**: Vyšší dlouhodobé náklady, data residency, network latency, limited customization. - -### Srovnání variant - -| Aspekt | Lokální NVMe (malá) | Lokální NVMe (střední) | FC SAN | Ceph | Cloud | -|--------|---------------------|----------------------|--------|------|-------| -| **Latence** | ~10 µs | ~10 µs | ~50-200 µs | ~100-500 µs | ~100-1000 µs | -| **Škálování** | Vertikální | Vertikální | Horizontální | Horizontální | Elastické | -| **CAPEX** | Nízký | Střední | Vysoký | Střední | Žádný (OPEX) | -| **Provozní režie** | Nízká | Nízká | Vysoká (SAN admin) | Střední | Žádná | -| **HA** | Aplikace | Patroni/Cluster | RAC/AOAG | Ceph HA | Managed | -| **RPO** | 1-5 min | < 1 min | < 10 s | < 30 s | < 60 s | -| **RTO** | 5-15 min | < 5 min | < 2 min | < 5 min | < 60 s | -| **Počet serverů** | 1-2 | 2-4 | 4-16 | 6-20+ | 0 (managed) | -| **Firma** | Startup/SME | SME/Enterprise | Enterprise | Enterprise | Libovolná | - -### PostgreSQL parameter matrix podle storage typu - -| Parametr | Local NVMe | FC SAN | Ceph RBD | -|----------|-----------|--------|----------| -| `random_page_cost` | 1.1 | 1.5-2.0 | 2.0-3.0 | -| `effective_io_concurrency` | 300 | 100-200 | 50-100 | -| `synchronous_commit` | off (NVMe cache) | on (SAN cache) | off (Ceph cache) | -| `full_page_writes` | on | on | on (i přes Ceph) | - -### Storage layout podle typu backendu - -**Lokální NVMe (malá/střední):** -``` -Mount point FS RAID Disk Účel -/ ext4 1 (mirror) 2× SATA SSD OS -/data xfs 10 4-8× NVMe Data -/wal xfs 1 (mirror) 2× NVMe WAL (PG) -``` - -**FC SAN (enterprise):** -``` -Mount point FS Device Účel -/ ext4 local RAID 1 (2× SSD) OS -/dev/sdb xfs FC LUN 1 (500 GB) WAL (PG) -/dev/sdc xfs FC LUN 2 (2 TB) Data -/dev/sdd xfs FC LUN 3 (2 TB) Indexy (oddělené) -``` - -**Ceph RBD:** -``` -Mount point FS Ceph device Účel -/ ext4 local RAID 1 (2× SSD) OS -/dev/rbd0 xfs rbd datastore-01 Data + WAL (Ceph RBD) -``` - -### Kernel tuning podle variants - -**Lokální NVMe:** -``` -vm.dirty_ratio = 30 -vm.dirty_background_ratio = 5 -``` - -**FC SAN:** -``` -# SAN storage — vyšší latency, méně agresivní flush -vm.dirty_ratio = 20 -vm.dirty_background_ratio = 3 -vm.dirty_expire_centisecs = 3000 # Defer writes (SAN cache) -``` - -**Ceph RBD:** -``` -# Ceph RBD — network storage, optimalizovat pro RBD cache -vm.dirty_ratio = 15 -vm.dirty_background_ratio = 2 -# RBD cache settings -# rbd cache = true (client-side) -# rbd cache size = 256-512 MB -``` - -### Database-specific tuning - -| Parametr | PostgreSQL | MySQL | Oracle | MongoDB | -|----------|-----------|-------|--------|---------| -| **Cache** | `shared_buffers` 25 % RAM | `innodb_buffer_pool` 70-80 % RAM | `SGA_TARGET` 60-80 % RAM | `WiredTiger cache` 50-80 % RAM | -| **OS cache** | `effective_cache_size` 75 % RAM | OS cache + InnoDB | OS cache (double buffering risk při large SGA) | OS cache | -| **Write buffer** | `wal_buffers` 64-256 MB | `innodb_log_file_size` 1-4 GB | Redo log (2-4 groups, 200 MB-4 GB) | WiredTiger log | -| **Connections** | `max_connections` 50-500 | `max_connections` 100-500 | `processes` 200-2000 | maxIncomingConnections | -| **I/O** | `effective_io_concurrency` 200 | `innodb_io_capacity` 2000 | `db_file_multiblock_read_count` 128 | WiredTiger eviction | -| **Huge pages** | `huge_pages = try` | `large-pages = ON` | `use_large_pages = only` (mandatory) | transparent_hugepages=never | -| **Parallel query** | `max_parallel_workers` 4-8 | `innodb_parallel_read_threads` 4 | `parallel_degree_policy = auto` — až 64 | — | - -### Connectivity per variant - -| Varianta | App síť | Storage síť | Replikace | Management | -|----------|---------|-------------|-----------|------------| -| **Lokální (malá)** | 2× 25 GbE LACP | — | 2× 25 GbE (same) | iDRAC/iLO | -| **Lokální (střední)** | 2× 25 GbE LACP | — | 2× 25 GbE dedik. | iDRAC/iLO | -| **FC SAN** | 2× 25/100 GbE | 2× 32/64 Gb FC (multipath) | FC replication | iDRAC/iLO + SAN mgmt | -| **Ceph** | 2× 25/100 GbE | 2× 25/100 GbE (public net) | 2× 25/100 GbE (cluster net) | iDRAC/iLO + Ceph mgmt | -| **Cloud** | Elastic IP / Private Link | — | — | AWS Console / API | -| **Oracle Standalone** | 2× 25 GbE LACP | ASM (2× 25 GbE nebo FC 32G) | Data Guard 2× 25 GbE | iLO + ASM mgmt | -| **Oracle RAC** | 2-4× 25/100 GbE | 2× 64 Gb FC (multipath) | Cache Fusion interconnect | iLO + SAN mgmt | -| **Oracle Exadata** | 4-8× 100 GbE RoCE | NVMe over Fabric | RDMA interconnect | Exadata CLI + OEDA | - -### Oracle-specific konfigurace - -#### Oracle ASM — diskgroup layout - -Oracle ASM (Automatic Storage Management) nahrazuje tradiční filesystem + volume manager: - -| Diskgroup | Redundancy | Disky | Účel | -|-----------|-----------|-------|-------| -| **DATA** | Normal (2× mirror) | 4-12× FC LUN/NVMe | Data files, temp files, control files | -| **FRA** (Flash Recovery Area) | Normal (2× mirror) | 2-6× FC LUN/NVMe | Archive logs, backup, flashback logs | -| **REDO** | High (3× mirror) | 2-4× FC LUN/NVMe | Online redo log groups (I/O kritické) | -| **SPFILE** | Normal | 2× small LUN | Server parameter file | - -**ASM striping**: Coarse (1 MB) pro běžná data, Fine (128 KB) pro redo logy (nižší latence zápisu). - -#### Varianta O1: Standalone Oracle (malá/střední, single instance) - -| Parametr | Small (< 500 users) | Medium (500-2000 users) | -|----------|---------------------|------------------------| -| **CPU** | 1-2× EPYC 9124-9224 / Xeon 4410Y (8-16C) | 2× EPYC 9334-9374F / Xeon 5418Y (16-24C) | -| **RAM (SGA + PGA)** | 64-128 GB (SGA 70 %, PGA 30 %) | 128-512 GB (SGA 60-80 %, PGA 20-40 %) | -| **Huge pages** | Ano (vm.nr_hugepages) — mandatory pro SGA | Ano | -| **OS disk** | 2× SATA SSD RAID 1 (240 GB) | 2× NVMe RAID 1 (480 GB) | -| **DATA + FRA** | 4-6× NVMe, ASM normal redundancy | 6-8× NVMe nebo FC LUN, ASM normal | -| **REDO** | 2-4× NVMe (oddělené od DATA), ASM high | 4× FC LUN (oddělené), ASM high | -| **Archive log** | Lokální FRA | FC LUN (FRA diskgroup) | -| **Network (app)** | 2× 25 GbE LACP | 2-4× 25/100 GbE LACP | -| **Network (storage)** | — (lokální NVMe) | 2× FC 32G multipath | -| **Network (Data Guard)** | — | 2× 25 GbE dedikované | -| **DB version** | Oracle SE2 (max 16 threads) | Oracle EE (neomezené) | - -**Use case**: Dev/test, malé produkční DB, pobočky. SE2 license = max 16 CPU threads, limitovaná parallel execution. - -#### Varianta O2: Oracle Data Guard (střední/velká, HA + DR) - -Primární + standby v active-passive režimu, možnost Active Data Guard pro reporting. - -| Parametr | Doporučení | -|----------|-----------| -| **CPU** | 2× EPYC 9654-9965 / Xeon 8592+ (32-64C) | -| **RAM** | 256-1024 GB (SGA 60-80 %, PGA 20-40 %) | -| **Huge pages** | Ano (50-80 % RAM alokováno pro SGA) | -| **OS disk** | 2× NVMe RAID 1 (480 GB) | -| **Storage** | FC SAN LUN (DATA + FRA + REDO odděleně) nebo NVMe + ASM | -| **HBA** | 2× dual-port FC 32/64 Gb (multipath active-active) | -| **App network** | 2-4× 25/100 GbE LACP | -| **Storage network** | 2× FC 32/64 Gb multipath | -| **Data Guard network** | 2× 25/100 GbE dedikované (sync nebo async) | -| **Data Guard režim** | Maximum Availability (sync, fallback na async) — RPO = 0 | -| **Topologie** | 1 primary + 1-2 standby (physical), far sync pro geo-DR | -| **Active Data Guard** | Standby otevřená pro čtení (reporting, backup) — vyžaduje ADG licenci | - -**Latence Data Guard**: -```text -Synchronní (Maximum Availability): - Primární COMMIT → LGWR flush REDO → sync přes síť → Standby LGWR → ACK → ~1-5 ms - RPO = 0, dopad na latenci zápisu - -Asynchronní (Maximum Performance): - Primární COMMIT → LGWR flush REDO → async do standby buffer → ~0.1-1 ms - RPO = několik sekund, zanedbatelný dopad na zápis -``` - -**Síťové požadavky pro Data Guard sync**: -- RTT < 2 ms pro synchronní režim (doporučeno < 1 ms) -- Min. 10 GbE, doporučeno 25 GbE (propustnost = REDO rate × 2) -- REDO rate: OLTP ~50-500 MB/s, batch ~500-2000 MB/s -- Při REDO rate 500 MB/s a 25 GbE → ~20 % link utilization - -#### Varianta O3: Oracle RAC (velká, enterprise) - -Multi-instance cluster se shared storage a Cache Fusion. - -| Parametr | Doporučení | -|----------|-----------| -| **Počet nodů** | 2-4 (typicky), max 64 (RAC cluster) | -| **CPU per node** | 2× EPYC 9654-9965 / Xeon 8592+ (32-64C) | -| **RAM per node** | 512-2048 GB (SGA 60-80 %, PGA 20-40 %) | -| **Huge pages** | Ano (1 GB stránky pokud RAM > 512 GB) | -| **Storage** | FC SAN — shared LUNs (ASM normal/high redundancy) | -| **HBA** | 2× dual-port FC 64 Gb (multipath, active-active) | -| **App network** | 2-4× 25/100 GbE LACP (VIP, SCAN listener) | -| **Storage network** | 2-4× FC 64 Gb (multipath per node) | -| **Cache Fusion interconnect** | 2× 100 GbE (RoCE v2 nebo InfiniBand) — dedikovaný | -| **RAC interconnect latency** | < 5 µs (doporučeno), max < 10 µs | -| **ASM** | Normal redundancy (2-way mirror) | -| **Oracle Clusterware** | Voting disk (3× 1 GB LUN), OCR (3× 500 MB LUN) | -| **Service** | OLTP_service, REPORT_service, BATCH_service | - -**Cache Fusion — kritický interconnect**: -``` -Node A (DB instance) ←──→ Node B (DB instance) - │ │ - └──────── ASM ───────────┘ - │ - FC SAN (shared storage) - -Cache Fusion traffic: dirty block transfer mezi instancemi - → Latence < 5 µs, jinak RAC škálování degraduje - → Kapacita: 2× 100 GbE, dedikovaný switch nebo InfiniBand HDR100 - → Doporučená MTU: 9000 (jumbo frames) -``` - -**RAC sizing podle počtu transakcí**: - -| TPS | Nodů | CPU per node | RAM per node | Interconnect | -|-----|------|-------------|-------------|-------------| -| < 10 000 | 2 | 16-24C | 256 GB | 2× 25 GbE | -| 10 000 - 50 000 | 2-4 | 32-48C | 512 GB | 2× 100 GbE RoCE | -| 50 000 - 200 000 | 4-8 | 48-64C | 1024 GB | 2× 100 GbE RoCE / InfiniBand | -| > 200 000 | 8+ | 64-128C | 2048 GB | InfiniBand HDR100/HDR200 | - -**RAC sizing — výpočet licence cost**: - -```text -Příklad: 4-node RAC, každý node 2× EPYC 9654 (96C) = 192 cores per node - Core factor 0.5 → 96 Oracle licenses per node - 4 × 96 = 384 Oracle EE licenses - Pri ~$47.5k/license → ~$18.2M (jen licence, bez supportu 22 % ročně) -``` - -#### Varianta O4: Oracle Exadata (hyperscale) - -Engineered system — optimální pro hybrid workload (OLTP + DW). - -| Parametr | X9M / X10M | Use case | -|----------|-----------|----------| -| **Database servers** | 2-8× (Xeon, 1.5-6 TB RAM, NVMe) | Compute | -| **Storage servers** | 3-18× (NVMe + HDD, Smart Scan) | Offloading predikátů | -| **Smart Scan** | Filtrace na storage vrstvě | Méně dat po síti, vyšší propustnost | -| **RoCE interconnect** | 100 GbE (RDMA) | Nízká latence, high bandwidth | -| **In-Memory Column Store** | Volitelná licence | Real-time analytics bez ETL | -| **HCC (Hybrid Columnar Compression)** | Compression v storage serverech | Až 10-15× komprese pro DW | -| **Rack power** | ~15-30 kW (full rack) | Vyšší densita | - -**Kdy zvolit Exadata místo standalone RAC**: -- OLTP > 50 000 TPS -- Potřeba konsolidace (více DB na jeden cluster) -- Smart Scan výrazně zrychluje reporting na produkčních datech -- HCC pro úsporu storage u DW workloadů - ---- - - - -## 2. Hypervisor host (ESXi / KVM / Hyper-V) - -### Konfigurace podle velikosti a storage typu - -#### Varianta A: Malá firma — lokální storage (2-3 hosty) - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 1× EPYC 9224/9254 nebo Xeon 4410Y/5418Y (12-24C) | 1 socket, dost cores pro VM density | -| **RAM** | 128-256 GB (4-8 GB/core) | DDR5, 1DPC | -| **OS disk** | 2× SATA SSD RAID 1 (2× 240-480 GB) | ESXi / Proxmox / Hyper-V boot | -| **VM storage** | 4-6× SATA/SAS SSD, RAID 5/6 nebo 10 | Lokální RAID, 4-12 TB usable | -| **Network** | 2-4× 10/25 GbE (LACP) | Sdílený pro vše (management + VM + storage) | -| **Hypervisor** | VMware vSphere Standard / Proxmox VE / Hyper-V | Basic license, žádné enterprise funkce | -| **Storage backend** | Lokální RAID controller (PERC H755, Broadcom 9560) | HW RAID s cache, write-back | -| **HA** | VMware HA / Proxmox HA | Restart VM na jiném hostu při selhání | -| **Backup** | Veeam B&R Free / PBS (Proxmox Backup Server) | Lokální nebo USB disk | - -**Use case**: Malá kancelář, pobočka, dev/test, < 10 VM, nízký rozpočet, jednoduchá správa. -**Limitace**: Žádné vMotion bez shared storage, outage při výpadku hosta (restart HA, ne seamless). - -#### Varianta B: Střední firma — vSAN / Ceph (3-6 hostů) - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 1-2× EPYC 9334/9654 nebo Xeon 5418Y/8592+ (16-32C) | 1-2 socket | -| **RAM** | 256-512 GB (4-8 GB/core) | DDR5, 2DPC (minimální penalizace) | -| **OS disk** | 2× SATA SSD RAID 1 nebo 2× M.2 NVMe (BOSS-S1) | Oddělený od VM storage | -| **Cache tier** | 1-2× NVMe (vSAN caching / Ceph WAL+DB) | Pro write performance | -| **Capacity tier** | 4-8× SATA/SAS SSD nebo HDD (vSAN capacity / Ceph OSD) | HDD pro kapacitu, SSD pro performance | -| **Network** | 4× 25/100 GbE — 2× VM + mgmt, 2× storage (vSAN/Ceph) | Oddělená storage síť, RDMA (RoCE v2) | -| **Hypervisor** | VMware vSAN / Proxmox Ceph / StarWind HCI | HCI license (vSAN ~$2.5k/Core) | -| **Storage backend** | vSAN OSA/ESA nebo Ceph (RADOS) | Distributed storage, auto-rebalance | -| **HA** | vSphere HA + vSAN / Proxmox HA + Ceph | vMotion, DRS, automated failover | -| **Failover** | N+1 (jeden host jako rezerva) | U vSAN min. 4 hosty (pro ESA min. 3) | - -**Čistě Ceph varianta (Proxmox / OpenStack)**: -``` -Proxmox node (3-6×): -├── CPU: 1× EPYC 9224-9334 (12-24C) -├── RAM: 128-256 GB -├── OS: 2× SATA SSD RAID 1 -├── Ceph OSD: 4-8× NVMe/SATA SSD (RAW, HBA mode) -├── Network: 2× 25 GbE (public) + 2× 25 GbE (cluster) -└── Storage: Ceph 3× replication, CRUSH host failure domain -``` - -**VMware vSAN varianta (4-6 hostů)**: -``` -vSAN node (4-6×): -├── CPU: 1-2× EPYC/Xeon (16-32C) -├── RAM: 256-512 GB -├── OS: 2× M.2 NVMe (BOSS-S1) nebo SD card (deprecated) -├── vSAN cache: 1-2× NVMe (write buffer) -├── vSAN capacity: 4-8× SATA SSD (vSAN ESA) nebo HDD (vSAN OSA) -├── Network: 2× 25/100 GbE (VM) + 2× 25 GbE (vSAN) -└── Storage: vSAN ESA (all-NVMe) nebo OSA (hybrid) -``` - -**Use case**: SME, enterprise divize, 10-100 VM, potřeba vMotion, DRS, HA, jednoduchý storage management. - -#### Varianta C: Velká firma — FC SAN (6+ hostů) - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 2× EPYC 9654/9965 nebo Xeon 8592+/6980P (32-64C) | 2 socket, max VM density | -| **RAM** | 512 GB - 2 TB (4-8 GB/core) | DDR5, 2DPC | -| **OS disk** | 2× SATA SSD RAID 1 nebo SD card (vSphere) | Boot, image storage | -| **VM storage** | LUNy z FC SAN — VMFS / NFS datastory | Hitachi, Dell, Pure, HPE storage | -| **HBA** | 2× dual-port FC HBA 32/64 Gb | Multipath, FC-NVMe | -| **Network** | 4-8× 25/100 GbE — rozdělené do traffic typů | Management, VM, vMotion, FT odděleny | -| **Hypervisor** | VMware vSphere Enterprise+ / Hyper-V DC | Enterprise license, DRS, HA, FT | -| **Storage backend** | FC SAN — VMFS 8 datastory, VVols | Thin provisioning, storage DRS, array snapshots | -| **HA** | vSphere HA + DRS + vCenter | vMotion, DRS, FT, SRM pro DR | -| **Failover** | N+1 nebo admission control (rezerva CPU/RAM) | Vyhrazená kapacita pro HA failover | - -**Use case**: Enterprise, 100+ VM, mix DB a aplikací, centralizovaný storage management, enterprise SLA. - -#### Varianta D: Hyperscale — Ceph / SDS (20+ hostů) - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 2× EPYC 9654/9965 (64-128C) | 2 socket, compute optimální | -| **RAM** | 512 GB - 1 TB (2-4 GB/core) | Nízký overcommit ratio pro konzistenci | -| **OS disk** | 2× M.2 NVMe RAID 1 (BOSS) | Boot | -| **Network** | 4-8× 100 GbE (compute + storage) | Separate OVN/OVS pro SDN, VXLAN tunneling | -| **Hypervisor** | OpenStack (Nova) / OpenShift (KubeVirt) | Open source, API-driven, multi-tenant | -| **Storage backend** | Ceph (RADOS, RBD, RGW, CephFS) | Unified storage, erasure coding (8+3) | -| **Orchestrace** | OpenStack / Kubernetes | Infrastructure-as-Code, autoscaling | -| **HA** | OpenStack HA / Kubernetes HA | Self-healing, auto-rebalance | - -**Use case**: Cloud provider, hyperscale, 500+ VM, multi-tenant, maximální automatizace. - -### Srovnání hypervisor variant - -| Aspekt | Lokální (malá) | vSAN/Ceph (střední) | FC SAN (velká) | Ceph hyperscale | -|--------|---------------|---------------------|----------------|-----------------| -| **Storage** | Lokální RAID | vSAN / Ceph (HCI) | FC SAN (centralizovaný) | Ceph (distribuovaný) | -| **Počet hostů** | 2-3 | 3-6 | 6-50+ | 20+ | -| **Latence VM** | ~10 µs (local) | ~100-500 µs | ~200 µs (SAN) | ~500-2000 µs | -| **CAPEX/host** | Nízký | Střední | Vysoký | Střední | -| **CAPEX storage** | Nízký | Žádný (součást hostů) | Vysoký (SAN array) | Žádný (součást hostů) | -| **Management** | Simple (per host) | vCenter / Proxmox | vCenter + SAN mgmt | OpenStack / K8s | -| **vMotion** | Ne (bez sdílené storage) | Ano (vSAN / Ceph RBD) | Ano (FC LUN) | Ano (Ceph RBD) | -| **DRS** | Ne | Ano (vSphere) | Ano (vSphere) | OpenStack scheduler | -| **Škálování** | Vertikální | Horizontální (přidat host) | Horizontální (host + SAN) | Horizontální | - -### Network design podle varianty - -#### Malá (lokální storage) - -| Traffic | VLAN | Rychlost | Teaming | Poznámka | -|---------|------|----------|---------|----------| -| Management | Mgmt | 1 GbE | Active/Passive | Dedikovaný port (iLO/iDRAC) | -| VM + Storage | All | 2-4× 10/25 GbE | LACP | Sdílené, VLAN tagging | - -``` -┌──────────────────────────────────────────┐ -│ Host │ -│ ┌──────┐ ┌─────────────────────────────┐│ -│ │ iLO │ │ NIC1 NIC2 ││ -│ │ 1 GbE │ │ [LACP] 25 GbE ││ -│ └──────┘ └──────────┬──────────────────┘│ -└──────────────────────┼───────────────────┘ - │ - ┌─────┴─────┐ - │ Switch │ - └───────────┘ -``` - -#### Střední (vSAN / Ceph) - -| Traffic | VLAN | Rychlost | Teaming | Poznámka | -|---------|------|----------|---------|----------| -| Management | Mgmt | 1 GbE | Active/Passive | Dedikovaný iLO/iDRAC | -| VM | VM | 2× 25/100 GbE | LACP | VM traffic, migrace | -| Storage | vSAN/Ceph | 2× 25/100 GbE | LACP nebo RDMA | Oddělený, Jumbo frames (MTU 9000) | - -``` -┌──────────────────────────────────────────┐ -│ Host │ -│ ┌──────┐ ┌──────────┐ ┌───────────────┐│ -│ │ iLO │ │ NIC1 NIC2│ │ NIC3 NIC4 ││ -│ │ 1 GbE │ │ VM traffic│ │ Storage (vSAN)││ -│ └──────┘ └──────────┘ └───────────────┘│ -└──────────────────────────────────────────┘ -``` - -#### Velká (FC SAN) - -| Traffic | VLAN | Rychlost | Teaming | Poznámka | -|---------|------|----------|---------|----------| -| Management | Mgmt | 1 GbE | Active/Passive | Dedikovaný | -| VM | VM | 2-4× 25/100 GbE | LACP | VM traffic | -| vMotion | vMotion | 2× 25 GbE | Dedikovaný | Multi-NIC vMotion | -| FT | FT | 2× 10/25 GbE | Dedikovaný | Low latency | -| Storage | — | 2× 32/64 Gb FC | Multipath | FC SAN | - -``` -┌──────────────────────────────────────────────┐ -│ Host │ -│ ┌──────┐ ┌────────────┐ ┌────┐ ┌─────────┐│ -│ │ iLO │ │ NIC1-4 │ │HBA1│ │ HBA2 ││ -│ │ 1 GbE │ │ VM+vMotion+FT│ │32Gb│ │ 32Gb ││ -│ └──────┘ └────────────┘ └─┬──┘ └──┬──────┘│ -└────────────────────────────┼───────┼───────┘ - │ │ - ┌───────┴───┐ ┌─┴────────┐ - │ Ethernet │ │ FC Switch │ - │ Switch │ │ (Brocade/ │ - │ │ │ Cisco) │ - └───────────┘ └──────────┘ -``` - -### BIOS pro hypervisor — všechny varianty - -| Nastavení | Hodnota | Zdůvodnění | -|-----------|---------|------------| -| Hyper-Threading | Enabled | Vyšší VM density | -| Virtualization Technology | Enabled | VT-x/AMD-V | -| VT-d / IOMMU | Enabled | Passthrough, SR-IOV | -| Power Management | Performance / OS | Minimalizace latence VM exit | -| C-States | Disabled | Nižší latence VM exit (důležité pro real-time VM) | -| NUMA | Enabled | NUMA-aware VM placement | -| SR-IOV | Enabled | NIC/GPU virtualizace | -| Adjacent Sector Prefetch | Enabled (Intel) | Lepší sekvenční čtení | -| DCU Streamer / IP Prefetcher | Enabled | HW prefetch pro VM workload | -| Patrol Scrub | Disabled (vSAN/Ceph) | Může způsobovat latency spikes u SDS | - -### Výběr hypervisoru podle varianty - -| Kritérium | VMware vSphere | Proxmox VE | Hyper-V | OpenStack | -|-----------|---------------|------------|---------|-----------| -| **Velikost** | SME - Enterprise | SME | SME - Enterprise | Hyperscale | -| **Storage** | vSAN, SAN, NFS | Ceph, ZFS, NFS | Storage Spaces, SAN | Ceph, manila | -| **License** | ~$1-5k/core | Zdarma (support ~$500/host) | Součást Windows Server | Open source | -| **Familiarita** | Nejvyšší | Střední | Windows admin | Nízká | -| **Automation** | Terraform, Ansible, PowerCLI | Ansible, Terraform, PBS | PowerShell, SCVMM | Terraform, Heat, Ansible | -| **Ekosystém** | Nejširší (Veeam, Zerto, SRM) | Rostoucí (PBS, vzdálená migrace) | Windows ecosystem | Open source (Kolla, TripleO) | - ---- - -## 3. Kubernetes node - -### Node profily - -| Role | CPU | RAM | Storage | Network | Use case | -|------|-----|-----|---------|---------|----------| -| **General purpose** | 16-32 cores | 64-128 GB | 1× NVMe OS + 1×NVMe local | Web, API, microservices | -| **Memory optimized** | 32-64 cores | 256-512 GB | 1× NVMe OS + 2×NVMe local | In-memory cache, DB | -| **Compute optimized** | 64-128 cores | 128-256 GB | 1× NVMe OS | Batch, CI/CD | -| **GPU node** | 32-64 cores | 512-1024 GB | 1× NVMe OS + 4-8×NVMe local | AI/ML training, inference | -| **Storage node** | 16-32 cores | 64-128 GB | 4-12× NVMe/SATA (Ceph/Longhorn) | SDS, persistent volumes | - -### Kernel tuning - -``` -# /etc/sysctl.d/99-kubernetes.conf -net.bridge.bridge-nf-call-iptables = 1 -net.bridge.bridge-nf-call-ip6tables = 1 -net.ipv4.ip_forward = 1 -net.ipv4.conf.all.forwarding = 1 - -# Connection tracking (pro NodePort, Service) -net.netfilter.nf_conntrack_max = 2097152 -net.netfilter.nf_conntrack_tcp_timeout_established = 86400 - -# File watchers (pro kubelet, containerd) -fs.inotify.max_user_instances = 8192 -fs.inotify.max_user_watches = 524288 - -# Memory management -vm.swappiness = 0 -vm.overcommit_memory = 1 # Allow overcommit (CRI-O, containerd) -vm.panic_on_oom = 0 -kernel.panic = 10 -kernel.panic_on_oops = 1 -``` - -### Container storage - -| Typ | Doporučení | Poznámka | -|-----|-----------|----------| -| **OS disk** | RAID 1 (2× NVMe) | Ext4/XFS, 100-200 GB | -| **Container runtime image** | RAID 1 (2× NVMe) | /var/lib/containerd, 200-500 GB | -| **Local PV** | Single NVMe | Raw device, no RAID | -| **Rook/Ceph OSD** | Raw NVMe/SATA | HBA/IT mode, no RAID | -| **Longhorn** | Raw NVMe/SATA | Ext4/XFS per volume | - ---- - -## 4. Storage server (Ceph / MinIO / NAS) - -### Ceph OSD node - -| Komponenta | Doporučení | Poznámka | -|-----------|-----------|----------| -| **CPU** | 1-2 cores per OSD | Do 12 OSD na node (24 cores) | -| **RAM** | 4-8 GB per OSD + OS | BlueStore cache, 16-64 GB min | -| **Network** | 2× 25/100 GbE | Public + Cluster network | -| **Storage** | 10-12× NVMe/SATA SSD OSD | HBA/IT mode, žádný RAID | -| **OS disk** | 2× SATA SSD RAID 1 | OS, Ceph MON/MGR | - -**BIOS pro Ceph:** -- SATA/NVMe: AHCI/NVMe mode (ne RAID) -- C-States: Disabled (nižší latence OSD) -- NUMA: Enabled -- Power: Performance - -### MinIO node - -| Komponenta | Doporučení | -|-----------|-----------| -| **CPU** | 8-16 cores (32+ pro erasure coding) | -| **RAM** | 32-64 GB + 1 GB per 1 TB storage | -| **Storage** | 4-16× NVMe (direct, no RAID) | -| **Network** | 2× 25/100 GbE | -| **OS** | Ubuntu / RHEL, XFS (pro data) | - -### NAS (TrueNAS / FreeNAS) - -- **ZFS**: RAID-Z1/Z2/Z3, compression (lz4, zstd), dedup -- **ARC cache**: 1 GB per 1 TB storage (max 64 GB) -- **L2ARC**: NVMe cache (optional, read-heavy) -- **SLOG**: NVDIMM / Optane (sync write, ZIL) -- **Network**: 2-4× 10/25 GbE LACP - ---- - -## 5. Web / API servery - -| Parametr | Doporučení | -|----------|-----------| -| **CPU** | High clock, 8-32 cores | -| **RAM** | 32-128 GB | -| **Storage** | 2× NVMe RAID 1 (OS + app) | -| **OS** | Ubuntu / RHEL, optimized kernel | -| **Network** | 2× 10/25 GbE (bonding) | - -**Kernel tuning:** -``` -net.ipv4.tcp_tw_reuse = 1 -net.ipv4.tcp_fin_timeout = 15 -net.core.somaxconn = 65535 -net.ipv4.tcp_max_syn_backlog = 65535 -net.core.netdev_max_backlog = 65535 -``` - ---- - -## Rychlý decision tree — výběr serveru podle workloadu, velikosti a storage - -```mermaid -flowchart TD - W["Jaký workload?"] --> DB["Databáze"] - W --> HV["Virtualizace"] - W --> K8s["Kubernetes"] - W --> AI["AI/ML"] - W --> ST["Storage server"] - W --> WEB["Web / API"] - - DB --> DBS{"Velikost firmy"} - DBS -->|"< 500"| DB1["1× EPYC 8-16C, 64-256 GB
NVMe RAID10, 2× 25GbE"] - DBS -->|"500-5000"| DB2{"Storage"} - DB2 -->|"Lokální"| DB2L["1-2× EPYC 16-24C, 128-512 GB
NVMe RAID10, 4× 25GbE"] - DB2 -->|"Ceph"| DB2C["2× EPYC 16-32C, 256-512 GB
RBD, 4× 25/100GbE"] - DBS -->|"Enterprise"| DB3{"Storage"} - DB3 -->|"FC SAN"| DB3F["2× EPYC 48-128C, 512-2048 GB
SAN LUN + 2× FC 32/64G"] - DB3 -->|"Ceph"| DB3C["2× EPYC 32-64C, 256-512 GB
RBD, 4× 100GbE"] - DBS -->|"Cloud"| DBC["RDS/Azure SQL/CloudSQL
Managed, Multi-AZ"] - - DB --> ORACLE{"Oracle architektura?"} - ORACLE -->|"Standalone"| ORA1["1-2× EPYC 8-24C
64-512 GB, ASM local/FC
2× 25GbE + FC 32G"] - ORACLE -->|"Data Guard"| ORA2["2× EPYC 32-64C
256-1024 GB, FC SAN
2× 25/100GbE + 2× FC 64G
2× 25GbE (DG sync)"] - ORACLE -->|"RAC 2-4 nodes"| ORA3["Per node: 2× EPYC 32-64C
512-2048 GB, FC SAN
2× 100GbE (app)
2× FC 64G (storage)
2× 100GbE RoCE (interconnect)"] - ORACLE -->|"Exadata"| ORA4["Engineered system
2-8 DB servers + 3-18 storage
RoCE 100GbE, Smart Scan
15-30 kW/rack"] - - HV --> HVS{"Počet hostů"} - HVS -->|"2-3"| HV1["1× EPYC 12-24C, 128-256 GB
RAID5/6 SSD, 2-4× 10/25GbE"] - HVS -->|"3-6"| HV2{"HCI"} - HV2 -->|"vSAN"| HV2V["1-2× EPYC 16-32C, 256-512 GB
NVMe cache + SSD, 4× 25GbE"] - HV2 -->|"Ceph"| HV2C["1× EPYC 12-24C, 128-256 GB
4-8× HBA NVMe/SSD, 4× 25GbE"] - HVS -->|"6+"| HV3["2× EPYC 32-64C, 512-2048 GB
FC SAN 32/64G, 4-8× 25/100GbE"] - HVS -->|"20+"| HV4["2× EPYC 64-128C, 512-1024 GB
OpenStack + Ceph, 4-8× 100GbE"] - - K8s --> K8T{"Typ uzlu"} - K8T -->|"General"| K8G["16-32C, 64-128 GB
2× NVMe, 2× 25GbE"] - K8T -->|"Memory"| K8M["32-64C, 256-512 GB
3× NVMe, 2× 25GbE"] - K8T -->|"GPU"| K8U["32-64C, 512-1024 GB
6-10× NVMe, H100/B200, 4× 100GbE"] - K8T -->|"Storage"| K8S["16-32C, 64-128 GB
6-14× HBA NVMe, 4× 25GbE"] - - AI --> AIT{"Účel"} - AIT -->|"Trénování"| AITR["GPU H100/B200, NVLink
InfiniBand 400Gb/s, liquid cooling"] - AIT -->|"Inference"| AIIR["A100/H200, MIG
PCIe 5.0, 2× 100GbE"] - - ST --> STT{"Typ"} - STT -->|"Ceph OSD"| STC["EPYC (PCIe lanes)
4-8 GB/OSD, HBA, 2× 25/100GbE"] - STT -->|"MinIO"| STM["EPYC 8-16C, 32-64 GB
4-16× NVMe direct, 2× 25/100GbE"] - STT -->|"NAS (ZFS)"| STN["EPYC 16-32C, 64-128 GB
RAID-Z, SLOG NVMe, 2-4× 10/25GbE"] - - WEB --> WEBE["EPYC high clock, 8-32C
32-128 GB, 2× NVMe RAID1, 2× 10/25GbE"] -``` - -### Connectivity summary podle platformy - -| Platforma | App / VM síť | Storage síť | Replikace / Cluster | Management | -|-----------|-------------|-------------|---------------------|------------| -| **DB lokální (malá)** | 2× 25 GbE LACP | — | 2× 25 GbE (sdílené) | 1× 1 GbE (iLO) | -| **DB lokální (střední)** | 2× 25/100 GbE LACP | — | 2× 25 GbE dedikované | 1× 1 GbE (iLO) | -| **DB FC SAN** | 2× 25/100 GbE LACP | 2× 32/64 Gb FC multipath | FC replication | 1× 1 GbE (iLO) + SAN mgmt | -| **DB Ceph** | 2× 25/100 GbE | 2× 25/100 GbE (Ceph public) | 2× 25/100 GbE (Ceph cluster) | 1× 1 GbE (iLO) | -| **Hypervisor lokální** | 2-4× 10/25 GbE LACP | — (lokální) | — | 1× 1 GbE (iLO) | -| **Hypervisor vSAN** | 2× 25/100 GbE LACP | 2× 25/100 GbE (vSAN) | vSAN traffic | 1× 1 GbE (iLO) | -| **Hypervisor FC SAN** | 2-4× 25/100 GbE LACP | 2× 32/64 Gb FC multipath | 2× 25 GbE (vMotion) | 1× 1 GbE (iLO) | -| **Hypervisor Ceph** | 2× 25/100 GbE LACP | 2× 25/100 GbE (Ceph) | 2× 25 GbE (migration) | 1× 1 GbE (iLO) | -| **Kubernetes** | 2× 25/100 GbE | 2× 25/100 GbE (Ceph/Longhorn) | 2× 25/100 GbE (K8s cluster) | 1× 1 GbE (BMC) | -| **Web/API** | 2× 10/25 GbE LACP | — | — | 1× 1 GbE (BMC) | -| **Oracle Standalone** | 2× 25 GbE LACP | 2× FC 32G nebo NVMe local | Data Guard 2× 25 GbE | 1× 1 GbE (iLO) + ASM mgmt | -| **Oracle Data Guard** | 2× 25/100 GbE LACP | 2× FC 64G multipath | 2× 25 GbE (DG sync) | 1× 1 GbE (iLO) + SAN mgmt | -| **Oracle RAC** | 2× 100 GbE LACP (VIP/SCAN) | 2× FC 64G multipath | 2× 100 GbE RoCE (Cache Fusion) | 1× 1 GbE (iLO) + Clusterware | -| **Oracle Exadata** | 4-8× 100 GbE RoCE | NVMe over Fabric | RDMA interconnect | Exadata CLI + OEDA | - -## Zdroje - -Odkazy, knihy a standardy: [sources/infrastructure/sources.md](sources/infrastructure/sources.md) - -*Poslední revize: 2026-06-03*