backup-ები ყველას აქვს. აღდგენა გაცილებით ნაკლებს. განსხვავება მხოლოდ იმ დღეს ჩანს, როცა ეს მნიშვნელოვანია, რაც ამის გასაგებად ყველაზე ცუდი მომენტია: არქივში არასწორი საქაღალდეა, მონაცემთა ბაზა იქ არასოდეს ყოფილა, ან ერთადერთი ადამიანი, ვინც პროცედურა იცის, სძინავს. გამოსავალი წვრთნაა: აიღე backup, რომელსაც არ შეხებიხარ, დააბრუნე უვნებელ ადგილას და დროზე გაზომე, რამდენი დრო დაგჭირდა.
ნახევარი საათი, კვარტალში ერთხელ. ეს არის მთელი ვალდებულება, და ის ფაილებით სავსე საქაღალდეს გარდაქმნის რიცხვად, რომელიც შეგიძლია დაასახელო, და პროცედურად, რომელსაც სხვა ადამიანი გაჰყვება. ეს პოსტი თავად წვრთნაა - რა აღადგინო, როგორ შეამოწმო, რომ მართლა იმუშავა, რა ვარდება ჩვეულებრივ და როგორ ჩაიწერო შედეგი, რომ შემდეგს ოცდაათის ნაცვლად თხუთმეტი წუთი დასჭირდეს. რა უნდა შედიოდეს backup-ში საერთოდ, ეს backup-ები, რომლებიც მართლა აღდგება-შია; მონაცემთა ბაზის ბრძანებები კი მონაცემთა ბაზის backup-ები და აღდგენა-შია.
რას ზომავს წვრთნა#
აღდგენის ტესტიდან სამი რიცხვი გამოდის და მხოლოდ ერთია ის, რასაც ხალხი ელოდება.
- აღდგენის დრო. რამდენი გადის სიტყვებიდან "backup გვჭირდება" სიტყვებამდე "შემოწმებულია და ხალხი დაბრუნდა". არა აღდგენის ღილაკის პროგრესის ზოლი - მთელი პროცესი, სწორი არქივის პოვნის, გაშვების ცვლადების გახსენებისა და იმის შემოწმების ჩათვლით, რომ სამყარო სწორია.
- აღდგენის წერტილი. რამდენი სამუშაო გადააგდო აღდგენამ. თუ backup 04:00-ზე გაეშვა და ინციდენტი 21:00-ზე მოხდა, ეს ჩვიდმეტი საათია, და წვრთნა ის ადგილია, სადაც გებულობ, შენი კონკრეტული სერვერის ჩვიდმეტი საათი უხერხულობაა თუ საზოგადოების დასასრული.
- Bus factor. პროცედურის რა ნაწილი ცხოვრობს მხოლოდ ერთი ადამიანის თავში. წვრთნა ამ რიცხვისთვისაა სინამდვილეში. აღდგენა, რომელსაც შენ ოცი წუთი სჭირდება და სხვისთვის შეუძლებელია, აღდგენის გეგმა არ არის.
სამივეზე ვარაუდები სისტემატურად ოპტიმისტურია. პრაქტიკაში აღდგენას შეფასებაზე ორი-სამჯერ მეტი სჭირდება, რადგან შეფასება კოპირებას ფარავს და არა გადაწყვეტილებას.
ოცდაათწუთიანი წვრთნა#
აირჩიე მშვიდი საათი. წარმოებას არ ეხები, ამიტომ რისკი სატესტო სერვერის ფასს არ აღემატება, მაგრამ უნდა გინდოდეს, რომ არავინ გაწუხებდეს.
- აირჩიე backup, რომელსაც მართლა გამოიყენებდი და არა ყველაზე ახალი. ყველაზე ახალი არქივი ის არის, რომელშიც ყველაზე დარწმუნებული ხარ, რაც მას ყველაზე უსარგებლოს ხდის. აიღე უძველესი, რომელიც ჯერ კიდევ შენახვის ვადაშია, რადგან ის ამოწმებს, მუშაობს თუ არა შენახვის ვადა და სამი კვირის წინანდელი არქივი თუ ემთხვევა მიმდინარე სერვერის ვერსიას.
- ჯერ სერვერს ნუ შეხედავ. დაიწყე backup-ების სიიდან და სხვა არაფრიდან. თუ გაგრძელებისთვის ცოცხალ სერვერზე რამის შემოწმება გჭირდება, ჩაიწერე - ეს დამოკიდებულებაა, რომელიც შენს გეგმას მანქანაზე აქვს, რომელიც რეალური ინციდენტისას შეიძლება არ არსებობდეს.
- აღადგინე იმაზე, რაც წარმოება არ არის. მეორე სერვერი ყველაზე იაფ გეგმაზე, სადეველოპმენტო სერვერი, რომელიც უკვე გაქვს, ან შენი საკუთარი მანქანა. ცოცხალი სერვერის გადაწერა იმის სანახავად, მუშაობს თუ არა, ტესტი არ არის, ეს ავარიაა დამატებითი ნაბიჯებით.
- ჩართე წამზომი და მიჰყევი დაწერილ პროცედურას. თუ დაწერილი პროცედურა არ არსებობს, ამ კვარტლის წვრთნა მისი დაწერაა გაკეთებისას, იმ თანმიმდევრობით, როგორც რეალურად აკეთებდი.
- ჩართე. გამოიყენე გაშვების ცვლადები, გამოყავი პორტები, გაუშვი და უყურე კონსოლს და არა მბრუნავ ინდიკატორს. ლოგი გეუბნება იმას, რასაც სტატუსის წერტილი არ გეუბნება.
- შეამოწმე სათანადოდ. იხილე შემდეგი თავი. "ჩაირთო" შემოწმება არ არის; Minecraft სერვერი
world/საქაღალდის გარეშე სიამოვნებით ირთვება და ახალს ქმნის. - ჩაიწერე ოთხი დრო და გაჩერდი. მოძებნა, აღდგენა, გაშვება, შემოწმება. შემდეგ წაშალე სატესტო სერვერი, ან დატოვე, თუ staging გირჩევნია - იხილე staging და წარმოება ერთ ანგარიშზე.
| ნაბიჯი | ჩვეულებრივ | გამაფრთხილებელი ნიშანი |
|---|---|---|
| სწორი backup-ის პოვნა | 1-3 წთ | ხუთ წუთზე მეტი ნიშნავს, რომ შენი backup-ები დასახელებული არ არის |
| არქივის აღდგენა | 2-15 წთ | ზომასთან ერთად იზრდება; გაზომე შენი და ნუ ივარაუდებ |
| პარამეტრების გამოყენება და გაშვება | 3-10 წთ | აქ დიდი დრო ნიშნავს, რომ პანელის მხარის პარამეტრები არასოდეს ჩაწერილა |
| შემოწმება | 5-10 წთ | აქ მცირე დრო ჩვეულებრივ ნიშნავს, რომ სინამდვილეში არ შეგიმოწმებია |
RE:NODE-ზე სატესტო სერვერი მე-3 ნაბიჯისთვის მართლაც იაფია: გეიმ სერვერი გადახდის დადასტურებისას იქმნება, ჩვეულებრივ ერთ წუთში, backup-ის აღდგენა ღილაკია და არა ბილეთი, ხოლო backup-ები ჩამოსატვირთია, თუ მთელი საქმის შენს მანქანაზე გაკეთება გირჩევნია. ეს ის ნაწილია, რაც წვრთნას განმეორებადს ხდის, ხოლო წვრთნა, რომელსაც არ გაიმეორებ, ერთჯერადია, რომელიც ერთ თვეში მოძველდება.
როგორ დარწმუნდე, რომ აღდგენა რეალურია#
წარუმატებლობა, რომელსაც ეძებ, არის აღდგენა, რომელიც წარმატებულად გამოიყურება. ყოველ დატვირთვას აქვს კონკრეტული რამ სანახავად, და ზოგადი წესია: შეამოწმე უახლესი მონაცემები და არა უძველესი. ყველაფერი სამი თვის წინანდელი შენს ყველა ასლშია. ბოლო ცვლილება backup-ის გაშვებამდე ის არის, რაც ამტკიცებს, რომ სწორი არქივი მიიღე.
| დატვირთვა | ეს შეამოწმე | ეს არა |
|---|---|---|
| Minecraft | ყველაზე ახალი ნაგებობა სამყაროში, ops.json, permission ჯგუფი, plugin-ის მონაცემების საქაღალდე | რომ სერვერი "Done"-მდე მივიდა |
| Valheim | სამყაროს სახელი ლოგში, ბოლოს აშენებული ბაზა, ადმინების სია | join კოდის გამოჩენა |
| FiveM ან მოდიფიცირებული სერვერი | მოთამაშის ინვენტარი ან პერსონაჟი, resource-ების სია, მათ უკან მონაცემთა ბაზის რიგები | resource-ების ჩატვირთვა |
| ვებ აპლიკაცია | შედი რეალური ანგარიშით, გახსენი გვერდი ყველაზე მეტი join-ით, იპოვე გუშინდელი ჩანაწერი | მთავარი გვერდის ჩვენება |
| მონაცემთა ბაზა | რიგების რაოდენობა და უახლესი timestamp სამ მნიშვნელოვან ცხრილში | კავშირის წარმატება |
შემოწმების ცალსახად გასაკეთებლად ყველაზე იაფი გზა canary-ია: backup-ის გაშვებამდე დატოვე მონაცემებში დათარიღებული მარკერი. თამაშში ნიშანი თარიღით, backup_marker ცხრილში რიგი, სერვერის ძირში ფაილი სახელით 2026-09-21.txt. აღდგენის შემდეგ მარკერი ან ამბობს თარიღს, რომელსაც ელოდი, ან არა, და ხუთ წამში იცი, რომელ არქივს უყურებ. ის აქრობს შეცდომის მთელ კლასს, როცა ვინმე სწორ backup-ს არასწორი სერვერიდან აღადგენს.
ექვსი რამ, რაც ჩვეულებრივ ვარდება#
აღდგენებში, რომლებზეც ხალხი დახმარებას ითხოვს, ერთი და იგივე ექვსი მიზეზი ბრუნდება.
- სამყარო ადგილზეა, კონფიგურაცია არა. არქივში არის
world/, მაგრამ არაserver.properties,bukkit.ymlან plugin-ების კონფიგურაცია, ამიტომ სერვერი უცხოსავით იწყება: ნაგულისხმევი MOTD, არასწორი სირთულე, whitelist გამორთული, არავინ არის ოპერატორი. - Plugin-ის ან mod-ის მონაცემები საქაღალდის გარეთაა, რომელიც ვიღაცამ ყველაფრად ჩათვალა. Permission-ები ერთგან, ეკონომიკა მეორეგან, claim-ების მონაცემთა ბაზა მესამეგან. LuckPerms მონაცემთა ბაზის რეჟიმში კლასიკური მაგალითია: plugin აღდგა, მისი მონაცემები არა.
- მონაცემთა ბაზა backup-ში საერთოდ არასოდეს იყო, რადგან ის ცალკე სერვისია საკუთარი backup მექანიზმით. ეს აპლიკაციისა და ვებ დატვირთვებზე ყველაზე დიდი მიზეზია.
- ვერსიები არ ემთხვევა. არქივი ერთი თამაშის build-ით, mod-ების ნაკრებით ან runtime-ით გაკეთდა, და სერვერი, რომელზეც აღადგინე, სხვას უშვებს. თუ mod-ის განახლება ერევა, რა გააკეთო, როცა mod-ის განახლება ტეხავს თანმხლები პოსტია.
- პარამეტრები, რომლებიც ფაილები არ არის, აკლია. გაშვების ცვლადები, პორტების განაწილება, გრაფიკები და subuser-ების უფლებები პანელში ცხოვრობს და არა არქივში. აღდგენილ სერვერს სწორი სამყარო აქვს და არასწორი გაშვების ბრძანება, სანამ მათ უკან არ დააბრუნებ.
- წვდომა. ადამიანს, რომელიც აღდგენას აკეთებს, უფლება, credential ან ანგარიში არ აქვს. წინასწარ მიეცი მეორე ადამიანს backup-ისა და ფაილების უფლებები - subuser-ები და უმცირესი პრივილეგია აღწერს, როგორ გააკეთო ეს ბილინგის გადაცემის გარეშე.
შეამჩნიე, რომ ექვსიდან ოთხი არქივის დაზიანებას არ ეხება. დაზიანებული არქივები იშვიათია. არასრულები ნორმაა, და წვრთნა არის გზა, რომლითაც გებულობ, შენ რომელ კატეგორიაში ხარ.
დაწერე runbook გაკეთებისას#
წვრთნის შედეგი თბილი შეგრძნება არ არის, ეს ფაილია. შეინახე ადგილას, რომელიც სერვერი არ არის - შენიშვნა, დამაგრებული შეტყობინება, ტექსტური ფაილი რეპოზიტორიაში - და განაახლე ყოველ ჯერზე, როცა პასუხი იცვლება.
SERVER: survival.example.net (Paper 1.21.4, Java 21)BACKUPS: panel slots x2, nightly 04:15; weekly download to NAS /backups/mcDATABASE: Postgres on db plan, dump written to /home/container/dumps at 04:05RESTORE 1. Stop the server. Download the current world folder first (evidence). 2. Panel > Backups > pick archive > Restore. ~6 min for 3.2 GB. 3. Startup tab: SERVER_JARFILE=paper-1.21.4.jar, MEMORY=6G, port 25565 + 25575. 4. psql: createdb mc_restore; pg_restore --no-owner -d mc_restore dumps/latest.dump 5. Start. Watch console for "Done". Check /seed, ops.json, a LuckPerms group. 6. Canary: sign at spawn shows the backup date.MEASURED 2026-09-21: locate 2m, restore 6m, start 4m, verify 7m. Total 19m.WHO CAN DO THIS: me, and <name> (has Backups + Files on the subuser role).ეს დაახლოებით იმ სიგრძისაა, რაც ერთი სერვერის runbook-ს ოდესმე სჭირდება. ვერსიის ნომრები, პორტების ნომრები და გაზომილი ჯამი ის ნაწილებია, რაც მას ღირებულს ხდის; ყველაფერი დანარჩენი მაინც თავადაც გაერკვეოდი.
რამდენად ხშირად და რა უნდა გამოიწვიოს გეგმისგარეშე წვრთნა#
კვარტალური საბაზო სიხშირეა გეიმ სერვერისთვის ან პატარა აპლიკაციისთვის. ყოველთვიური, თუ მონაცემები ფულია ან სერვერი საზოგადოების არსებობის მიზეზია. ამის მიღმა უწყვეტ შემოწმებაში შედიხარ, რაც რეალური რამაა, მაგრამ არა რამ, რასაც სერვერის მომსახურე ორი ადამიანი ხელით არ უნდა აწყობდეს.
ჩაატარე დამატებითი წვრთნა, გრაფიკის გარეშე, როცა კი შეიცვალა პასუხი კითხვაზე "რა არის backup-ში?":
- დაამატე plugin, mod ან ფუნქცია, რომელიც მონაცემებს ახალ ადგილას ინახავს - განსაკუთრებით რაიმე საკუთარი მონაცემთა ბაზით.
- შეცვალე backup-ის გრაფიკი, შენახვის ვადა ან რომელ საქაღალდეებს ფარავს.
- განაახლე თამაში, runtime ან მთავარი დამოკიდებულება.
- ჰოსტი, გეგმა ან მანქანა შეცვალე. სერვერის გადატანა მოთამაშეების დაკარგვის გარეშე არსებითად აღდგენის წვრთნაა აუდიტორიით.
- backup ჩავარდა ან არქივი შესამჩნევად წინაზე პატარა გამოვიდა. ზომის დრეიფი ყველაზე ადრეული გაფრთხილებაა და ეხმარება მხოლოდ თუ ვინმე უყურებს - იხილე მონიტორინგი, რომელიც რაიმეს გეუბნება.
- გუნდს შეუერთდა ახალი ადამიანი, რომელსაც ამის გაკეთება მოუწევდა. დაე, მან გაატაროს წვრთნა; ეს bus factor რიცხვის რეალურ დროში გაუმჯობესებაა.
და კიდევ ერთი, უსიამოვნო: ნებისმიერი უსაფრთხოების ინციდენტის შემდეგ. ამ შემთხვევაში აღდგენას სხვა მიზანი აქვს - შეჭრამდე მომენტში ბრუნდები და არა ავარიამდე - და დროის ხაზი სისწრაფეზე მნიშვნელოვანია. რა გააკეთო, როცა შენი სერვერი გატეხეს თანმიმდევრობას განიხილავს.
წვრთნა, როცა მეორე სერვერი არ გაქვს#
დამატებითი გადახდის გარეშეც შეგიძლია შეამოწმო, ორი დათქმით იმის შესახებ, რას ამტკიცებს თითოეული მეთოდი.
აღადგინე ადგილობრივად. ჩამოტვირთე არქივი, გახსენი შენს მანქანაზე და იქ გაუშვი სერვერი. ეს ამტკიცებს, რომ არქივი სრული და წაკითხვადია, და რომ სამყარო იტვირთება. ის არ ამტკიცებს, რომ პანელის აღდგენის გზა მუშაობს ან გაშვების ცვლადები სწორია, ამიტომ ჩათვალე ნაწილობრივ გავლად და სრული ჩაატარე, როცა შეძლებ.
აღადგინე იმავე სერვერის საქაღალდეში სხვა სახელით. ფაილის დონის მონაცემებისთვის შეგიძლია სამყაროს მეორე ასლი ცოცხლის გვერდით ატვირთო და სატესტო კონფიგურაცია მასზე მიუთითო. Valheim-ის ან Minecraft-ის სამყაროებისთვის კარგია, უსარგებლოა ყველაფრისთვის, სადაც მონაცემები მონაცემთა ბაზაა, და იმავე CPU-ისა და დისკისთვის ეჯიბრება ცოცხალ სერვერს.
გამოიყენე staging სერვერი, რომელიც ისედაც უნდა გქონდეს. თუ უკვე გაქვს მეორე პატარა სერვერი plugin-ების განახლებების შესამოწმებლად, ის შენი აღდგენის სამიზნეცაა და წვრთნა ნახევარი საათის გარდა არაფერი ღირს. ეს არის შეთანხმება, რომლისკენაც ღირს სწრაფვა.
რაც არ ითვლება: წარმოების გადაწერა და იმის ყურება, ვინმე უჩივის თუ არა. ეს ცოცხალი სროლის წვრთნაა, სადაც ცეცხლი რეალურია.
შეუმოწმებელი backup ჰიპოთეზაა. შემოწმებული გეგმაა, რიცხვით.
FAQ#
რამდენ ხანს უნდა გრძელდებოდეს აღდგენა?
რაც შენმა ბოლო წვრთნამ გაზომა. პანელზე 500 MB გეიმ სერვერისთვის ბოლომდე ხუთიდან თხუთმეტ წუთამდე ნორმალურია. 40 GB მოდიფიცირებული სერვერი მონაცემთა ბაზით ერთი საღამოა. სასარგებლო პასუხი შენი გაზომილი ჯამია, რადგან ეს ის რიცხვია, რომლის დაპირებაც შეგიძლია მათთვის, ვინც ელოდება.
რომელი backup შევამოწმო?
უძველესი, რომელიც ჯერ კიდევ შენახვის ვადაშია, წარმოებისგან განსხვავებულ სერვერზე აღდგენილი. ყველაზე ახალი არქივის ტესტი გეუბნება, რომ backup წუხელ გაეშვა, რაც უკვე იცოდი. უძველესის ტესტი გეუბნება, რეალურია თუ არა შენი შენახვის ფანჯარა და ამ ასაკის არქივი ისევ ემთხვევა თუ არა შენს მიმდინარე სერვერს.
ყველა სერვერი უნდა შევამოწმო?
არა. შეამოწმე ის, რომლის დაკარგვაც ყველაზე მეტად დაგაზარალებს, შემდეგ ის, რომლის backup-იც ყველაზე რთულია. ერთნაირი კონფიგურაციის ათეული სერვერი ერთ პროცედურას იზიარებს, ამიტომ ერთხელ დამტკიცება ყველასთვის ამტკიცებს, სანამ მათი მონაცემები მართლა ერთი ფორმისაა.
თუ აღდგენა ჩავარდა?
ეს არის წვრთნა, რომელიც მუშაობს. მიზეზი გამოასწორე ყველაფერზე ადრე, გადაიღე ახალი backup და წვრთნა მასზე თავიდან ჩაატარე. ჩავარდნილი წვრთნა სამშაბათს შუადღეს ნახევარ საათს ჯდება; იგივე ჩავარდნა ინციდენტისას აღმოჩენილი სერვერს ჯდება.
შეუძლია ჩემი გუნდის სხვა წევრს აღდგენის გაკეთება?
მხოლოდ თუ მას უფლება მიეცი და ერთხელ გაუკეთებია. შექმენი როლი backup-ისა და ფაილების უფლებებით, მაგრამ ბილინგზე წვდომის გარეშე, დაამატე ის და ნება მიეცი შემდეგი წვრთნა ჩაატაროს. თუ ამჟამად პასუხი არაა, ეს შენს სიაში ყველაზე მაღალი ღირებულების ნივთია.
კარგავს თუ არა აღდგენა backup-ის შემდეგ შეტანილ ცვლილებებს?
დიახ, და ეს სხვაობა არის აღდგენის წერტილის გაზომვის აზრი. აღდგენამდე ჩამოტვირთე მიმდინარე მდგომარეობა, რომ ეს ცვლილებები სადმე მაინც არსებობდეს, თუმცა აღდგენილ სერვერში არ არის - ხანდახან შეგიძლია ერთი კონკრეტული რამ შემდეგ გადმოიტანო, და ამას ვერ გააკეთებ, თუ გადააწერე.




კომენტარები
სრულიად ანონიმურად: ანგარიშის, ელფოსტის და cookie-ის გარეშე. ინახება მხოლოდ სახელი, ტექსტი და დრო - სხვა არაფერი. ბმულების რაოდენობა ლიმიტირებულია.