Er is geen live migratie tussen steden
Wie jou er een aanbiedt, kopieert geheugenpagina's over een pad met honderd milliseconden latentie, en wat aankomt zal langzamer zijn dan wat vertrok. Wij doen de eerlijke versie: stoppen, schijf kopiëren, opstarten aan de andere kant. Tussen twee Europese locaties is een schijf van tweehonderd gigabyte meestal binnen tien minuten klaar. Over een oceaan, reken op hetzelfde nog eens.
Kopieën lopen over onze eigen backbone en tellen niet mee voor je fair-use-quotum.
De volgorde
- Verlaag de TTL op elk DNS-record dat naar de instantie wijst, minstens een dag van tevoren. Zestig seconden is precies goed terwijl je verhuist.
- Maak een snapshot. Die blijft op de oude locatie totdat je hem verwijdert, en het is waar je op terugvalt.
- Vraag de verhuizing aan, met vermelding van de code van de bestemmingslocatie.
- De instantie stopt, de schijf wordt gekopieerd en start op de bestemming met een nieuw IPv4 en een nieuwe /64.
- Werk de A- en AAAA-records bij, stel reverse DNS in op de nieuwe adressen en zoek alles wat een adres hardcodeert.
- Verhoog de TTL weer zodra je tevreden bent.
curl -s -X POST https://paragonvps.com/api/v1/instances/<instance-id>/migrate -H "Authorization: Bearer $Paragon_TOKEN" -H "Content-Type: application/json" -d '{"site":"FRA-01"}'curl -s https://paragonvps.com/api/v1/jobs/<job-id> -H "Authorization: Bearer $Paragon_TOKEN" | jq -r .stateHet oude adres
Zeventig uur na de verhuizing vastgehouden, zodat je er een redirect op kunt zetten en alles wat er nog naar verwijst kunt vangen. Daarna gaat het terug naar de pool. Laat het ons vóór de verhuizing weten als je het langer nodig hebt en we houden het.
Het alternatief met vrijwel nul downtime
Waar tien minuten stilstand onacceptabel is, bouw dan eerst de bestemming en kopieer terwijl het origineel nog draait:
rsync -aHAX --numeric-ids --info=progress2 --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run /srv/ deploy@<new-ipv4>:/srv/Voer het twee keer uit: een keer met de service omhoog, een keer na het stoppen, zodat de tweede keer alleen het delta-meeneemt. Knip DNS tussen de twee runs. Dit is meer werk en meer risico dan een schijfkopie, en het is het juiste antwoord voor een database met een replica en het verkeerde antwoord voor een webserver die zo lang als een kop koffie down kan zijn.
Kiezen waar je naartoe gaat
Latentiemediaan van onze eigen probes staan op de locatiepagina. Rechtsgebied is de andere helft van de beslissing en, voor een groot deel van onze klanten, de grotere helft — de locatie die je kiest bepaalt onder wiens wet je schijf ligt, en geen supportticket verandert dat daarna.
Voorraad doet er ook toe. Een locatie die als laag wordt gemarkeerd, neemt de bestelling aan en neemt vervolgens de tijd om die te vullen, en een pre-orderlocatie is niet de plek om een draaiende service naartoe te verhuizen.
Wat er breekt
- Windows-licenties activeren op basis van hardware en adres. Verwachting: opnieuw activeren.
- Alles wat op adres vastgepind is in andermans firewall. Vraag het hun vóór de verhuizing, niet nadat de telefoon gaat.
- Hardgecodeerde adressen in je eigen configuratie.
grep -rde configuratiemap terwijl de oude instantie nog draait, want dan zijn de antwoorden makkelijk te controleren.