new files
This commit is contained in:
246
DC-MIGRATION.md
Normal file
246
DC-MIGRATION.md
Normal file
@@ -0,0 +1,246 @@
|
||||
# 🏗️ Migrace datových center
|
||||
|
||||
## Strategie migrace
|
||||
|
||||
| Strategie | RTO | RPO | Riziko | Náklady | Doba trvání | Popis |
|
||||
|-----------|-----|-----|--------|---------|-------------|-------|
|
||||
| **Cold / Big Bang** | hodiny–dny | dny | Vysoké | Nízké | dny | Vše najednou vypnout, přesunout, zapnout |
|
||||
| **Phased / Wave** | minuty (per wave) | minuty | Střední | Střední | týdny–měsíce | Workloady po vlnách |
|
||||
| **Rolling** | 0 (live) | 0 | Nízké | Vysoké | měsíce | Live migration per VM/služba |
|
||||
| **Parallel Run** | 0 | 0 | Nízké | Velmi vysoké | měsíce | Oba DC v provozu, postupný přechod |
|
||||
| **Pilot Light** | hodiny | minuty | Střední | Nízké | týdny | Kritické služby v novém DC, ostatní se přesouvají |
|
||||
| **Lift & Shift** | hodiny | minuty | Střední | Nízké | týdny | VM/servery přesunuty bez změny konfigurace |
|
||||
| **Re-platform** | hodiny | minuty | Nízké | Střední | měsíce | Optimalizace během migrace (OS upgrade, resize) |
|
||||
| **Re-architect** | 0 | 0 | Nízké | Vysoké | měsíce–roky | Aplikace přepracována pro novou platformu |
|
||||
|
||||
---
|
||||
|
||||
## Rozhodovací strom
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start(["Migrace DC"]) --> APP{"Aplikace\nstateful?"}
|
||||
APP -->|"Ano"| DOWNTIME{"Toleruje\nvýpadek?"}
|
||||
APP -->|"Ne"| ROLLING["Rolling / Parallel Run"]
|
||||
|
||||
DOWNTIME -->|"Ano, hodiny+"| COLD["Cold / Big Bang\nNejjednodušší, nejlevnější\nRiziko: vše najednou"]
|
||||
DOWNTIME -->|"Ano, minuty"| PHASED["Phased / Wave\nPo aplikacích / byznys jednotkách"]
|
||||
DOWNTIME -->|"Ne (zero downtime)"| SYNC{"Sync replikace\nmožná?"}
|
||||
|
||||
SYNC -->|"Ano, < 100 km"| ROLLING
|
||||
SYNC -->|"Ne"| PARALLEL["Parallel Run\nOba DC aktivní, postupný cutover"]
|
||||
|
||||
ROLLING --> ROLL_HA{"VMware,\nHyper-V?"}
|
||||
ROLL_HA -->|"Ano"| VMOTION["vMotion / Storage vMotion\nLive migration, 0 downtime"]
|
||||
ROLL_HA -->|"Ne"| ROLL_REPL["Storage + DB replikace\nPostupný přesun workloadů"]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fáze migrace
|
||||
|
||||
### 1. Discovery a assessment
|
||||
|
||||
| Úkol | Nástroje | Výstup |
|
||||
|------|----------|--------|
|
||||
| Inventarizace HW a SW | RVTools, NetBox, CMDB | Seznam všech serverů, VM, služeb |
|
||||
| Dependency mapping | ServiceNow, AppDynamics, manual | Aplikační dependency graf |
|
||||
| Traffic analysis | NetFlow, sFlow, vRNI | BANDWIDTH, latency, peak usage |
|
||||
| Výkonnostní baseline | Prometheus, Zabbix, vRealize | CPU/RAM/disk/network per workload |
|
||||
| Licenční audit | Flexera, SAM | Licence, support, compliance |
|
||||
|
||||
**Výstupem je:** seznam workloadů s RTO/RPO, závislostmi a kritičností. Bez toho nelze naplánovat migraci.
|
||||
|
||||
### 2. Plánování
|
||||
|
||||
- **Wave plán** — rozdělení workloadů do migračních vln (10–50 VM na vlnu)
|
||||
- **Závislostní řazení** — DNS, NTP, LDAP, PKI musí být první
|
||||
- **Cutover okno** — časové okno pro přepnutí (typicky víkend)
|
||||
- **Rollback plán** — podmínky a postup pro vrácení
|
||||
- **Testovací plán** — co a jak testovat po migraci
|
||||
- **Komunikační plán** — kdo, kdy, jak je informován
|
||||
|
||||
### 3. Příprava nového DC
|
||||
|
||||
- **Infrastruktura** — DNS, NTP, DHCP, LDAP/AD, PKI, monitoring (viz [DATACENTERS.md](DATACENTERS.md) — deployment order)
|
||||
- **Network** — BGP peering, VXLAN/VLAN, firewall pravidla, load balancery
|
||||
- **Storage** — SAN zoning, NAS exports, Ceph cluster
|
||||
- **Virtualizace** — vCenter, Hyper-V cluster, Proxmox
|
||||
|
||||
### 4. Replikace a synchronizace
|
||||
|
||||
| Vrstva | Metoda | Nástroje |
|
||||
|--------|--------|----------|
|
||||
| **Storage (block)** | SAN sync/async mirror, LUN replication | NetApp SnapMirror, Dell EMC RecoverPoint, Pure ActiveCluster |
|
||||
| **Storage (file)** | DFS-R, rsync, robocopy | Windows DFS, Rsync |
|
||||
| **Storage (object)** | Cross-region replication | MinIO replication, S3 CRR |
|
||||
| **Databáze** | Log shipping, CDC, streaming replication | PostgreSQL Patroni, Oracle Data Guard, MSSQL AlwaysOn, MySQL Group Replication |
|
||||
| **VM** | Storage vMotion, replication | VMware vSphere Replication, Hyper-V Replica, Zerto |
|
||||
| **Kubernetes** | Velero + Restic, Rook Ceph mirror | Velero, Rook |
|
||||
|
||||
### 5. Migrace workloadů
|
||||
|
||||
#### Wave migrace (doporučeno pro střední/větší DC)
|
||||
|
||||
```mermaid
|
||||
gantt
|
||||
title Wave migrace
|
||||
dateFormat YYYY-MM-DD
|
||||
section Wave 1 - Core
|
||||
DNS, NTP, LDAP :done, w1a, 2026-07-01, 3d
|
||||
Monitoring + logging :done, w1b, after w1a, 2d
|
||||
section Wave 2 - Network
|
||||
Load balancers :active, w2a, 2026-07-06, 2d
|
||||
Firewalls :active, w2b, 2026-07-08, 2d
|
||||
section Wave 3 - Storage
|
||||
NAS migrace :w3a, 2026-07-10, 5d
|
||||
SAN replication :w3b, 2026-07-10, 3d
|
||||
section Wave 4 - Dev/Test
|
||||
Dev VMs :w4a, 2026-07-15, 5d
|
||||
section Wave 5 - Prod tier 3
|
||||
Internal apps :w5a, 2026-07-22, 5d
|
||||
section Wave 6 - Prod tier 2
|
||||
Business apps :w6a, 2026-07-29, 5d
|
||||
section Wave 7 - Prod tier 1
|
||||
Critical apps :w7a, 2026-08-05, 5d
|
||||
```
|
||||
|
||||
#### Typický postup jedné vlny:
|
||||
|
||||
1. **Den -7**: Sync replikace dat (initial seed)
|
||||
2. **Den -1**: Incremental sync, final test
|
||||
3. **Den 0 (cutover)**:
|
||||
- Zastavení aplikace ve zdrojovém DC
|
||||
- Final sync (poslední delta)
|
||||
- Start aplikace v cílovém DC
|
||||
- DNS/Traffic switch
|
||||
- Smoke test
|
||||
4. **Den +1**: Monitorování (výkon, chyby, lag)
|
||||
5. **Den +7**: Rollback window end (potvrzení úspěchu)
|
||||
|
||||
### 6. Síťové strategie
|
||||
|
||||
#### IP re-addressing
|
||||
|
||||
| Přístup | Popis | Výhody | Nevýhody |
|
||||
|---------|-------|--------|----------|
|
||||
| **Keep IP** | Stejné IP, BGP anycast nebo stretch VLAN | Není třeba měnit konfiguraci aplikací | Stretched VLAN/L2 omezení |
|
||||
| **Change IP** | Nový IP rozsah, DNS/BGP routing změna | Čistá architektura | Změny konfigurací, DNS TTL |
|
||||
| **NAT překlad** | NAT mezi starým a novým IP spacem | Bez změny aplikací | Latence, komplexita troubleshooting |
|
||||
|
||||
**Keep IP** je možný jen:
|
||||
- L2 stretch mezi DC (VXLAN, OTV) — omezeno vzdáleností
|
||||
- BGP anycast pro VIP (load balancery)
|
||||
- Aplikace tolerující ARP cache změny
|
||||
|
||||
#### DNS cutover
|
||||
|
||||
```
|
||||
1. Snížit TTL na 60–300 s (týden předem)
|
||||
2. Při cutoveru změnit A/AAAA záznamy na nové IP
|
||||
3. Počkat na propagaci (dle TTL)
|
||||
4. Monitorovat traffic
|
||||
```
|
||||
|
||||
#### Traffic steering
|
||||
|
||||
| Technika | Use case |
|
||||
|----------|----------|
|
||||
| **BGP** | Změna AS path / local pref pro přesměrování trafficu |
|
||||
| **DNS** | Snížení TTL, change A records |
|
||||
| **Load balancer** | Změna pool members, health check |
|
||||
| **GSLB** | Global Server Load Balancing (F5 GTM, NSX ALB) |
|
||||
| **Cloud DNS** | AWS Route53, Azure Traffic Manager, Google Cloud DNS |
|
||||
|
||||
### 7. Databázová migrace
|
||||
|
||||
Viz detail v jednotlivých DB souborech. Tabulka shrnutí:
|
||||
|
||||
| DB | Metoda | RPO | RTO | Poznámka |
|
||||
|----|--------|-----|-----|----------|
|
||||
| **PostgreSQL** | Streaming replication + Patroni switchover | 0 (sync) / ~MB (async) | min | Patroni auto-failover |
|
||||
| **MySQL** | Group Replication / async replication | 0 (sync) / sekundy | min | InnoDB Cluster |
|
||||
| **Oracle** | Data Guard switchover | 0 (sync) | min | Far sync pro vzdálené DC |
|
||||
| **MSSQL** | AlwaysOn AG failover | 0 (sync) | min | Cloud witness |
|
||||
| **MongoDB** | Replica set election | sekundy | < 1 min | Priority-based failover |
|
||||
| **Cassandra** | Multi-DC replication | eventual | 0 | Nativní multi-master |
|
||||
|
||||
### 8. Testování
|
||||
|
||||
| Fáze | Co testovat | Metoda |
|
||||
|------|-------------|--------|
|
||||
| **Pre-migrace** | Aplikace v novém DC (izolovaně) | Dry run na replikovaných datech |
|
||||
| **Cutover** | Funkčnost, dostupnost, latence | Smoke test, synthetic transactions |
|
||||
| **Post-migrace** | Výkon, integrace, monitoring | A/B comparison s baseline, canary traffic |
|
||||
| **Rollback** | Návrat ke starému DC | Testovaný rollback plán |
|
||||
|
||||
### 9. Rollback plán
|
||||
|
||||
Každá vlna musí mít definovaný rollback:
|
||||
|
||||
| Podmínka | Akce |
|
||||
|----------|------|
|
||||
| Aplikace nestartuje v novém DC | Přepnutí DNS zpět, zastavení replikace |
|
||||
| Výkon horší než baseline (o > 20 %) | Rollback, analýza příčiny |
|
||||
| Integrační selhání (API timeout, DB connection) | Rollback, dependency check |
|
||||
| Bezpečnostní incident | Rollback, forenzní analýza |
|
||||
|
||||
Rollback by měl být otestován **před** reálným cutoverem.
|
||||
|
||||
---
|
||||
|
||||
## Speciální případy
|
||||
|
||||
### Mainframe migrace
|
||||
|
||||
- **IBM z/OS** — GDPS (Geographically Dispersed Parallel Sysplex)
|
||||
- HyperSwap pro storage mirroring
|
||||
- Cross-system coupling facility (XCF)
|
||||
- Často poslední migrovaná komponenta
|
||||
|
||||
### COTS aplikace (Oracle EBS, SAP)
|
||||
|
||||
- Vyžadují specifické migrační postupy výrobce
|
||||
- Oracle EBS: Autoconfig, cloning (ADXLC)
|
||||
- SAP: System Copy (Homogeneous / Heterogeneous), SWPM, SUM
|
||||
- Licenční re-licensing při změně HW
|
||||
|
||||
### Cloud migrace (On-prem → Cloud)
|
||||
|
||||
Viz [CLOUD.md](CLOUD.md) — migrační strategie (6 Rs):
|
||||
|
||||
| Strategie | Popis |
|
||||
|-----------|-------|
|
||||
| **Re-host (Lift & Shift)** | VM → Cloud VM (AWS MGN, Azure Migrate) |
|
||||
| **Re-platform** | OS upgrade, managed DB (RDS, Cloud SQL) |
|
||||
| **Re-architect** | Aplikace přepsána na cloud-native |
|
||||
| **Retire** | Zastavení nepotřebných aplikací |
|
||||
| **Retain** | Aplikace zůstává on-prem (revize později) |
|
||||
| **Repurchase** | SaaS náhrada |
|
||||
|
||||
---
|
||||
|
||||
## Doporučený postup per velikost DC
|
||||
|
||||
| Velikost DC | Počet VM | Doporučená strategie | Doba trvání | Tým |
|
||||
|-------------|----------|---------------------|-------------|-----|
|
||||
| **Small** | < 50 | Big Bang (víkend) | 2–4 dny | 3–5 lidí |
|
||||
| **Medium** | 50–500 | Phased (5–10 wave) | 2–8 týdnů | 5–10 lidí |
|
||||
| **Large** | 500–5000 | Phased + Rolling | 3–12 měsíců | 10–30 lidí |
|
||||
| **Enterprise** | 5000+ | Parallel Run / Rolling | 12–36 měsíců | 30+ lidí |
|
||||
|
||||
---
|
||||
|
||||
## Související
|
||||
|
||||
- [DATACENTERS.md](DATACENTERS.md) — DC topologie, sekundární DC, deployment order
|
||||
- [CLOUD.md](CLOUD.md) — cloud migrační strategie (6 Rs)
|
||||
- [DR.md](DR.md) — disaster recovery, RTO/RPO
|
||||
- [NETWORKING.md](NETWORKING.md) — BGP, DNS, VXLAN, traffic steering
|
||||
- [STORAGE.md](STORAGE.md) — storage replikace
|
||||
|
||||
## Zdroje
|
||||
|
||||
Odkazy, knihy a standardy: [sources/infrastructure/sources.md](sources/infrastructure/sources.md)
|
||||
|
||||
*Poslední revize: 2026-06-12*
|
||||
Reference in New Issue
Block a user