กำหนดการสูญเสียข้อมูลที่ยอมรับได้และเวลาการกู้คืน เก็บสำเนาอิสระที่สอดคล้องกัน และทดสอบกู้คืนแอปพลิเคชันจริงในสภาพแวดล้อมแยก งานสำรองข้อมูลที่เสร็จสมบูรณ์หรือการตรวจสอบความสมบูรณ์เพียงอย่างเดียวไม่ได้พิสูจน์ว่าทุก dependency ที่จำเป็นสำหรับการกู้คืนมีอยู่
เริ่มจากการกู้คืนที่คุณต้องการ
แผนสำรองข้อมูลเริ่มจากคำถามปฏิบัติสองข้อ: งานล่าสุดที่คุณอาจสูญเสียได้มากแค่ไหน และบริการอาจไม่พร้อมใช้งานนานเท่าใด คำตอบเหล่านั้นกำหนดตารางเวลา ข้อมูลที่ต้องรวม และวิธีการกู้คืน สำเนารายวันอาจเหมาะกับเว็บไซต์ที่เปลี่ยนแปลงไม่บ่อย แต่ทิ้งช่องว่างใหญ่เกินไปสำหรับแอปพลิเคชันที่ใช้งานหนัก
ระบุสิ่งที่ทำให้บริการทำงาน ไม่ใช่แค่โฟลเดอร์ที่ใหญ่ที่สุด ข้อมูลแอปพลิเคชัน เนื้อหาฐานข้อมูล การกำหนดค่า ไฟล์ที่อัปโหลด และข้อมูลที่จำเป็นในการสร้างสภาพแวดล้อมขึ้นใหม่ล้วนอาจมีความสำคัญ จัดทำบัญชีส่วนตัวของสิ่งที่ต้องพึ่งพาและคีย์สำหรับกู้คืน การสำรองข้อมูลควรรองรับระบบที่ใช้งานได้ ไม่ใช่เพียงสร้างไฟล์เก็บถาวรที่จุดประสงค์ถูกลืมไปแล้ว
เก็บสำเนาไว้นอกขอบเขตความล้มเหลว
ไดเรกทอรีที่สองบนเครื่องเดียวกันอาจช่วยกู้คืนการแก้ไขที่ผิดพลาดได้ แต่ยังคงเสี่ยงต่อการสูญหายของเครื่องนั้น สแนปช็อตภายในเครื่องอาจมีค่าในการย้อนกลับอย่างรวดเร็ว และยังต้องมีสำเนาอิสระสำหรับเหตุการณ์ที่กว้างขึ้น เลือกปลายทางสำหรับกู้คืนที่แยกต่างหาก และตัดสินใจว่าการเข้าถึงใดควรอ่าน เขียน หรือลบข้อมูลสำรองได้
หากข้อมูลรับรองในระบบโปรดักชันสามารถลบสำเนากู้คืนทั้งหมดได้ บัญชีแอปพลิเคชันที่ถูกบุกรุกอาจทำให้กลยุทธ์ทั้งหมดล้มเหลว แยกการเข้าถึงออกจากกันเมื่อทำได้ และปกป้องข้อมูลรับรองของที่จัดเก็บ การเข้ารหัสช่วยปกป้องเนื้อหาที่จัดเก็บไว้ แต่กระบวนการกู้คืนยังขึ้นอยู่กับการเก็บคีย์ไว้อย่างปลอดภัยนอกสภาพแวดล้อมที่เสียหายด้วย
บันทึกสถานะแอปพลิเคชันที่สอดคล้องกัน
การคัดลอกไฟล์ฐานข้อมูลที่เปิดอยู่โดยไม่มีวิธีการที่เหมาะสมอาจได้สถานะที่ใช้งานไม่ได้ ใช้วิธีการสำรองข้อมูลที่แอปพลิเคชันหรือฐานข้อมูลรองรับ และทำความเข้าใจว่าจำเป็นต้องมีสแนปช็อตที่สอดคล้องกัน การส่งออกเชิงตรรกะ หรือการหยุดการเขียนชั่วคราวหรือไม่ ประสานข้อมูลที่เกี่ยวข้องกันเพื่อให้ไดเรกทอรีอัปโหลดและการอ้างอิงในฐานข้อมูลอธิบายจุดเดียวกันในขั้นตอนการทำงาน
จัดทำเอกสารการยกเว้นอย่างตั้งใจ แคชและไฟล์บิลด์ชั่วคราวอาจสร้างขึ้นใหม่ได้ ส่วนไฟล์ที่ลูกค้าอัปโหลดมักสร้างใหม่ไม่ได้ ตรวจสอบรายการอีกครั้งหลังจากเพิ่มฟีเจอร์หรือย้ายไดเรกทอรี งานสำรองข้อมูลที่สำเร็จไม่สามารถรักษาเส้นทางที่ไม่เคยถูกรวมไว้ได้
ทดสอบการกู้คืนในสภาพแวดล้อมแยก
กู้คืนข้อมูลตัวแทนไปยังตำแหน่งแยกต่างหาก และตรวจสอบว่าเปิดได้อย่างถูกต้อง สำหรับแอปพลิเคชัน ให้ทดสอบบริการที่กู้คืนมาพร้อมกับไฟล์ด้วย ปิดอีเมลขาออก งานตามกำหนดเวลา และการเชื่อมต่อภายนอกในสภาพแวดล้อมทดสอบ เพื่อให้การซ้อมไม่กระทำต่อผู้ใช้จริงหรือทำงานซ้ำกับงานในระบบโปรดักชัน
การตรวจสอบความสมบูรณ์ของที่จัดเก็บและการทดสอบกู้คืนตอบคำถามที่แตกต่างกัน เครื่องมืออาจตรวจสอบโครงสร้างและข้อมูลที่จัดเก็บไว้ได้ ขณะที่แอปพลิเคชันยังขาดการกำหนดค่าหรือคีย์ที่ลืมไว้ บันทึกว่าการกู้คืนใช้เวลานานเท่าใด ต้องมีขั้นตอน manual อะไรบ้าง และกระบวนการใดต้องปรับปรุง ทำซ้ำหลังจากมีการเปลี่ยนแปลงสำคัญ
สถานการณ์จริง: ซ้อมการกู้คืนก่อนเปิดตัว
พิจารณาแอปพลิเคชันที่มีฐานข้อมูล ไฟล์ที่ผู้ใช้อัปโหลด และชุดไฟล์กำหนดค่าส่วนตัวจำนวนเล็กน้อย เจ้าของจัดทำบัญชีสำหรับกู้คืนและเลือกวิธีการรักษาความสอดคล้องที่ฐานข้อมูลรองรับ ปลายทางสำรองข้อมูลแยกต่างหากจัดเก็บสำเนาที่จำเป็น ขณะที่คีย์กู้คืนถูกเก็บไว้นอกเครื่องโปรดักชัน การทดสอบครั้งแรกเริ่มจากสภาพแวดล้อมแยกที่ว่างเปล่า เพื่อไม่ให้สิ่งที่ต้องพึ่งพาซ่อนเร้นถูกหยิบยืมจากเซิร์ฟเวอร์ที่ทำงานอยู่
เจ้าของกู้คืนข้อมูลและการกำหนดค่า จากนั้นตรวจสอบการเข้าสู่ระบบ บันทึกตัวแทน และไฟล์ที่อัปโหลด อีเมลขาออก งานตามกำหนดเวลา และการกระทำภายนอกยังคงปิดอยู่ระหว่างการซ้อม หากฐานข้อมูลเริ่มทำงานได้แต่เส้นทางอัปโหลดหรือข้อมูลลับหายไป การทดสอบได้พบช่องว่างที่งานเก็บถาวรที่สำเร็จจะไม่เปิดเผย เจ้าของแก้ไขบัญชีและทำซ้ำการตรวจสอบการกู้คืนที่ได้รับผลกระทบ
สุดท้าย เจ้าของบันทึกเวลากู้คืนและขั้นตอน manual ตารางเวลาและนโยบายการเก็บรักษาถูกเปรียบเทียบกับปริมาณงานล่าสุดที่อาจสูญหายและระยะเวลาที่บริการอาจไม่พร้อมใช้งาน สิ่งเหล่านี้เป็นการตัดสินใจเฉพาะโครงการ ไม่ใช่การรับประกันที่ได้จากป้ายกำกับของที่จัดเก็บ กระบวนการที่ผ่านการทดสอบทำให้การสำรองข้อมูลเสริมหรือผลิตภัณฑ์จัดเก็บข้อมูลมีประโยชน์เป็นส่วนหนึ่งของกลยุทธ์การกู้คืนที่กว้างขึ้น
| หลักฐานการกู้คืน | สิ่งที่ตรวจสอบ | คำถามที่ยังเหลือ |
|---|---|---|
| งานสำรองข้อมูลเสร็จสมบูรณ์ | งานรายงานว่าสำเร็จ | รวมเส้นทางที่จำเป็นทั้งหมดไว้หรือไม่? |
| การตรวจสอบความสมบูรณ์ของที่จัดเก็บ | การตรวจสอบโครงสร้างหรือข้อมูลที่จัดเก็บ | แอปพลิเคชันมีสิ่งที่ต้องพึ่งพาครบทุกอย่างหรือไม่? |
| การกู้คืนแอปพลิเคชันแบบแยก | การกู้คืนตัวแทนทำงานได้ | เวลาที่สังเกตได้ตรงตามวัตถุประสงค์ของคุณหรือไม่? |
ทำให้ความล้มเหลวมองเห็นได้และการเก็บรักษาเป็นไปอย่างตั้งใจ
การสำรองข้อมูลที่หยุดเงียบ ๆ คือความประหลาดใจในอนาคต ตรวจสอบการทำงานเสร็จสิ้น ความจุที่มี และอายุของจุดกู้คืนล่าสุดที่ใช้งานได้ เก็บประวัติให้เพียงพอต่อการกู้คืนจากปัญหาที่พบภายหลัง และทำความเข้าใจว่าการตัดข้อมูลเก่ากระทบประวัตินั้นอย่างไร ตรวจสอบการดำเนินการลบอย่างระมัดระวัง เพราะความผิดพลาดในการเก็บรักษาอาจลบเวอร์ชันที่มีประโยชน์เพียงหนึ่งเดียว
อ่านขอบเขตของตัวเลือกสำรองข้อมูลใด ๆ บนบริการ SwissOctet ที่คุณเลือก และยืนยันกระบวนการกู้คืน Vault Storage อาจพิจารณาเป็นองค์ประกอบด้านความจุได้ แต่ผลิตภัณฑ์จัดเก็บข้อมูลเพียงอย่างเดียวไม่ใช่นโยบายการกู้คืนที่สมบูรณ์ ตัดสินใจว่าคุณต้องกู้คืนอะไร เก็บสำเนาไว้อย่างอิสระ และพิสูจน์กระบวนการก่อนที่บริการจะกลายเป็นสิ่งสำคัญ
รายการตรวจสอบปฏิบัติของคุณ
- กำหนดการสูญหายของข้อมูลและเวลากู้คืนที่ยอมรับได้
- รวมฐานข้อมูล ไฟล์อัปโหลด และข้อมูลสำหรับสร้างใหม่
- เก็บสำเนาอิสระและแยกคีย์กู้คืนออกจากกัน
- กู้คืนแบบแยกและทดสอบแอปพลิเคชัน
- ตรวจสอบอายุการสำรองข้อมูล ความจุ และการเก็บรักษา
รายละเอียดที่สำคัญ
ไดเรกทอรีที่สองบนเซิร์ฟเวอร์เดียวกันถือเป็นการสำรองข้อมูลอิสระหรือไม่?+
ไม่ ถือว่ายังเสี่ยงต่อการสูญหายของเซิร์ฟเวอร์นั้น แม้อาจช่วยกู้คืนความผิดพลาดภายในเครื่องได้
การตรวจสอบความสมบูรณ์แทนการซ้อมกู้คืนได้หรือไม่?+
ไม่ ที่จัดเก็บที่ถูกต้องอาจยังขาดการกำหนดค่า คีย์ หรือข้อมูลที่แอปพลิเคชันต้องการ
ทำไมต้องปิดการเชื่อมต่อระหว่างการทดสอบกู้คืน?+
เพื่อป้องกันไม่ให้สภาพแวดล้อมทดสอบส่งอีเมลถึงผู้ใช้จริง ทำงานซ้ำ หรือกระตุ้นการกระทำในระบบโปรดักชัน
ไปที่ต้นทาง
แหล่งอ้างอิงเหล่านี้สนับสนุนแนวคิดทางเทคนิคในคู่มือนี้ ปฏิบัติตามเอกสารปัจจุบันก่อนเปลี่ยนระบบโปรดักชัน
- restic: การกู้คืนจากข้อมูลสำรอง restic.readthedocs.io
- restic: การทำงานกับที่จัดเก็บ restic.readthedocs.io
- PostgreSQL: การสำรองและกู้คืนข้อมูล www.postgresql.org
คำแนะนำด้านบรรณาธิการโดย SwissOctet ตัวอย่างมีไว้เพื่อประกอบ ข้อมูลจำเพาะของบริการ ตัวเลือกที่มี และเงื่อนไขตามสัญญาต้องได้รับการตรวจสอบแยกต่างหาก