Varukoopia ja taastamine
Sinu rakendus on tootmises elus. Varunda see. rdc kopeerib terve repositooriumi, rakenduse, selle andmebaasi, failid ja konfiguratsiooni, teise masinasse ja toob selle tagasi, kui esimene on kadunud.
See juhend ei piirdu kirjeldamisega. See teeb seda, kahel päris masinal, ja loeb lõpuks andmed tagasi.
Kolm sammu
- Kopeeri repositoorium masinasse, mida sa kontrollid.
- Taasta see koopia oma repositooriumina.
- Tõesta seda, lugedes oma andmed tagasi.
1. samm: andmed, mis peavad üle elama
rdc term connect my-app --command 'cat orders.txt' Loe kõigepealt andmed välja töötavast repository'st. Üks rida ühes failis, et lõpptõestus oleks midagi, mida saad ise näha, mitte midagi, mida pead uskuma.
Kõike allpool hinnatakse selle ühe rea järgi. Jälgi seda uuesti 7. sammus.
2. samm: kopeeri repositoorium teise masinasse
rdc repo push my-app --to machine-12 Kopeeri repository teise masinasse. Esimene tõuge kannab üle kogu krüpteeritud image'i, sellel serverifarmil umbes kaks gigabaiti kolmekümne kuni neljakümne sekundiga, ja iga järgnev tõuge saadab ainult muutunud plokid. Sihtmasinasse jõuab varukoopia artefakt, mitte teine töötav repository.
Deltaülekande juhend näitab selle inkrementaalset poolt otseülekandes.
Artefakt ei ole töötav repositoorium, ja see ongi täpselt põhjus, miks 5. samm eksisteerib.
3. samm: varundusmasinal on see olemas
rdc repo list --machine machine-12 Küsi varundusmasinalt, mida ta hoiab. Koopia ilmub oma nime all, mis on lahendatud sinu config'ist. Teine rida, mis kannab toorest identifikaatorit, on säilitatud delta-baas, mis teebki järgmise tõuke sellesse masinasse astmeliseks.
4. samm: katastroof
rdc repo down my-app --unmount Võta peamasin võrguühenduseta: peata selle teenused ja ühenda krüpteeritud köide lahti. Edaspidi töötab kõik teises masinas oleva koopia peal.
5. samm: muuda artefakt repositooriumiks
rdc backup restore my-app@machine-12 --as my-app-restored --machine machine-12 --yes Restore on käsk, mis muudab tõugatud koopia repository'ks. Seda nimetatakse lipuga --as, paigutatakse lipuga --machine ja kinnitatakse lipuga --yes. Taastamine uue nime all ei kirjuta midagi üle, mistõttu on seda turvaline harjutada töötaval masinal.
Tee seda üks kord masina kohta, enne kui seda vajad. Masin, mis pole kunagi täisringi läbinud, ei ole varundatud, ükskõik kui tervelt selle tõuked välja näevad, ja uue nime alla taastamine on ohutu masinal, mis teenindab päris liiklust.
6. samm: ühenda see
rdc repo up my-app-restored --no-start Ühenda taastatud repository. Konteinerid jäävad meelega seisma: siin tõestatakse andmeid, mitte rakendust.
7. samm: andmed jäid alles
rdc term connect my-app-restored --command 'cat orders.txt' Sama käsk mis esimeses sammus, käivitatud repository vastu, mida kaks käsku tagasi ei olnud olemas. Rida tuleb tagasi baidi täpsusega, masinast, mis polnud kunagi originaal.
Pane kaks kõrvuti. 1. samm, algsest repositooriumist esmasel masinal:
order-1042 paid 2026-08-16
- samm, repositooriumist, mida kaks käsku tagasi veel ei olnud, teisel riistvaral:
order-1042 paid 2026-08-16
See ongi juhend. Mitte aruanne, et varukoopia õnnestus, vaid see rida ise, teisest masinast tagasi loetuna.
8. samm: varukoopiad, mille kaudu saad tagasi kerida
rdc backup snapshot my-app Masinasse kopeerimine annab sulle repository sellisena, nagu see praegu on. Ajaloo jaoks, mille kaudu saad tagasi kerida, lähevad hetktõmmised chunk-hoidlasse: esimene käivitus laadib üles kirjutatud plokid, iga järgnev käivitus ainult selle, mis muutus, ja iga hetktõmmist saab taastada iseseisvalt. See käsk on siin ainult kirjutatud, mitte käivitatud, sest üleslaadimiseks on vaja kontoserverit ja litsentseeritud repository't, kummalgi pole salvestusel olemas. Sinu enda installatsioonis, kontoga, on see õige käsk.
Sinu enda installatsioonis, kontoga, on täielik jada:
rdc backup snapshot my-app
rdc backup manifests my-app
rdc backup restore my-app --as my-app-yesterday --at <snapshot-id> --up
Varundamise ja taastamise juhend käsitleb hetktõmmiseid, säilitamist ja kinnitamist täies mahus.
Edasi: Võrgustik ja domeenid.