Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

Kūkākūkā kēia memo i nā mea hana hoʻihoʻi e hana i nā hoʻihoʻi ma ka hana ʻana i nā waihona ma kahi kikowaena hoʻihoʻi.

Ma waena o ka poʻe e hoʻokō i nā koi he duplicity (he mea hoʻohana maikaʻi i ke ʻano deja dup) a me duplicati.

ʻO kahi mea hana hoʻihoʻi kupaianaha ʻē aʻe ʻo dar, akā no ka mea he papa inoa nui loa ia o nā koho - ʻo ke ʻano hoʻāʻo e uhi i ka 10% o ka mea hiki iā ia - ʻaʻole mākou e hoʻāʻo iā ia ma ke ʻano he ʻāpana o ka pōʻai o kēia manawa.

Nā hopena i manaʻo ʻia

Ma muli o ka hana ʻana o nā moho ʻelua i nā waihona ma kekahi ala a i ʻole, hiki ke hoʻohana ʻia ke kākā maʻamau i alakaʻi.

Eia hou, e loiloi mākou i ka maikaʻi o ka mālama ʻana i ka ʻikepili ma ke kikowaena waihona ma ka hana ʻana i nā kope kope i loaʻa wale ka ʻokoʻa ma waena o kahi kope piha a me ke kūlana o kēia manawa o nā faila, a i ʻole ma waena o nā waihona mua a me kēia manawa (incremental, decremental, etc.) .

ʻO ke ʻano i ka hana ʻana i nā waihona:

  1. ʻO kahi helu liʻiliʻi o nā faila ma ke kikowaena mālama mālama (e like me ka helu o nā kope kope a i ʻole ka nui o ka ʻikepili ma GB), akā nui loa ko lākou nui (ʻumi a hiki i nā haneli megabytes).
  2. ʻO ka nui o ka waihona e hoʻokomo wale i nā loli - ʻaʻole e mālama ʻia nā kope kope, no laila e liʻiliʻi ka nui o ka waihona ma mua o ka lako polokalamu rsync.
  3. Manaʻo i ka hoʻokau kaumaha CPU i ka wā e hoʻohana ai i ka hoʻopaʻa ʻana a/a i ʻole ka hoʻopili ʻana, a ʻoi aku ka kiʻekiʻe o ka pūnaewele a me ka ukana disk inā e holo ana ke kaʻina hoʻopaʻa ʻana a/a i ʻole ka hoʻopili ʻana ma kahi kikowaena mālama mālama.

E holo kāua i kēia kauoha ma ke ʻano he kumu kuhikuhi:

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

ʻO nā hopena o ka hoʻokō ʻana penei:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

ʻO ka manawa hoʻokō 3m12s. Hiki ke ʻike ʻia ua kaupalena ʻia ka wikiwiki e ka subsystem disk o ke kikowaena mālama mālama, e like me ka laʻana me rsync. ʻOi aku ka wikiwiki, no ka mea... hele ka hoʻopaʻa ʻana i hoʻokahi faila.

Eia kekahi, no ka loiloi ʻana i ka hoʻopiʻi ʻana, e holo mākou i ka koho like, akā hiki ke hoʻoemi i ka ʻaoʻao kikowaena kikowaena:

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

ʻO nā hopena:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

ʻO ka manawa hoʻokō 10m11s. ʻO ka hapa nui o ka bottleneck ka mea hoʻoheheʻe kahe hoʻokahi ma ka hopena loaʻa.

ʻO ke kauoha hoʻokahi, akā me ka hoʻopiʻi i hoʻoili ʻia i ke kikowaena me ka ʻikepili kumu e hoʻāʻo ai i ke kuhiakau i ka bottleneck he compressor hoʻokahi.

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

Ua like me keia:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

ʻO ka manawa hoʻokō he 9m37s. ʻIke maopopo ʻia ka ukana ma luna o kekahi kumu e ka compressor, no ka mea ʻO ka wikiwiki o ka hoʻoili ʻana o ka pūnaewele a me ka ukana ma ka subsystem disk kumu like.

No ka loiloi i ka hoʻopunipuni, hiki iā ʻoe ke hoʻohana i openssl a i ʻole gpg ma ka hoʻopili ʻana i kahi kauoha hou openssl ai ole ia, gpg i ka paipu. No ka kuhikuhi ʻana e loaʻa kahi kauoha e like me kēia:

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

Ua puka mai nā hopena penei:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

ʻO ka manawa hoʻokō i lilo i 10m30s, no ka mea, e holo ana nā kaʻina hana 2 ma ka ʻaoʻao e loaʻa ana - ʻo ka bottleneck kahi compressor hoʻokahi-threaded, me ka hoʻopiʻi liʻiliʻi ma luna.

UPD: Ma ke noi a bliznezz ke hoʻohui nei au i nā hoʻokolohua me ka pigz. Inā ʻoe e hoʻohana i ka compressor wale nō, e lawe ia i 6m30s, inā ʻoe e hoʻohui pū i ka hoʻopili ʻana, aia ma kahi o 7m. ʻO ka luʻu ʻana i ka pakuhi i lalo he ʻōpala disk i hoʻopau ʻole ʻia:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

Hoʻāʻo pālua

ʻO Duplicity kahi polokalamu python no ka hoʻihoʻi ʻana ma o ka hoʻokumu ʻana i nā waihona i hoʻopili ʻia ma ke ʻano tar.

No nā waihona waihona, hoʻohana ʻia ka librsync, no laila hiki iā ʻoe ke manaʻo i ke ʻano i wehewehe ʻia ma pou mua ma ka moʻo.

Hiki ke hoʻopili ʻia a hoʻopaʻa inoa ʻia me ka gnupg, he mea nui ia i ka wā e hoʻohana ai i nā mea hoʻolako ʻokoʻa no ka mālama ʻana i nā backup (s3, backblaze, gdrive, etc.)

E ʻike kākou i nā hopena:

ʻO kēia nā hopena i loaʻa iā mākou ke holo ʻole me ka hoʻopili ʻole

mea hōʻino

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

Ka manawa holo o kēlā me kēia hoʻāʻo holo:

Hoʻomaka 1
Hoʻomaka 2
Hoʻomaka 3

16m33
17m20
16m30

8m29
9m3
8m45

5m21
6m04
5m53

A eia nā hopena i ka wā e hoʻohana ʻia ai ka hoʻopunipuni gnupg, me ka nui kī o 2048 bits:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

Ka manawa hana ma ka ʻikepili like, me ka hoʻopunipuni:

Hoʻomaka 1
Hoʻomaka 2
Hoʻomaka 3

17m22
17m32
17m28

8m52
9m13
9m3

5m48
5m40
5m30

Ua hōʻike ʻia ka nui o ka poloka - 512 megabytes, ʻike maopopo ʻia i nā kiʻi; Ua noho maoli ka ukana o ka mea hana ma 50%, ʻo ia hoʻi, ʻaʻole hoʻohana ka papahana ma mua o hoʻokahi kumu.

ʻIke maopopo ʻia ke kumu o ka hana o ka papahana: lawe lākou i kahi ʻāpana o ka ʻikepili, hoʻopaʻa ʻia, a hoʻouna ʻia i kahi kikowaena mālama mālama, hiki ke lohi.
ʻO kahi hiʻohiʻona ʻē aʻe ka manawa holo o ka papahana, e hilinaʻi wale ana i ka nui o ka ʻikepili i hoʻololi ʻia.

ʻAʻole i hoʻonui nui ka hoʻopili ʻana i ka manawa holo o ka polokalamu, akā ua hoʻonui i ka ukana o ka mea hana ma kahi o 10%, hiki ke lilo i bonus maikaʻi loa.

ʻO ka mea pōʻino, ʻaʻole i hiki i kēia polokalamu ke ʻike pololei i ke kūlana me ka hoʻololi ʻana o ka papa kuhikuhi, a ua like ka nui o ka waihona i ka nui o nā loli (ʻo ia hoʻi, nā 18GB āpau), akā hiki ke hoʻohana i kahi kikowaena hilinaʻi ʻole no ka hoʻihoʻi ʻana. uhi i keia hana.

Hoʻāʻo pālua

Ua kākau ʻia kēia polokalamu ma C# a holo me ka hoʻohana ʻana i kahi pūʻulu waihona mai Mono. Aia kahi GUI a me kahi mana CLI.

ʻO ka papa inoa o nā hiʻohiʻona nui e like me ka duplicity, me nā mea hoʻolako waihona waihona, akā naʻe, ʻaʻole like me ka duplicity, loaʻa ka hapa nui o nā hiʻohiʻona me ka ʻole o nā mea hana ʻekolu. ʻO kēia ka hoʻohui a i ʻole ka liʻiliʻi e pili ana i ka hihia kikoʻī, akā no ka poʻe hoʻomaka, ʻoi aku ka maʻalahi o ka loaʻa ʻana o kahi papa inoa o nā hiʻohiʻona āpau i mua o lākou i ka manawa hoʻokahi, ma mua o ka hoʻokomo ʻana i nā pūʻolo hou no ka python, e like me ia. ka hihia me ka lua.

ʻO kekahi nuance liʻiliʻi - kākau ikaika ka papahana i kahi waihona sqlite kūloko ma ka inoa o ka mea hoʻohana nāna e hoʻomaka i ka hoʻihoʻi, no laila pono ʻoe e hōʻoia e hōʻoia pololei ʻia ka ʻikepili i koi ʻia i kēlā me kēia manawa e hoʻomaka ai ke kaʻina hana me ka cli. Ke hana nei ma o GUI a i ʻole WEBGUI, e hūnā ʻia nā kikoʻī mai ka mea hoʻohana.

E ʻike kākou i nā hōʻailona e hiki ai i kēia hoʻonā ke hana:

Inā hoʻopau ʻoe i ka hoʻopunipuni (a ʻaʻole ʻōlelo ʻo WEBGUI e hana i kēia), penei nā hopena:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

Nā hola hana:

Hoʻomaka 1
Hoʻomaka 2
Hoʻomaka 3

20m43
20m13
20m28

5m21
5m40
5m35

7m36
7m54
7m49

Me ka hoʻopili ʻana, me ka hoʻohana ʻana i ka aes, ua like ia me kēia:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

Nā hola hana:

Hoʻomaka 1
Hoʻomaka 2
Hoʻomaka 3

29m9
30m1
29m54

5m29
6m2
5m54

8m44
9m12
9m1

A inā ʻoe e hoʻohana i ka papahana waho gnupg, e puka mai nā hopena aʻe:

Mahele Hoʻihoʻi 3: Nānā a me ka hoʻāʻo ʻana i ka duplicity, duplicati

Hoʻomaka 1
Hoʻomaka 2
Hoʻomaka 3

26m6
26m35
26m17

5m20
5m48
5m40

8m12
8m42
8m15

E like me kāu e ʻike ai, hiki i ka papahana ke hana i nā pae he nui, akā ʻaʻole ia e lilo i mea ʻoi aku ka maikaʻi o ka hopena, a inā ʻoe e hoʻohālikelike i ka hana encryption, e hoʻomaka ana i kahi papahana waho.
ʻoi aku ka wikiwiki ma mua o ka hoʻohana ʻana i ka waihona mai ka hoʻonohonoho Mono. Hiki paha kēia ma muli o ka ʻoi aku ka maikaʻi o ka polokalamu waho.

ʻO kekahi mea maikaʻi ʻo ia ka nui o ka waihona e like me ka nui o ka ʻikepili i hoʻololi ʻia, ʻo ia hoʻi. Ua ʻike ʻo duplicati i kahi inoa papa kuhikuhi a mālama pono i kēia kūlana. Hiki ke ʻike ʻia kēia i ka wā e holo ana i ka hoʻāʻo ʻelua.

Ma keʻano holoʻokoʻa, nā manaʻo maikaʻi loa o ka papahana, me ka launa pū me nā mea hou.

Nā hualoaʻa

Ua lohi nā moho ʻelua, akā ma ka laulā, ke hoʻohālikelike ʻia me ka tar maʻamau, aia ka holomua, ma ka liʻiliʻi me ka duplicati. ʻO ke kumukūʻai o ia holomua ua maopopo hoʻi - kahi kaumaha i ʻike ʻia
mea hana. Ma keʻano laulā,ʻaʻohe mea hoʻokae kūikawā i ka wānana i nā hopena.

haʻina

Inā ʻaʻole pono ʻoe e holo wikiwiki i nā wahi a pau, a loaʻa pū kekahi kaʻina hana kaʻawale, e hana kekahi o nā hoʻonā i manaʻo ʻia, i kēlā me kēia hihia, he nui nā hana i hana ʻia ʻaʻole pono e hana hou ʻia ma ke kākau ʻana i nā palapala wīwī ma luna o ke kā. . He waiwai pono loa ka noho ʻana o ka hoʻopili ʻana inā ʻaʻole hiki ke hilinaʻi piha ʻia ke kikowaena no ka mālama ʻana i nā kope kope.

Hoʻohālikelike ʻia me nā haʻina i hoʻokumu ʻia rsync - hiki i ka hana ke ʻoi aku ka maikaʻi o nā manawa, ʻoiai ʻo ka hana ʻana o ka tar maʻemaʻe i 20-30% wikiwiki aʻe ma mua o rsync.
Aia nā mālama kālā ma ka nui o ka waihona, akā me ka duplicati wale nō.

Hoʻolaha

Backup, ʻāpana 1: No ke aha e pono ai ke kākoʻo, kahi ʻike o nā ʻano hana, ʻenehana
Mahele ʻĀpana 2: Ka nānā ʻana a me ka hoʻāʻo ʻana i nā mea hana hoʻihoʻi rsync
Mahele Hoʻihoʻi 3: Nānā a hoʻāʻo i ka pālua, duplicati, deja dup
Mahele Backup 4: Nānā a hoʻāʻo i ka zbackup, restic, borgbackup
Mahele Hoʻihoʻi 5: Hoʻāʻo i ka bacula a me ka veeam backup no linux
Mahele Hoʻihoʻi 6: Hoʻohālikelike i nā mea hana hoʻihoʻi
Mahele ʻāpana 7: Nā hopena

Hoʻouna ʻia e: Pavel Demkovich

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka