Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Tässä huomautuksessa käsitellään varmuuskopiointityökaluja, jotka tekevät varmuuskopioita luomalla arkistoja varmuuskopiopalvelimelle.

Vaatimukset täyttävien joukossa ovat duplicity (jolla on mukava käyttöliittymä deja dupin muodossa) ja duplicati.

Toinen erittäin merkittävä varmuuskopiointityökalu on dar, mutta koska siinä on erittäin laaja valikoima vaihtoehtoja - testausmenetelmä kattaa tuskin 10% siitä, mihin se pystyy - emme testaa sitä osana nykyistä sykliä.

Odotetut tulokset

Koska molemmat ehdokkaat luovat arkistoja tavalla tai toisella, tavallista tervaa voidaan käyttää oppaana.

Lisäksi arvioimme, kuinka hyvin tietojen tallennus tallennuspalvelimella on optimoitu luomalla varmuuskopiot, jotka sisältävät vain eron täydellisen kopion ja tiedostojen nykyisen tilan välillä tai edellisen ja nykyisen arkiston välillä (inkrementaalinen, dekrementaalinen jne.) .

Käyttäytyminen varmuuskopioita luotaessa:

  1. Varmuuskopiotallennuspalvelimella on suhteellisen pieni määrä tiedostoja (verrattavissa varmuuskopioiden määrään tai datan kokoon GB), mutta niiden koko on melko suuri (kymmeniä - satoja megatavuja).
  2. Arkiston koko sisältää vain muutokset - kaksoiskappaleita ei tallenneta, joten arkiston koko on pienempi kuin rsync-pohjaisissa ohjelmistoissa.
  3. Odota raskasta suorittimen kuormitusta käytettäessä pakkausta ja/tai salausta ja todennäköisesti melko suurta verkon ja levyn kuormitusta, jos arkistointi- ja/tai salausprosessi on käynnissä varmuuskopiotallennuspalvelimella.

Suoritetaan seuraava komento viitearvona:

cd /src/dir; tar -cf - * | ssh backup_server "cat > /backup/dir/archive.tar"

Toteutustulokset olivat seuraavat:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Toteutusaika 3m12s. Voidaan nähdä, että nopeutta rajoittaa varmuuskopiotallennuspalvelimen levyalijärjestelmä, kuten esimerkissä rsync. Vain hieman nopeammin, koska... tallennus menee yhteen tiedostoon.

Pakkaamisen arvioimiseksi suoritetaan myös sama vaihtoehto, mutta ota pakkaus käyttöön varmuuskopiopalvelimen puolella:

cd /src/dir; tar -cf - * | ssh backup_server "gzip > /backup/dir/archive.tgz"

Tulokset ovat:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Toteutusaika 10m11s. Todennäköisesti pullonkaula on yksivirtauskompressori vastaanottopäässä.

Sama komento, mutta pakkaus siirretään palvelimelle alkuperäisten tietojen kanssa testatakseen hypoteesia, että pullonkaula on yksisäikeinen kompressori.

cd /src/dir; tar -czf - * | ssh backup_server "cat > /backup/dir/archive.tgz"

Siitä tuli näin:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Toteutusaika oli 9m37s. Kompressorin yhteen ytimeen kohdistuva kuormitus näkyy selvästi, koska Verkon siirtonopeus ja lähdelevyalijärjestelmän kuormitus ovat samanlaiset.

Voit arvioida salauksen käyttämällä openssl- tai gpg-komentoa yhdistämällä lisäkomennon openssl tai gpg putkessa. Viitteeksi tulee seuraava komento:

cd /src/dir; tar -cf - * | ssh backup_server "gzip | openssl enc -e -aes256 -pass pass:somepassword -out /backup/dir/archive.tgz.enc"

Tulokset tulivat näin:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Suoritusajaksi osoittautui 10m30s, koska vastaanottopuolella oli käynnissä 2 prosessia - pullonkaula on jälleen yksisäikeinen kompressori plus pieni salauskulu.

UPD: Bliznezzin pyynnöstä lisään testejä pigzin kanssa. Jos käytät vain kompressoria, se kestäisi 6m30s, jos lisäät myös salauksen, se olisi noin 7m. Alakaavion pudotus on tyhjentämätön levyvälimuisti:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Kaksinkertainen testaus

Duplicity on python-ohjelmisto varmuuskopiointiin luomalla salattuja arkistoja tar-muodossa.

Inkrementaalisissa arkistoissa käytetään librsyncia, joten voit odottaa kohdassa kuvattua toimintaa edellinen postaus sarjassa.

Varmuuskopiot voidaan salata ja allekirjoittaa gnupg:lla, mikä on tärkeää käytettäessä eri palveluntarjoajia varmuuskopioiden tallentamiseen (s3, backblaze, gdrive jne.)

Katsotaanpa, mitkä ovat tulokset:

Nämä ovat tulokset, jotka saimme ajaessamme ilman salausta

spoileri

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Kunkin koeajon ajoaika:

Käynnistä 1
Käynnistä 2
Käynnistä 3

16m33s
17m20s
16m30s

8m29s
9m3s
8m45s

5m21s
6m04s
5m53s

Ja tässä ovat tulokset, kun gnupg-salaus on käytössä, avaimen koolla 2048 bittiä:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Käyttöaika samoilla tiedoilla, salauksella:

Käynnistä 1
Käynnistä 2
Käynnistä 3

17m22s
17m32s
17m28s

8m52s
9m13s
9m3s

5m48s
5m40s
5m30s

Lohkon koko ilmoitettiin - 512 megatavua, mikä näkyy selvästi kaavioissa; Prosessorikuormitus pysyi todellisuudessa 50 %:ssa, mikä tarkoittaa, että ohjelma käyttää vain yhtä prosessoriydintä.

Ohjelman toimintaperiaate on myös varsin selkeästi näkyvissä: otettiin pala dataa, pakattiin se ja lähetettiin varmuuskopiotallennuspalvelimelle, mikä voi olla melko hidasta.
Toinen ominaisuus on ohjelman ennakoitavissa oleva käyntiaika, joka riippuu vain muuttuneiden tietojen koosta.

Salauksen käyttöönotto ei merkittävästi pidentänyt ohjelman ajoaikaa, mutta lisäsi prosessorin kuormitusta noin 10%, mikä voi olla varsin mukava bonus.

Valitettavasti tämä ohjelma ei pystynyt havaitsemaan oikein tilannetta hakemiston uudelleennimeämisen yhteydessä, ja tuloksena oleva arkiston koko osoittautui yhtä suureksi kuin muutosten koko (eli kaikki 18 Gt), mutta kyky käyttää epäluotettavaa palvelinta varmuuskopiointiin selvästi kattaa tämän käytöksen.

Kaksinkertainen testaus

Tämä ohjelmisto on kirjoitettu C#-kielellä ja toimii käyttämällä Monon kirjastoja. Siellä on sekä graafinen käyttöliittymä että CLI-versio.

Likimääräinen luettelo tärkeimmistä ominaisuuksista on samanlainen kuin kaksinkertaisuus, mukaan lukien erilaiset varmuuskopiointitallennuspalveluntarjoajat, mutta toisin kuin kaksinaisuus, useimmat ominaisuudet ovat saatavilla ilman kolmannen osapuolen työkaluja. Se, onko tämä plus vai miinus, riippuu tapauksesta, mutta aloittelijoille on todennäköisesti helpompaa saada luettelo kaikista ominaisuuksista kerralla, sen sijaan että joutuisi asentamaan lisäpaketteja pythonille, kuten on tapaus kaksinaamaisuuden kanssa.

Toinen pieni vivahde - ohjelma kirjoittaa aktiivisesti paikallisen sqlite-tietokannan varmuuskopioinnin aloittavan käyttäjän puolesta, joten sinun on lisäksi varmistettava, että vaadittu tietokanta on määritetty oikein joka kerta, kun prosessi käynnistetään cli:n avulla. Kun työskentelet GUI:n tai WEBGUI:n kautta, tiedot piilotetaan käyttäjältä.

Katsotaanpa, mitä indikaattoreita tämä ratkaisu voi tuottaa:

Jos poistat salauksen käytöstä (ja WEBGUI ei suosittele tämän tekemistä), tulokset ovat seuraavat:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Tunnit:

Käynnistä 1
Käynnistä 2
Käynnistä 3

20m43s
20m13s
20m28s

5m21s
5m40s
5m35s

7m36s
7m54s
7m49s

Kun salaus on käytössä, se näyttää tältä:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Tunnit:

Käynnistä 1
Käynnistä 2
Käynnistä 3

29m9s
30m1s
29m54s

5m29s
6m2s
5m54s

8m44s
9m12s
9m1s

Ja jos käytät ulkoista ohjelmaa gnupg, seuraavat tulokset tulevat ulos:

Varmuuskopiointi Osa 3: Kaksinkertaisuuden tarkastelu ja testaus, kaksoiskappaleet

Käynnistä 1
Käynnistä 2
Käynnistä 3

26m6s
26m35s
26m17s

5m20s
5m48s
5m40s

8m12s
8m42s
8m15s

Kuten näette, ohjelma voi toimia useissa säikeissä, mutta tämä ei tee siitä tuottavampaa ratkaisua, ja jos vertaat salaustyötä, se käynnistää ulkoisen ohjelman
osoittautui nopeammaksi kuin Mono-sarjan kirjaston käyttäminen. Tämä voi johtua siitä, että ulkoinen ohjelma on optimoitu.

Toinen mukava asia oli se, että arkiston koko vie täsmälleen yhtä paljon kuin varsinainen muuttunut data, eli. duplicati havaitsi hakemiston uudelleennimeämisen ja käsitteli tilanteen oikein. Tämä näkyy toista testiä suoritettaessa.

Kaiken kaikkiaan melko positiiviset vaikutelmat ohjelmasta, mukaan lukien melko ystävällinen aloittelijoille.

Tulokset

Molemmat ehdokkaat työskentelivät melko hitaasti, mutta yleisesti ottaen tavalliseen tervaan verrattuna edistystä on tapahtunut, ainakin kaksoiskappaleiden suhteen. Tällaisen edistyksen hinta on myös selvä - huomattava taakka
prosessori. Yleensä tulosten ennustamisessa ei ole erityisiä poikkeamia.

Tulokset

Jos sinun ei tarvitse kiirehtiä minnekään, ja sinulla on myös ylimääräinen prosessori, mikä tahansa harkituista ratkaisuista riittää, joka tapauksessa on tehty melko paljon työtä, jota ei kannata toistaa kirjoittamalla kääreskriptejä tervan päälle . Salauksen olemassaolo on erittäin välttämätön ominaisuus, jos varmuuskopioiden tallennuspalvelimeen ei voida täysin luottaa.

Ratkaisupohjaisiin verrattuna rsync - suorituskyky voi olla useita kertoja huonompi huolimatta siitä, että puhtaassa muodossaan terva toimi 20-30% nopeammin kuin rsync.
Säästöjä syntyy arkiston koosta, mutta vain kaksoiskappaleilla.

ilmoitus

Varmuuskopiointi, osa 1: Miksi varmuuskopiointia tarvitaan, menetelmien, teknologioiden katsaus
Varmuuskopiointi, osa 2: Rsync-pohjaisten varmuuskopiointityökalujen tarkistus ja testaus
Varmuuskopiointi Osa 3: Tarkista ja testaa kaksinkertaisuutta, duplicatia, deja dup
Varmuuskopiointi Osa 4: Zbackup, restic, borgbackup tarkistus ja testaus
Varmuuskopiointi, osa 5: Bacula- ja veeam-varmuuskopioiden testaus Linuxille
Varmuuskopiointi Osa 6: Varmuuskopiointityökalujen vertailu
Varmuuskopio Osa 7: Päätelmät

Lähettänyt: Pavel Demkovich

Lähde: will.com

Lisää kommentti