තවත් උපස්ථයක් - ස්ක්‍රිප්ට් එකකට වඩා, පද්ධතියකට වඩා සරලයි

බොහෝ උපස්ථ පද්ධති ඇත, නමුත් සේවා සපයන සේවාදායකයන් විවිධ ප්‍රදේශ සහ සේවාදායකයින් පුරා විසිරී තිබේ නම් සහ ඔබට මෙහෙයුම් පද්ධති මෙවලම් භාවිතයෙන් කළමනාකරණය කිරීමට අවශ්‍ය නම් කුමක් කළ යුතුද?

තවත් උපස්ථයක් - ස්ක්‍රිප්ට් එකකට වඩා, පද්ධතියකට වඩා සරලයි

සුභ දවසක් තිබෙනු ඇත!
මගේ නම නටාලියා. මම NPO Krista හි යෙදුම් පරිපාලක කණ්ඩායමේ කණ්ඩායම් නායකයෙක් වෙමි. අපි අපගේ සමාගමේ ව්‍යාපෘති කණ්ඩායම සඳහා තෝරා ගනිමු. අපට තරමක් සුවිශේෂී තත්වයක් ඇත: අපි අපගේ මෘදුකාංගය අපගේ සමාගමේ සේවාදායකයන් මත සහ සේවාදායකයින්ගේ වෙබ් අඩවිවල පිහිටා ඇති සේවාදායකයන් මත ස්ථාපනය කර නඩත්තු කරමු. මෙම අවස්ථාවේදී, සම්පූර්ණ සේවාදායකයම උපස්ථ කිරීමට අවශ්ය නොවේ. "අත්‍යවශ්‍ය දත්ත" පමණක් වැදගත් වේ: DBMS සහ ගොනු පද්ධතියේ තනි නාමාවලි. ඇත්ත වශයෙන්ම, සේවාලාභීන්ට ඔවුන්ගේම උපස්ථ ප්‍රතිපත්ති ඇති (හෝ නැත) සහ බොහෝ විට එහි උපස්ථ ගබඩා කිරීමට යම් ආකාරයක බාහිර ගබඩාවක් සපයයි. මෙම අවස්ථාවේදී, උපස්ථයක් නිර්මාණය කිරීමෙන් පසුව, එය බාහිර ගබඩාව වෙත යවනු ලබන බව අපි සහතික කරමු.

යම් කාලයක්, උපස්ථ අරමුණු සඳහා, අපි bash ස්ක්‍රිප්ට් එකකින් කළමනාකරණය කළෙමු, නමුත් සැකසුම් සඳහා විකල්ප වර්ධනය වන විට, මෙම ස්ක්‍රිප්ට් එකේ සංකීර්ණත්වය සමානුපාතිකව වර්ධනය වූ අතර, එක් හොඳ මොහොතකදී අපි “එය බිමට විනාශ කිරීමේ අවශ්‍යතාවයට පැමිණියෙමු, සහ ඉන්පසු ....".

විවිධ හේතූන් මත සූදානම් කළ විසඳුම් නොගැලපේ: උපස්ථ විමධ්‍යගත කිරීමේ අවශ්‍යතාවය, සේවාලාභියා තුළ දේශීයව උපස්ථ ගබඩා කිරීමට ඇති බැඳීම, සැකසුම් වල සංකීර්ණත්වය, ආයාත ආදේශනය සහ ප්‍රවේශ සීමා කිරීම් හේතුවෙන්.

අපේම දෙයක් ලිවීම වඩා පහසු බව අපට පෙනී ගියේය. ඒ අතරම, ඉදිරි N වසර සඳහා අපගේ තත්වය සඳහා ප්‍රමාණවත් වන නමුත් විෂය පථය පුළුල් කිරීමේ හැකියාව ඇති දෙයක් ලබා ගැනීමට අපට අවශ්‍ය විය.

කාර්යය කොන්දේසි පහත පරිදි විය:

  1. මූලික උපස්ථ අවස්ථාව නොබැඳි, දේශීයව ධාවනය වේ
  2. උපස්ථ සහ ලොග් ගබඩා කිරීම සැමවිටම සේවාලාභියාගේ ජාලය තුළ
  3. උදාහරණය මොඩියුල වලින් සමන්විත වේ - එවැනි ආකාරයේ "ඉදි කරන්නන්"
  4. භාවිතා කරන Linux බෙදාහැරීම් සමඟ ගැළපීම, යල් පැන ගිය ඒවා ඇතුළුව, විභව හරස් වේදිකාව යෝග්‍ය වේ
  5. උදාහරණය සමඟ වැඩ කිරීමට ssh ප්‍රවේශය ප්‍රමාණවත් වේ, අමතර වරායන් විවෘත කිරීම අත්‍යවශ්‍ය නොවේ
  6. සැකසීමේ සහ ක්‍රියාත්මක කිරීමේ උපරිම පහසුව
  7. විවිධ සේවාදායකයන්ගෙන් උපස්ථවල තත්ත්වය මධ්‍යගතව බැලීමට ඔබට ඉඩ සලසන වෙනම අවස්ථාවක් තිබිය හැකිය (නමුත් අවශ්‍ය නොවේ).

අපට ලැබුණු දේ මෙහි දැකිය හැකිය: github.com/javister/krista-backup
මෘදුකාංගය python3 වලින් ලියා ඇත; Debian, Ubuntu, CentOS, AstraLinux 1.6 මත ක්‍රියා කරයි.

ලේඛන ගබඩාවේ ලේඛන නාමාවලියෙහි පළ කර ඇත.

පද්ධතිය ක්‍රියාත්මක වන ප්‍රධාන සංකල්ප:
ක්‍රියාව - එක් පරමාණුක මෙහෙයුමක් ක්‍රියාත්මක කරන ක්‍රියාවක් (දත්ත සමුදා උපස්ථය, නාමාවලි උපස්ථය, A නාමාවලියේ සිට B නාමාවලියට මාරු කිරීම ආදිය). පවතින ක්‍රියා මූලික/ක්‍රියා නාමාවලියෙහි ඇත
කාර්යය - කාර්යයක්, එක් තාර්කික "උපස්ථ කාර්යයක්" විස්තර කරන ක්රියා මාලාවක්
කාලසටහන - කාලසටහන, කාර්යය ක්රියාත්මක කිරීමේ කාලය පිළිබඳ විකල්ප ඇඟවීමක් සහිත කාර්ය කට්ටලයක්

උපස්ථ වින්‍යාසය yaml ගොනුවක ගබඩා කර ඇත; සාමාන්ය වින්යාස ව්යුහය:

  • සාමාන්ය සැකසුම්
  • ක්‍රියා අංශය: මෙම සේවාදායකයේ භාවිතා කරන ක්‍රියාවන් පිළිබඳ විස්තරය
  • කාලසටහන් කොටස: සියලුම කාර්යයන් (ක්‍රියා කට්ටල) විස්තර කිරීම සහ ක්‍රෝන් මගින් ඒවා දියත් කිරීමේ කාලසටහන, එවැනි දියත් කිරීම අවශ්‍ය නම්

උදාහරණ වින්‍යාසයක් මෙහි සොයාගත හැකිය

යෙදුමට මේ මොහොතේ කළ හැකි දේ:

  • අප සඳහා ප්‍රධාන මෙහෙයුම් සඳහා සහය දක්වයි: Pg_dump හරහා PostgreSQL උපස්ථය, තාර හරහා ගොනු පද්ධති නාමාවලි උපස්ථය; බාහිර ගබඩා සමඟ මෙහෙයුම්; නාමාවලි අතර rsync; උපස්ථ භ්‍රමණය (පැරණි පිටපත් මකා දැමීම)
  • බාහිර පිටපතක් ඇමතීම
  • තනි කාර්යයක් අතින් ක්‍රියාත්මක කිරීම
    /opt/KristaBackup/KristaBackup.py run make_full_dump
  • ඔබට තනි කාර්යයක් හෝ සම්පූර්ණ කාලසටහනක් ක්‍රොන්ටැබ් තුළ එක් කිරීමට (හෝ ඉවත් කිරීමට) හැකිය
    /opt/KristaBackup/KristaBackup.py enable all
  • උපස්ථ ප්‍රතිඵල මත පදනම්ව ගොනු උත්පාදනය අවුලුවන්න. උපස්ථ නිරීක්ෂණය කිරීම සඳහා මෙම විශේෂාංගය Zabbix සමඟ එක්ව ප්‍රයෝජනවත් වේ.
  • Webapi හෝ වෙබ් මාදිලියේ පසුබිමේ වැඩ කළ හැක
    /opt/KristaBackup/KristaBackup.py web start [--api]

මාතයන් අතර වෙනස වන්නේ webapi හට නිසි වෙබ් අතුරු මුහුණතක් නොමැති වීමයි, නමුත් යෙදුම වෙනත් අවස්ථාවක ඉල්ලීම් වලට ප්‍රතිචාර දක්වයි. වෙබ් මාදිලිය සඳහා, ඔබ ප්ලාස්ක් සහ අමතර පැකේජ කිහිපයක් ස්ථාපනය කළ යුතු අතර, මෙය සෑම තැනකම පිළිගත නොහැකිය, උදාහරණයක් ලෙස, සහතික කළ AstraLinux SE හි.

වෙබ් අතුරු මුහුණත හරහා, ඔබට සම්බන්ධිත සේවාදායකවල උපස්ථවල තත්ත්වය සහ ලොග් නැරඹිය හැකිය: "වෙබ් නිදසුන" API හරහා "බැකප් අවස්ථා" වෙතින් දත්ත ඉල්ලා සිටී. වෙබ් ප්‍රවේශයට අවසරය අවශ්‍ය වේ, වෙබ්පි ප්‍රවේශය අවශ්‍ය නොවේ.

තවත් උපස්ථයක් - ස්ක්‍රිප්ට් එකකට වඩා, පද්ධතියකට වඩා සරලයි

වැරදි ලෙස අතීත උපස්ථ වල ලොග වර්ණයකින් සලකුණු කර ඇත: අනතුරු ඇඟවීම - කහ, දෝෂය - රතු.

තවත් උපස්ථයක් - ස්ක්‍රිප්ට් එකකට වඩා, පද්ධතියකට වඩා සරලයි

තවත් උපස්ථයක් - ස්ක්‍රිප්ට් එකකට වඩා, පද්ධතියකට වඩා සරලයි

පරිපාලකයාට පරාමිති පිළිබඳ වංචා පත්‍රයක් අවශ්‍ය නොවේ නම් සහ සේවාදායක මෙහෙයුම් පද්ධති සමජාතීය නම්, ඔබට ගොනුව සම්පාදනය කර නිමි පැකේජය බෙදා හැරිය හැකිය.

අපි මෙම උපයෝගිතාව ප්‍රධාන වශයෙන් Ansible හරහා බෙදා හරිමු, එය ප්‍රථමයෙන් අඩුම වැදගත් සේවාදායකයන් වෙත බෙදා හරිමු, සහ අනෙක් සියල්ලට පරීක්ෂා කිරීමෙන් පසුව.

අවසාන ප්‍රති result ලය වන්නේ අද්දැකීම් අඩු පරිපාලකයින්ට පවා ස්වයංක්‍රීයව සහ භාවිතා කළ හැකි සංයුක්ත ස්වාධීන පිටපත් උපයෝගීතාවයකි. එය අපට පහසුයි - සමහර විට එය ඔබටත් ප්‍රයෝජනවත් වේවිද?

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න