Migratiegids

VPS-gegevens veilig migreren met rsync

Gebruik rsync om gewone bestandssysteemgegevens via SSH van een bron-VPS naar een bestemming te kopiëren. Onderbreek daarna kort alle schrijfbewerkingen, voer een laatste synchronisatie uit, valideer de applicatie en schakel het verkeer om met een terugvalmogelijkheid. Rsync is geen universeel hulpmiddel voor livemigratie: databases, containers, opstartbestanden, apparaten, geheimen en actieve wachtrijen vereisen een applicatiebewuste aanpak.

Belangrijkste feiten

Transport
Rsync via geauthenticeerde SSH
Eerste stap
Inventariseer gegevens en voer een proefrun uit
Consistentie
Stop of pauzeer schrijvende processen voor de laatste ronde
Veilige standaard
Gebruik `--delete` niet bij de eerste migratie

Inventariseer vóór het kopiëren

Maak een overzicht van applicatiebestanden, eigenaarschap, ACL’s, uitgebreide attributen, databases, geheimen, geplande taken, diensten, firewallregels, DNS, certificaten en externe opslag. Controleer of de bestemming voldoende capaciteit en compatibele gebruikers, bestandssystemen, pakketten van het besturingssysteem en applicatieversies heeft. Verlaag de DNS-TTL vóór de omschakeling alleen als dat in uw DNS-plan past; gecachete records kunnen langer blijven bestaan dan verwacht.

Maak en verifieer een onafhankelijke back-up van de bron. Houd de bron tijdens de eerste overdracht ongewijzigd en beschikbaar. Definieer controles voor succes en een terugvalbeslissing voordat u een onderhoudsvenster aankondigt.

  • Kopieer virtuele bestandssystemen zoals /proc, /sys, /dev of /run niet als gewone gegevens.
  • Gebruik waar passend de eigen back-up-, replicatie- of dumphulpmiddelen van de database.
  • Plaats privésleutels nooit in opdrachtgeschiedenis of gedeelde notities.

Kopieer applicatiegegevens eerst met een proefrun

Test voor een map zoals /srv/app/ de bewerking vanaf de bron met sudo rsync -aHAX --numeric-ids --info=progress2 --dry-run -e "ssh -i /root/.ssh/migration_key" /srv/app/ admin@DESTINATION:/srv/app/. Vervang de gebruiker, het sleutelpad, de bestemming en gegevenspaden. De afsluitende slash betekent dat de inhoud van de bronmap wordt gekopieerd in plaats van een extra mapniveau te maken.

Controleer ieder pad en iedere fout. Zorg dat het externe account veilig naar de bestemming kan schrijven; rootaanmelding is niet nodig en vaak uitgeschakeld. Is de uitvoer van de proefrun correct, herhaal de opdracht dan zonder --dry-run. Voeg niet zomaar --delete toe om mappen gelijk te maken: door een verkeerde bron of bestemming kunnen waardevolle gegevens verdwijnen.

  • Voer de opdracht bij grote overdrachten in een blijvende terminalsessie uit.
  • Beperk de bandbreedte als de kopie productieverkeer kan beïnvloeden.
  • Leg opdrachtopties en toolversies vast in het migratiedossier.

Pauzeer schrijfbewerkingen en voer de laatste ronde uit

Zet de applicatie volgens de documentatie in onderhoudsmodus of alleen-lezenstand. Stop de specifieke schrijvende diensten via hun ondersteunde procedure en maak vervolgens de laatste databaseback-up of rond replicatie af. Voer dezelfde rsync-opdracht opnieuw uit, zodat alleen gewijzigde bestandsgegevens worden overgedragen. Houd de onderhoudstoestand aan totdat de validatie klaar is.

Start de diensten op de bestemming met de bedoelde configuratie, beperk aanvankelijk zo mogelijk de publieke toegang en voer controles uit op gezondheid, aanmelding, schrijven, wachtrijen, certificaten, logs en afhankelijkheden. Werk DNS of routing pas bij nadat die tests slagen. Wijzig niet in hetzelfde venster zowel de applicatieversie als de hostinglocatie, tenzij het gecombineerde risico uitdrukkelijk is aanvaard.

  • Leg het tijdstip vast waarop schrijfbewerkingen definitief stopten en noteer het synchronisatieresultaat.
  • Controleer bestandseigenaarschap en verplichte toegangsregels.
  • Bewaak tijdens de DNS-overgang zowel het oude als het nieuwe eindpunt.

Verifieer, observeer en behoud een terugvalmogelijkheid

Voer voor een diepere bestandsvergelijking tijdens een geschikt venster de oorspronkelijke rsync-opdracht uit met --checksum --dry-run; checksums lezen beide datasets en kunnen veel middelen kosten. Gebruik voor databases en objectopslag bij voorkeur integriteitscontroles op applicatieniveau. Bewaak na de omschakeling fouten, latency, middelengebruik, achtergrondtaken en externe terugkoppelingen.

Houd de bron intact, maar voorkom schrijfbewerkingen aan beide kanten totdat het terugvalvenster sluit. Volg daarna het plan voor bewaring en veilige verwijdering. Een migratie is pas voltooid wanneer back-ups, monitoring, documentatie en herstelprocedures naar de bestemming verwijzen.

Bronnen

  1. Officiële handleiding voor rsync
Veelgestelde vragen

Veelgestelde vragen

Kan rsync een actieve database veilig kopiëren?

Een bestandskopie van een actieve database kan inconsistent zijn. Gebruik het ondersteunde dump-, back-up-, snapshotcoördinatie- of replicatieproces van de database.

Moet ik `--delete` gebruiken?

Niet bij een eerste migratie. Is het later nodig, voer dan eerst --delete --dry-run uit, controleer beide paden en behoud een herstelbare back-up.

Waarom zijn rechten gewijzigd?

De doelgebruiker kan onvoldoende rechten hebben, numerieke ID’s kunnen afwijken of het doelbestandssysteem ondersteunt mogelijk niet dezelfde ACL’s of attributen. Controleer compatibiliteit vóór de omschakeling.