මෙම සටහන උපස්ථ සේවාදායකයක ලේඛනාගාර නිර්මාණය කිරීමෙන් උපස්ථ සිදු කරන උපස්ථ මෙවලම් ගැන සාකච්ඡා කරයි.
අවශ්යතා සපුරාලන ඒවා අතර ඩුප්ලිසිටි (ඩේජා ඩුප් ස්වරූපයෙන් ලස්සන අතුරු මුහුණතක් ඇත) සහ ඩුප්ලිකාටි වේ.
තවත් ඉතා කැපී පෙනෙන උපස්ථ මෙවලමක් වන්නේ ඩාර් ය, නමුත් එයට ඉතා පුළුල් විකල්ප ලැයිස්තුවක් ඇති බැවින් - පරීක්ෂණ ක්රමවේදය එහි හැකියාවෙන් යන්තම් 10% ක් ආවරණය කරයි - අපි එය වත්මන් චක්රයේ කොටසක් ලෙස පරීක්ෂා නොකරමු.
බලාපොරොත්තුවන ප්රතිඵල
අපේක්ෂකයන් දෙදෙනාම එක් ආකාරයකින් හෝ වෙනත් ආකාරයකින් ලේඛනාගාර නිර්මාණය කරන බැවින්, නිත්ය තාර මාර්ගෝපදේශයක් ලෙස භාවිතා කළ හැකිය.
අතිරේකව, සම්පූර්ණ පිටපතක් සහ ගොනුවල වත්මන් තත්ත්වය, හෝ පෙර සහ වත්මන් ලේඛනාගාර (වර්ධක, අඩුවීම්, ආදිය) අතර වෙනස පමණක් අඩංගු උපස්ථ පිටපත් සෑදීමෙන් ගබඩා සේවාදායකයේ දත්ත ගබඩාව කෙතරම් හොඳින් ප්රශස්ත කර තිබේද යන්න අපි ඇගයීමට ලක් කරන්නෙමු. .
උපස්ථ සෑදීමේදී හැසිරීම:
- උපස්ථ ගබඩා සේවාදායකයේ සාපේක්ෂව කුඩා ගොනු සංඛ්යාවක් (උපස්ථ පිටපත් ගණන හෝ GB හි දත්ත ප්රමාණය හා සැසඳිය හැක), නමුත් ඒවායේ ප්රමාණය තරමක් විශාලය (මෙගාබයිට් දස සිට සිය ගණනක් දක්වා).
- නිධියේ ප්රමාණයේ වෙනස්කම් පමණක් ඇතුළත් වේ - අනුපිටපත් ගබඩා නොකරනු ඇත, එබැවින් ගබඩා ප්රමාණය rsync-පාදක මෘදුකාංගවලට වඩා කුඩා වනු ඇත.
- සම්පීඩනය සහ/හෝ සංකේතනය භාවිතා කරන විට අධික CPU භාරයක් බලාපොරොත්තු වන අතර, සංරක්ෂණය සහ/හෝ සංකේතනය කිරීමේ ක්රියාවලිය උපස්ථ ගබඩා සේවාදායකයක් මත ක්රියාත්මක වන්නේ නම්, ජාල සහ තැටි පැටවීම තරමක් ඉහළ විය හැක.
පහත විධානය යොමු අගයක් ලෙස ක්රියාත්මක කරමු:
cd /src/dir; tar -cf - * | ssh backup_server "cat > /backup/dir/archive.tar"
ක්රියාත්මක කිරීමේ ප්රතිඵල පහත පරිදි විය:
ක්රියාත්මක කිරීමේ කාලය 3m12s. උදාහරණයක් ලෙස, උපස්ථ ගබඩා සේවාදායකයේ තැටි උප පද්ධතිය මගින් වේගය සීමා කර ඇති බව දැකිය හැකිය.
එසේම, සම්පීඩනය ඇගයීමට, අපි එකම විකල්පය ක්රියාත්මක කරමු, නමුත් උපස්ථ සේවාදායක පැත්තේ සම්පීඩනය සක්රීය කරන්න:
cd /src/dir; tar -cf - * | ssh backup_server "gzip > /backup/dir/archive.tgz"
ප්රතිඵල මෙසේය.
ක්රියාත්මක කිරීමේ කාලය 10m11s. බොහෝ විට බාධකය ලැබීමේ කෙළවරේ ඇති තනි ප්රවාහ සම්පීඩකය වේ.
එකම විධානය, නමුත් සම්පීඩනය සමඟ මුල් දත්ත සමඟ සේවාදායකයට මාරු කරනු ලැබේ, බාධකය තනි නූල් සම්පීඩකයක් බවට උපකල්පනය පරීක්ෂා කරයි.
cd /src/dir; tar -czf - * | ssh backup_server "cat > /backup/dir/archive.tgz"
එය මෙසේ සිදු විය:
ක්රියාත්මක කිරීමේ කාලය තත්පර 9m37 කි. සම්පීඩකය මගින් එක් හරයක් මත පැටවීම පැහැදිලිව දැකගත හැකිය, මන්ද ජාල හුවමාරු වේගය සහ මූලාශ්ර තැටි උප පද්ධතිය මත පැටවීම සමාන වේ.
සංකේතනය ඇගයීම සඳහා, ඔබට අතිරේක විධානයක් සම්බන්ධ කිරීමෙන් openssl හෝ gpg භාවිතා කළ හැක. openssl
හෝ gpg
පයිප්පයේ. යොමු කිරීම සඳහා මෙවැනි විධානයක් ඇත:
cd /src/dir; tar -cf - * | ssh backup_server "gzip | openssl enc -e -aes256 -pass pass:somepassword -out /backup/dir/archive.tgz.enc"
ප්රතිඵල නිකුත් වූයේ මෙසේය.
ලැබෙන පැත්තේ ක්රියාවලි 10ක් ක්රියාත්මක වූ බැවින් ක්රියාත්මක කිරීමේ කාලය තත්පර 30m2 ක් බවට පත් විය - බාධකය නැවතත් තනි නූල් සම්පීඩකයක් වන අතර කුඩා සංකේතනය උඩින්.
UPD: bliznezz ගේ ඉල්ලීම පරිදි මම pigz සමඟ පරීක්ෂණ එකතු කරමි. ඔබ සම්පීඩකය පමණක් භාවිතා කරන්නේ නම්, එය 6m30s ගතවනු ඇත, ඔබ සංකේතනය ද එකතු කළහොත් එය 7m පමණ වේ. පහළ ප්රස්ථාරයේ ගිල්වීම ඉවත් නොකළ තැටි හැඹිලියකි:
අනුපිටපත් පරීක්ෂාව
ඩුප්ලිසිටි යනු තාර ආකෘතියෙන් සංකේතාත්මක ලේඛනාගාර නිර්මාණය කිරීමෙන් උපස්ථ කිරීම සඳහා වන පයිතන් මෘදුකාංගයකි.
වර්ධක ලේඛනාගාර සඳහා, librsync භාවිතා වේ, එබැවින් ඔබට විස්තර කර ඇති හැසිරීම අපේක්ෂා කළ හැක
gnupg භාවිතයෙන් උපස්ථ සංකේතනය කර අත්සන් කළ හැක, එය උපස්ථ ගබඩා කිරීම සඳහා විවිධ සැපයුම්කරුවන් භාවිතා කරන විට වැදගත් වේ (s3, backblaze, gdrive, ආදිය)
අපි බලමු ප්රතිඵල මොනවද කියලා.
එන්ක්රිප්ට් නොකර දුවද්දී අපිට ලැබුණු ප්රතිඵල තමයි මේ
ස්පොයිලර්
එක් එක් පරීක්ෂණ ධාවනයේ ධාවන කාලය:
දියත් කිරීම 1
දියත් කිරීම 2
දියත් කිරීම 3
16m33s
17m20s
16m30s
8m29s
9m3s
8m45s
5m21s
6m04s
5m53s
බිටු 2048 ක ප්රමාණයකින් gnupg සංකේතනය සක්රීය කළ විට ලැබෙන ප්රතිඵල මෙන්න:
සංකේතනය සමඟ එකම දත්ත මත මෙහෙයුම් කාලය:
දියත් කිරීම 1
දියත් කිරීම 2
දියත් කිරීම 3
17m22s
17m32s
17m28s
8m52s
9m13s
9m3s
5m48s
5m40s
5m30s
බ්ලොක් ප්රමාණය දක්වා ඇත - මෙගාබයිට් 512, එය ප්රස්ථාරවල පැහැදිලිව දැකගත හැකිය; ප්රොසෙසර භාරය ඇත්ත වශයෙන්ම 50% ක් ලෙස පැවතුනි, එයින් අදහස් කරන්නේ වැඩසටහන ප්රොසෙසර හරයකට වඩා භාවිතා නොකරන බවයි.
වැඩසටහනේ ක්රියාකාරිත්වයේ මූලධර්මය ද පැහැදිලිව දැකගත හැකිය: ඔවුන් දත්ත කැබැල්ලක් ගෙන එය සම්පීඩනය කර උපස්ථ ගබඩා සේවාදායකයකට යවන ලද අතර එය තරමක් මන්දගාමී විය හැකිය.
තවත් විශේෂාංගයක් වන්නේ වැඩසටහනේ පුරෝකථනය කළ හැකි ධාවන කාලය, වෙනස් වූ දත්තවල ප්රමාණය මත පමණක් රඳා පවතී.
සංකේතනය සක්රීය කිරීමෙන් වැඩසටහනේ ධාවන කාලය සැලකිය යුතු ලෙස වැඩි නොකළ නමුත් එය ප්රොසෙසරයේ බර 10% කින් පමණ වැඩි කළ අතර එය හොඳ ප්රසාද දීමනාවක් විය හැකිය.
අවාසනාවකට මෙන්, මෙම වැඩසටහනට බහලුම නැවත නම් කිරීම සමඟ තත්වය නිවැරදිව හඳුනා ගැනීමට නොහැකි වූ අතර, එහි ප්රතිඵලයක් ලෙස ගබඩාවේ ප්රමාණය වෙනස්වීම්වල ප්රමාණයට සමාන විය (එනම්, සියලුම 18GB), නමුත් උපස්ථ සඳහා විශ්වාස නොකළ සේවාදායකයක් භාවිතා කිරීමේ හැකියාව පැහැදිලිවම මෙම හැසිරීම ආවරණය කරයි.
අනුපිටපත් පරීක්ෂාව
මෙම මෘදුකාංගය C# වලින් ලියා ඇති අතර Mono වෙතින් පුස්තකාල කට්ටලයක් භාවිතයෙන් ක්රියාත්මක වේ. GUI එක වගේම CLI version එකකුත් තියෙනවා.
ප්රධාන විශේෂාංගවල ආසන්න ලැයිස්තුව විවිධ උපස්ථ ගබඩා සපයන්නන් ඇතුළුව ද්විත්වයට සමාන වේ, කෙසේ වෙතත්, ද්විත්ව මෙන් නොව, බොහෝ විශේෂාංග තෙවන පාර්ශවීය මෙවලම් නොමැතිව ලබා ගත හැකිය. මෙය ප්ලස් එකක් ද අඩුවක් ද යන්න නිශ්චිත අවස්ථාව මත රඳා පවතී, නමුත් ආරම්භකයින් සඳහා, python සඳහා අමතර පැකේජ ස්ථාපනය කිරීමට වඩා, ඔවුන් ඉදිරියේ ඇති සියලුම විශේෂාංග ලැයිස්තුවක් එකවර තබා ගැනීම පහසු වේ. ද්විත්ව සමග නඩුව.
තවත් කුඩා සූක්ෂ්මතාවයක් - උපස්ථය ආරම්භ කරන පරිශීලකයා වෙනුවෙන් වැඩසටහන දේශීය sqlite දත්ත ගබඩාවක් සක්රීයව ලියයි, එබැවින් ක්ලිලි භාවිතයෙන් ක්රියාවලිය ආරම්භ කරන සෑම අවස්ථාවකම අවශ්ය දත්ත සමුදාය නිවැරදිව සඳහන් කර ඇති බව ඔබ අතිරේකව සහතික කළ යුතුය. GUI හෝ WEBGUI හරහා වැඩ කරන විට, විස්තර පරිශීලකයාගෙන් සඟවනු ඇත.
මෙම විසඳුම නිපදවිය හැකි දර්ශක මොනවාදැයි බලමු:
ඔබ සංකේතනය අක්රිය කළහොත් (සහ WEBGUI මෙය කිරීම නිර්දේශ නොකරයි), ප්රතිඵල පහත පරිදි වේ:
වැඩකරන වේලාවන්:
දියත් කිරීම 1
දියත් කිරීම 2
දියත් කිරීම 3
20m43s
20m13s
20m28s
5m21s
5m40s
5m35s
7m36s
7m54s
7m49s
සංකේතනය සක්රීය කර ඇති අතර, aes භාවිතා කරමින්, එය මෙසේ දිස්වේ:
වැඩකරන වේලාවන්:
දියත් කිරීම 1
දියත් කිරීම 2
දියත් කිරීම 3
29m9s
30m1s
29m54s
5m29s
6m2s
5m54s
8m44s
9m12s
9m1s
තවද ඔබ බාහිර වැඩසටහන gnupg භාවිතා කරන්නේ නම්, පහත ප්රතිඵල පැමිණේ:
දියත් කිරීම 1
දියත් කිරීම 2
දියත් කිරීම 3
26m6s
26m35s
26m17s
5m20s
5m48s
5m40s
8m12s
8m42s
8m15s
ඔබට පෙනෙන පරිදි, වැඩසටහනට නූල් කිහිපයකින් වැඩ කළ හැකිය, නමුත් මෙය වඩාත් ඵලදායී විසඳුමක් බවට පත් නොකරන අතර, ඔබ සංකේතාංකන කාර්යය සංසන්දනය කරන්නේ නම්, එය බාහිර වැඩසටහනක් දියත් කරයි.
Mono කට්ටලයෙන් පුස්තකාලය භාවිතා කිරීමට වඩා වේගවත් විය. බාහිර වැඩසටහන වඩාත් ප්රශස්ත ලෙස සකස් කර ඇති නිසා මෙය විය හැකිය.
තවත් හොඳ දෙයක් නම්, ගබඩාවේ ප්රමාණය සත්ය වෙනස් වූ දත්ත වලට සමාන ප්රමාණයක් ගනී, i.e. duplicati නාමාවලියේ නැවත නමක් හඳුනාගෙන මෙම තත්වය නිවැරදිව හසුරුවා ඇත. දෙවන පරීක්ෂණය ධාවනය කරන විට මෙය දැකිය හැකිය.
සමස්තයක් වශයෙන්, නවකයන්ට තරමක් මිත්රශීලී වීම ඇතුළුව වැඩසටහනේ තරමක් ධනාත්මක හැඟීම්.
ප්රතිඵල
අපේක්ෂකයන් දෙදෙනාම තරමක් සෙමින් වැඩ කළ නමුත්, සාමාන්ය තාර හා සසඳන විට, අවම වශයෙන් අනුපිටපත් සමඟ ප්රගතියක් ඇත. එවැනි ප්රගතියක මිල ද පැහැදිලිය - සැලකිය යුතු බරක්
ප්රොසෙසරය. සාමාන්යයෙන්, ප්රතිඵල අනාවැකි පළ කිරීමේදී විශේෂ අපගමනයන් නොමැත.
සොයා ගැනීම්
ඔබට කොතැනකවත් ඉක්මන් වීමට අවශ්ය නැතිනම් සහ අමතර ප්රොසෙසරයක් තිබේ නම්, සලකා බලන ඕනෑම විසඳුමක් සිදු කරනු ඇත, ඕනෑම අවස්ථාවක, තාර මත දවටන ස්ක්රිප්ට් ලිවීමෙන් නැවත නැවත නොකළ යුතු වැඩ රාශියක් සිදු කර ඇත. . උපස්ථ පිටපත් ගබඩා කිරීම සඳහා සේවාදායකය සම්පූර්ණයෙන්ම විශ්වාස කළ නොහැකි නම් සංකේතනය තිබීම ඉතා අවශ්ය දේපලකි.
පදනම් වූ විසඳුම් හා සසඳන විට
ගබඩාවේ විශාලත්වය මත ඉතිරිකිරීම් ඇත, නමුත් duplicati සමඟ පමණි.
නිවේදනය
උපස්ථ 3 කොටස: අනුපිටපත්, ඩුප්ලිකාටි, ඩෙජා ඩුප් සමාලෝචනය සහ පරීක්ෂා කිරීම
උපස්ථ 4 කොටස: zbackup, Restic, borgbackup සමාලෝචනය කිරීම සහ පරීක්ෂා කිරීම
උපස්ථ 5 කොටස: ලිනක්ස් සඳහා බැකුලා සහ වීම් උපස්ථය පරීක්ෂා කිරීම
උපස්ථ 6 කොටස: උපස්ථ මෙවලම් සංසන්දනය කිරීම
උපස්ථ 7 කොටස: නිගමන
පළ කළේ: Pavel Demkovich
මූලාශ්රය: www.habr.com