การสำรองข้อมูล ตอนที่ 1: วัตถุประสงค์ ทบทวนวิธีการและเทคโนโลยี

การสำรองข้อมูล ตอนที่ 1: วัตถุประสงค์ ทบทวนวิธีการและเทคโนโลยี
ทำไมคุณต้องทำการสำรองข้อมูล? ท้ายที่สุดแล้ว อุปกรณ์ดังกล่าวมีความน่าเชื่อถืออย่างมาก และยิ่งไปกว่านั้น ยังมี "คลาวด์" ที่มีความน่าเชื่อถือได้ดีกว่าเซิร์ฟเวอร์จริง: ด้วยการกำหนดค่าที่เหมาะสม เซิร์ฟเวอร์ "คลาวด์" จะสามารถรอดพ้นจากความล้มเหลวของเซิร์ฟเวอร์ทางกายภาพของโครงสร้างพื้นฐานได้อย่างง่ายดาย และจาก ในมุมมองของผู้ใช้บริการจะมีการให้บริการแบบก้าวกระโดดเล็กน้อยจนแทบไม่สังเกตเห็นได้ชัด นอกจากนี้ การทำสำเนาข้อมูลมักจะต้องจ่ายค่าเวลาประมวลผล "พิเศษ" โหลดดิสก์ และการรับส่งข้อมูลเครือข่าย

โปรแกรมในอุดมคติทำงานเร็ว หน่วยความจำไม่รั่วไหล ไม่มีช่องโหว่ และไม่มีอยู่จริง

-ไม่ทราบ

เนื่องจากโปรแกรมยังคงเขียนโดยนักพัฒนาโปรตีน และมักจะไม่มีกระบวนการทดสอบ อีกทั้งโปรแกรมต่างๆ มักไม่ค่อยมีการส่งมอบโดยใช้ "แนวทางปฏิบัติที่ดีที่สุด" (ซึ่งตัวมันเองก็เป็นโปรแกรมเช่นกันดังนั้นจึงไม่สมบูรณ์) ผู้ดูแลระบบส่วนใหญ่มักจะต้องแก้ไขปัญหาที่ฟังดูเหมือนสั้นๆ แต่ โดยสรุป: "กลับสู่สภาพเดิม", "นำฐานไปสู่การทำงานตามปกติ", "ทำงานช้า - ย้อนกลับ" และสิ่งที่ฉันชอบคือ "ฉันไม่รู้ว่าอะไร แต่แก้ไขได้"

นอกเหนือจากข้อผิดพลาดเชิงตรรกะที่เกิดขึ้นจากการทำงานที่ไม่ระมัดระวังของนักพัฒนาหรือการรวมกันของสถานการณ์ตลอดจนความรู้ที่ไม่สมบูรณ์หรือความเข้าใจผิดเกี่ยวกับคุณสมบัติเล็ก ๆ ของการสร้างโปรแกรม - รวมถึงการเชื่อมต่อและระบบรวมถึงระบบปฏิบัติการไดรเวอร์และเฟิร์มแวร์ - นอกจากนี้ยังมีข้อผิดพลาดอื่นๆ ตัวอย่างเช่น นักพัฒนาส่วนใหญ่พึ่งพารันไทม์ โดยลืมกฎทางกายภาพโดยสิ้นเชิง ซึ่งยังคงเป็นไปไม่ได้ที่จะหลีกเลี่ยงการใช้โปรแกรม ซึ่งรวมถึงความน่าเชื่อถือที่ไม่มีที่สิ้นสุดของระบบย่อยของดิสก์และระบบย่อยการจัดเก็บข้อมูลโดยทั่วไป (รวมถึง RAM และแคชของโปรเซสเซอร์!) และเวลาการประมวลผลเป็นศูนย์บนโปรเซสเซอร์ และไม่มีข้อผิดพลาดระหว่างการส่งผ่านเครือข่ายและระหว่างการประมวลผลบน โปรเซสเซอร์และเวลาแฝงของเครือข่ายซึ่งเท่ากับ 0 คุณไม่ควรละเลยกำหนดเวลาอันฉาวโฉ่เพราะหากคุณไม่ปฏิบัติตามทันเวลาจะเกิดปัญหาที่เลวร้ายยิ่งกว่าความแตกต่างของการทำงานของเครือข่ายและดิสก์

การสำรองข้อมูล ตอนที่ 1: วัตถุประสงค์ ทบทวนวิธีการและเทคโนโลยี

จะทำอย่างไรกับปัญหาที่เพิ่มขึ้นอย่างเต็มกำลังและทำให้ข้อมูลอันมีค่าค้างอยู่? ไม่มีอะไรจะมาแทนที่นักพัฒนาที่มีชีวิตได้ และไม่ใช่ความจริงที่ว่ามันจะเป็นไปได้ในอนาคตอันใกล้นี้ ในทางกลับกัน มีเพียงไม่กี่โครงการเท่านั้นที่ประสบความสำเร็จในการพิสูจน์ว่าโปรแกรมจะทำงานตามที่ตั้งใจไว้ และไม่จำเป็นต้องนำหลักฐานไปประยุกต์ใช้กับโครงการอื่นที่คล้ายคลึงกัน นอกจากนี้ หลักฐานดังกล่าวยังใช้เวลานานและต้องใช้ทักษะและความรู้พิเศษ ซึ่งช่วยลดความเป็นไปได้ในการใช้งานโดยคำนึงถึงกำหนดเวลาอีกด้วย นอกจากนี้ เรายังไม่ทราบวิธีใช้เทคโนโลยีที่รวดเร็ว ราคาถูก และเชื่อถือได้อย่างไร้ขีดจำกัดในการจัดเก็บ ประมวลผล และส่งข้อมูล หากมีเทคโนโลยีดังกล่าวอยู่ก็จะอยู่ในรูปแบบของแนวคิด หรือบ่อยที่สุดจะมีเฉพาะในหนังสือและภาพยนตร์นิยายวิทยาศาสตร์เท่านั้น

ศิลปินที่ดีลอกเลียนแบบ ศิลปินที่ยิ่งใหญ่ขโมย

—ปาโบล ปิกัสโซ

วิธีแก้ปัญหาที่ประสบความสำเร็จสูงสุดและสิ่งที่เรียบง่ายอย่างน่าประหลาดใจมักจะเกิดขึ้นเมื่อแนวคิด เทคโนโลยี ความรู้ และสาขาวิทยาศาสตร์ที่เข้ากันไม่ได้ตั้งแต่แรกเห็น

ตัวอย่างเช่น นกและเครื่องบินมีปีก แต่ถึงแม้จะมีการทำงานที่คล้ายคลึงกัน แต่หลักการทำงานในบางโหมดก็เหมือนกัน และปัญหาทางเทคนิคก็ได้รับการแก้ไขในลักษณะเดียวกัน: กระดูกกลวง การใช้วัสดุที่แข็งแรงและน้ำหนักเบา เป็นต้น - ผลลัพธ์แตกต่างไปจากเดิมอย่างสิ้นเชิงแม้ว่าจะคล้ายกันมากก็ตาม ตัวอย่างที่ดีที่สุดที่เราเห็นในเทคโนโลยีของเราก็ยืมมาจากธรรมชาติเป็นส่วนใหญ่เช่นกัน: ช่องที่มีแรงดันของเรือและเรือดำน้ำนั้นมีความคล้ายคลึงโดยตรงกับ annelids การสร้างอาร์เรย์การโจมตีและตรวจสอบความสมบูรณ์ของข้อมูล - การทำซ้ำสายโซ่ DNA เช่นเดียวกับอวัยวะที่จับคู่ความเป็นอิสระของการทำงานของอวัยวะต่าง ๆ จากระบบประสาทส่วนกลาง (ระบบอัตโนมัติของหัวใจ) และการตอบสนอง - ระบบอัตโนมัติบนอินเทอร์เน็ต แน่นอนว่าการใช้และประยุกต์ใช้วิธีแก้ปัญหาแบบ "เผชิญหน้า" นั้นเต็มไปด้วยปัญหา แต่ใครจะรู้ บางทีอาจจะไม่มีวิธีแก้ปัญหาอื่น

ถ้าฉันรู้ว่าคุณจะตกอยู่ที่ไหนฉันก็จะปูฟางแล้ว!

—สุภาษิตพื้นบ้านเบลารุส

ซึ่งหมายความว่าสำเนาสำรองมีความสำคัญสำหรับผู้ที่ต้องการ:

  • สามารถกู้คืนการทำงานของระบบของคุณโดยมีเวลาหยุดทำงานน้อยที่สุด หรือแทบไม่ต้องหยุดทำงานเลยด้วยซ้ำ
  • ดำเนินการอย่างกล้าหาญ เพราะในกรณีที่เกิดข้อผิดพลาด ก็มีโอกาสที่จะย้อนกลับได้เสมอ
  • ลดผลที่ตามมาของความเสียหายของข้อมูลโดยเจตนา

นี่เป็นทฤษฎีเล็กน้อย

การจำแนกประเภทใด ๆ เป็นไปตามอำเภอใจ ธรรมชาติไม่ได้จำแนกประเภท เราจำแนกเพราะมันสะดวกสำหรับเรามากกว่า และเราจัดประเภทตามข้อมูลที่เราใช้โดยพลการเช่นกัน

—ฌอง บรูเลอร์

ไม่ว่าวิธีการจัดเก็บข้อมูลทางกายภาพจะเป็นอย่างไร การจัดเก็บข้อมูลแบบลอจิคัลสามารถแบ่งออกเป็นสองวิธีในการเข้าถึงข้อมูลนี้: บล็อกและไฟล์ การแบ่งส่วนนี้มีการเบลออย่างมากเมื่อเร็ว ๆ นี้ เนื่องจากไม่มีที่เก็บข้อมูลแบบลอจิคัลบล็อกล้วนๆ เช่นเดียวกับไฟล์ล้วนๆ อย่างไรก็ตาม เพื่อความง่าย เราจะถือว่าสิ่งเหล่านั้นมีอยู่จริง

การจัดเก็บข้อมูลที่ถูกบล็อกหมายความว่ามีอุปกรณ์ทางกายภาพที่ข้อมูลถูกเขียนในส่วนที่ตายตัวหรือบล็อก มีการเข้าถึงบล็อกตามที่อยู่ที่กำหนด แต่ละบล็อกมีที่อยู่ของตัวเองภายในอุปกรณ์

โดยปกติการสำรองข้อมูลจะทำโดยการคัดลอกบล็อคข้อมูล เพื่อให้มั่นใจในความสมบูรณ์ของข้อมูล การบันทึกบล็อกใหม่ตลอดจนการเปลี่ยนแปลงบล็อกที่มีอยู่จะถูกระงับในขณะที่ทำการคัดลอก หากเราเปรียบเทียบจากโลกธรรมดา สิ่งที่ใกล้ที่สุดคือตู้เสื้อผ้าที่มีเซลล์ที่มีหมายเลขเหมือนกัน

การสำรองข้อมูล ตอนที่ 1: วัตถุประสงค์ ทบทวนวิธีการและเทคโนโลยี

การจัดเก็บข้อมูลไฟล์ตามหลักการอุปกรณ์แบบลอจิคัลนั้นใกล้เคียงกับการจัดเก็บข้อมูลแบบบล็อกและมักจัดไว้ด้านบน ความแตกต่างที่สำคัญคือการมีลำดับชั้นการจัดเก็บข้อมูลและชื่อที่มนุษย์สามารถอ่านได้ นามธรรมจะถูกจัดสรรในรูปแบบของไฟล์ - พื้นที่ข้อมูลที่มีชื่อรวมถึงไดเร็กทอรี - ไฟล์พิเศษที่เก็บคำอธิบายและการเข้าถึงไฟล์อื่น ๆ ไฟล์สามารถจัดเตรียมข้อมูลเมตาเพิ่มเติมได้ เช่น เวลาสร้าง แฟล็กการเข้าถึง ฯลฯ โดยปกติการสำรองข้อมูลจะดำเนินการในลักษณะนี้ โดยจะค้นหาไฟล์ที่เปลี่ยนแปลง จากนั้นคัดลอกไปยังที่เก็บไฟล์อื่นที่มีโครงสร้างเดียวกัน โดยปกติแล้วความสมบูรณ์ของข้อมูลจะเกิดขึ้นหากไม่มีการเขียนไฟล์ลงไป ข้อมูลเมตาของไฟล์จะได้รับการสำรองข้อมูลในลักษณะเดียวกัน การเปรียบเทียบที่ใกล้เคียงที่สุดคือห้องสมุดซึ่งมีหมวดหนังสือต่างๆ และยังมีแคตตาล็อกที่มีชื่อหนังสือที่มนุษย์สามารถอ่านได้

การสำรองข้อมูล ตอนที่ 1: วัตถุประสงค์ ทบทวนวิธีการและเทคโนโลยี

เมื่อเร็ว ๆ นี้บางครั้งมีการอธิบายตัวเลือกอื่นซึ่งโดยหลักการแล้วการจัดเก็บข้อมูลไฟล์เริ่มต้นขึ้นและซึ่งมีคุณสมบัติโบราณเหมือนกัน: การจัดเก็บข้อมูลออบเจ็กต์

มันแตกต่างจากการจัดเก็บไฟล์ตรงที่ไม่มีการซ้อนมากกว่าหนึ่งรายการ (แบบแผนแบบเรียบ) และชื่อไฟล์ถึงแม้ว่ามนุษย์จะอ่านได้ แต่ก็ยังเหมาะสำหรับการประมวลผลด้วยเครื่องจักรมากกว่า เมื่อทำการสำรองข้อมูล พื้นที่จัดเก็บอ็อบเจ็กต์มักได้รับการปฏิบัติคล้ายกับพื้นที่จัดเก็บไฟล์ แต่บางครั้งก็มีตัวเลือกอื่น

— มีผู้ดูแลระบบอยู่สองประเภท คือ ผู้ที่ไม่ได้สำรองข้อมูล และผู้ที่สำรองข้อมูลไว้แล้ว
- จริงๆแล้วมีสามประเภท: ยังมีผู้ที่ตรวจสอบว่าสามารถกู้คืนข้อมูลสำรองได้

-ไม่ทราบ

ควรทำความเข้าใจด้วยว่ากระบวนการสำรองข้อมูลนั้นดำเนินการโดยโปรแกรมดังนั้นจึงมีข้อเสียเช่นเดียวกับโปรแกรมอื่น ๆ เพื่อลบ (ไม่กำจัด!) การพึ่งพาปัจจัยมนุษย์ตลอดจนคุณสมบัติซึ่งแต่ละรายการไม่มีผลกระทบที่รุนแรง แต่เมื่อรวมกันแล้วสามารถให้ผลที่เห็นได้ชัดเจน - ที่เรียกว่า กฎ 3-2-1. มีตัวเลือกมากมายในการถอดรหัส แต่ฉันชอบการตีความต่อไปนี้: คุณต้องจัดเก็บข้อมูลเดียวกัน 3 ชุด, 2 ชุดต้องจัดเก็บในรูปแบบที่แตกต่างกัน และ 1 ชุดควรเก็บไว้ในที่จัดเก็บข้อมูลระยะไกลทางภูมิศาสตร์

ควรเข้าใจรูปแบบการจัดเก็บดังนี้:

  • หากมีการพึ่งพาวิธีการจัดเก็บข้อมูลทางกายภาพ เราจะเปลี่ยนวิธีการทางกายภาพ
  • หากมีการพึ่งพาวิธีการจัดเก็บแบบลอจิคัล เราจะเปลี่ยนวิธีการแบบลอจิคัล

เพื่อให้บรรลุผลสูงสุดของกฎ 3-2-1 ขอแนะนำให้เปลี่ยนรูปแบบการจัดเก็บข้อมูลทั้งสองวิธี

จากมุมมองของความพร้อมของการสำรองข้อมูลตามวัตถุประสงค์ - การกู้คืนฟังก์ชันการทำงาน - มีความแตกต่างระหว่างการสำรองข้อมูลแบบ "ร้อน" และ "เย็น" ของร้อนแตกต่างจากของเย็นเพียงสิ่งเดียว: พวกมันพร้อมใช้งานทันที ในขณะที่ของเย็นต้องมีขั้นตอนเพิ่มเติมในการกู้คืน: การถอดรหัส การแยกข้อมูลจากไฟล์เก็บถาวร ฯลฯ

อย่าสับสนระหว่างสำเนาที่ร้อนและเย็นกับสำเนาออนไลน์และออฟไลน์ ซึ่งบ่งบอกถึงการแยกข้อมูลทางกายภาพ และในความเป็นจริงแล้ว เป็นอีกสัญญาณหนึ่งของการจัดประเภทของวิธีการสำรองข้อมูล ดังนั้นสำเนาออฟไลน์ซึ่งไม่ได้เชื่อมต่อโดยตรงกับระบบที่จำเป็นต้องกู้คืน อาจเป็นได้ทั้งแบบร้อนหรือเย็น (ในแง่ของความพร้อมในการกู้คืน) สำเนาออนไลน์สามารถใช้ได้โดยตรงในตำแหน่งที่จำเป็นต้องกู้คืนและส่วนใหญ่มักจะร้อน แต่ก็มีส่วนที่เย็นด้วย

นอกจากนี้อย่าลืมว่ากระบวนการสร้างสำเนาสำรองนั้นมักจะไม่ได้จบลงด้วยการสร้างสำเนาสำรองเพียงชุดเดียวและอาจมีสำเนาได้ค่อนข้างมาก ดังนั้นจึงจำเป็นต้องแยกแยะระหว่างการสำรองข้อมูลทั้งหมด เช่น ข้อมูลที่สามารถกู้คืนได้โดยอิสระจากการสำรองข้อมูลอื่นๆ รวมถึงสำเนาส่วนต่าง (ส่วนเพิ่ม ส่วนต่าง ส่วนลด ฯลฯ) - ส่วนที่ไม่สามารถกู้คืนได้โดยอิสระและจำเป็นต้องมีการกู้คืนเบื้องต้นของการสำรองข้อมูลอื่นอย่างน้อยหนึ่งรายการ

การสำรองข้อมูลส่วนเพิ่มส่วนต่างเป็นความพยายามในการประหยัดพื้นที่จัดเก็บข้อมูลสำรอง ดังนั้นเฉพาะข้อมูลที่เปลี่ยนแปลงจากการสำรองข้อมูลครั้งก่อนเท่านั้นจึงจะถูกเขียนลงในสำเนาสำรอง

การลดค่าส่วนต่างนั้นถูกสร้างขึ้นเพื่อจุดประสงค์เดียวกัน แต่ในลักษณะที่แตกต่างกันเล็กน้อย: มีการสร้างสำเนาสำรองแบบเต็ม แต่จะมีการจัดเก็บเฉพาะความแตกต่างระหว่างสำเนาใหม่และสำเนาก่อนหน้าเท่านั้น

ควรพิจารณากระบวนการสำรองข้อมูลบนพื้นที่จัดเก็บข้อมูลแยกกันซึ่งรองรับการไม่มีที่เก็บข้อมูลซ้ำ ดังนั้นหากคุณเขียนการสำรองข้อมูลแบบเต็มไว้ด้านบน เฉพาะความแตกต่างระหว่างการสำรองข้อมูลเท่านั้นที่จะถูกเขียน แต่กระบวนการกู้คืนข้อมูลสำรองจะคล้ายกับการกู้คืนจากสำเนาฉบับเต็มและโปร่งใสโดยสมบูรณ์

Quis custodiet ipsos คัสโตเดส?

(ใครจะเป็นผู้เฝ้ายามเอง - lat.)

เป็นเรื่องที่ไม่พึงประสงค์มากเมื่อไม่มีสำเนาสำรอง แต่จะแย่กว่านั้นมากหากดูเหมือนว่าจะมีการสร้างสำเนาสำรอง แต่เมื่อทำการกู้คืนปรากฎว่าไม่สามารถกู้คืนได้เนื่องจาก:

  • ความสมบูรณ์ของแหล่งข้อมูลถูกบุกรุก
  • ที่เก็บข้อมูลสำรองเสียหาย
  • การกู้คืนทำงานช้ามาก คุณไม่สามารถใช้ข้อมูลที่กู้คืนมาบางส่วนได้

กระบวนการสำรองข้อมูลที่สร้างขึ้นอย่างเหมาะสมจะต้องคำนึงถึงความคิดเห็นดังกล่าว โดยเฉพาะสองความคิดเห็นแรก

รับประกันความสมบูรณ์ของแหล่งข้อมูลได้หลายวิธี ที่ใช้กันมากที่สุดมีดังต่อไปนี้: a) การสร้างสแน็ปช็อตของระบบไฟล์ในระดับบล็อก b) "การแช่แข็ง" สถานะของระบบไฟล์ c) อุปกรณ์บล็อกพิเศษที่มีการจัดเก็บเวอร์ชัน d) การบันทึกไฟล์ตามลำดับหรือ บล็อก นอกจากนี้ เช็คซัมยังใช้เพื่อให้แน่ใจว่าข้อมูลได้รับการตรวจสอบระหว่างการกู้คืน

ความเสียหายของพื้นที่เก็บข้อมูลสามารถตรวจพบได้โดยใช้เช็คซัม วิธีการเพิ่มเติมคือการใช้อุปกรณ์พิเศษหรือระบบไฟล์ซึ่งข้อมูลที่บันทึกไว้แล้วไม่สามารถเปลี่ยนแปลงได้ แต่สามารถเพิ่มข้อมูลใหม่ได้

เพื่อเร่งความเร็วในการกู้คืน การกู้คืนข้อมูลจะใช้กับหลายกระบวนการในการกู้คืน โดยมีเงื่อนไขว่าจะไม่มีปัญหาคอขวดในรูปแบบของเครือข่ายที่ช้าหรือระบบดิสก์ที่ช้า เพื่อแก้ไขสถานการณ์ด้วยข้อมูลที่กู้คืนได้บางส่วน คุณสามารถแบ่งกระบวนการสำรองข้อมูลออกเป็นงานย่อยที่ค่อนข้างเล็ก ซึ่งแต่ละกระบวนการจะดำเนินการแยกกัน ดังนั้นจึงเป็นไปได้ที่จะกู้คืนประสิทธิภาพได้อย่างสม่ำเสมอในขณะที่คาดการณ์เวลาการกู้คืนได้ ปัญหานี้มักอยู่ในระนาบองค์กร (SLA) ดังนั้นเราจะไม่พูดถึงเรื่องนี้โดยละเอียด

ผู้เชี่ยวชาญด้านเครื่องเทศไม่ใช่ผู้ที่เพิ่มเครื่องเทศเหล่านี้ลงในอาหารทุกจาน แต่เป็นผู้ที่ไม่เคยเติมอะไรลงไปเป็นพิเศษเลย

-ใน. ซินยาฟสกี้

แนวปฏิบัติเกี่ยวกับซอฟต์แวร์ที่ผู้ดูแลระบบใช้อาจแตกต่างกัน แต่หลักการทั่วไปยังคงไม่ทางใดก็ทางหนึ่งเหมือนกัน โดยเฉพาะ:

  • ขอแนะนำอย่างยิ่งให้ใช้โซลูชันสำเร็จรูป
  • โปรแกรมควรทำงานได้ตามที่คาดเดาได้ เช่น ไม่ควรมีคุณลักษณะที่ไม่มีเอกสารหรือปัญหาคอขวด
  • การตั้งค่าแต่ละโปรแกรมควรเป็นเรื่องง่ายจนคุณไม่จำเป็นต้องอ่านคู่มือหรือสูตรโกงทุกครั้ง
  • ถ้าเป็นไปได้วิธีแก้ปัญหาควรเป็นแบบสากลเพราะว่า เซิร์ฟเวอร์อาจแตกต่างกันอย่างมากในลักษณะฮาร์ดแวร์

มีโปรแกรมทั่วไปสำหรับการสำรองข้อมูลจากอุปกรณ์บล็อกดังต่อไปนี้:

  • dd ซึ่งคุ้นเคยกับผู้มีประสบการณ์ด้านการบริหารระบบ ซึ่งรวมถึงโปรแกรมที่คล้ายกันด้วย (เช่น dd_rescue เดียวกัน)
  • ยูทิลิตี้ที่สร้างไว้ในระบบไฟล์บางระบบที่สร้างดัมพ์ของระบบไฟล์
  • สาธารณูปโภคทุกอย่าง; เช่น พาร์ทโคลน
  • การตัดสินใจเป็นเจ้าของซึ่งมักจะเป็นกรรมสิทธิ์ ตัวอย่างเช่น NortonGhost และใหม่กว่า

สำหรับระบบไฟล์ ปัญหาการสำรองข้อมูลได้รับการแก้ไขบางส่วนโดยใช้วิธีการที่ใช้ได้กับอุปกรณ์บล็อก แต่ปัญหาสามารถแก้ไขได้อย่างมีประสิทธิภาพมากขึ้นโดยใช้ ตัวอย่างเช่น:

  • Rsync โปรแกรมและโปรโตคอลทั่วไปสำหรับการซิงโครไนซ์สถานะของระบบไฟล์
  • เครื่องมือเก็บถาวรในตัว (ZFS)
  • เครื่องมือเก็บข้อมูลของบุคคลที่สาม ตัวแทนที่ได้รับความนิยมมากที่สุดคือ tar มีอย่างอื่นอีกเช่น dar - มาแทนที่ tar ที่มุ่งเป้าไปที่ระบบสมัยใหม่

เป็นเรื่องที่ควรกล่าวถึงแยกต่างหากเกี่ยวกับเครื่องมือซอฟต์แวร์เพื่อให้มั่นใจถึงความสอดคล้องของข้อมูลเมื่อสร้างสำเนาสำรอง ตัวเลือกที่ใช้บ่อยที่สุดคือ:

  • การติดตั้งระบบไฟล์ในโหมดอ่านอย่างเดียว (อ่านอย่างเดียว) หรือหยุดระบบไฟล์ (หยุด) - วิธีการนี้มีการบังคับใช้อย่างจำกัด
  • การสร้างสแน็ปช็อตสถานะของระบบไฟล์หรืออุปกรณ์บล็อก (LVM, ZFS)
  • การใช้เครื่องมือของบุคคลที่สามในการจัดระเบียบการแสดงผล แม้ในกรณีที่ไม่สามารถระบุจุดก่อนหน้าได้ด้วยเหตุผลบางประการ (โปรแกรมเช่น hotcopy)
  • อย่างไรก็ตาม เทคนิคการคัดลอกเมื่อเปลี่ยนแปลง (CopyOnWrite) มักเชื่อมโยงกับระบบไฟล์ที่ใช้ (BTRFS, ZFS)

ดังนั้น สำหรับเซิร์ฟเวอร์ขนาดเล็ก คุณจะต้องจัดเตรียมแผนการสำรองข้อมูลที่ตรงตามข้อกำหนดต่อไปนี้:

  • ใช้งานง่าย - ไม่ต้องมีขั้นตอนพิเศษเพิ่มเติมระหว่างการดำเนินการ ขั้นตอนขั้นต่ำในการสร้างและกู้คืนสำเนา
  • สากล - ทำงานบนเซิร์ฟเวอร์ทั้งขนาดใหญ่และขนาดเล็ก นี่เป็นสิ่งสำคัญในการเพิ่มจำนวนเซิร์ฟเวอร์หรือการปรับขนาด
  • ติดตั้งโดยตัวจัดการแพ็คเกจ หรือในหนึ่งหรือสองคำสั่ง เช่น “ดาวน์โหลดและแตกไฟล์”
  • เสถียร - ใช้รูปแบบการจัดเก็บข้อมูลมาตรฐานหรือที่มีมายาวนาน
  • รวดเร็วในการทำงาน.

ผู้สมัครจากผู้ที่มีคุณสมบัติตรงตามข้อกำหนดไม่มากก็น้อย:

  • rdiff สำรอง
  • rsnapshot
  • เรอ
  • ทำซ้ำ
  • การตีสองหน้า
  • ให้ dup
  • Dar
  • สำรองข้อมูล
  • พักผ่อน
  • บอร์กแบ็คอัพ

การสำรองข้อมูล ตอนที่ 1: วัตถุประสงค์ ทบทวนวิธีการและเทคโนโลยี

เครื่องเสมือน (ขึ้นอยู่กับ XenServer) ที่มีคุณสมบัติดังต่อไปนี้จะถูกนำมาใช้เป็นม้านั่งทดสอบ:

  • 4 คอร์ 2.5 GHz,
  • แรม 16GB,
  • ที่เก็บข้อมูลไฮบริด 50 GB (ระบบจัดเก็บข้อมูลพร้อมแคชบน SSD 20% ของขนาดดิสก์เสมือน) ในรูปแบบของดิสก์เสมือนแยกต่างหากโดยไม่มีการแบ่งพาร์ติชัน
  • ช่องอินเทอร์เน็ต 200 Mbits

เครื่องเดียวกันเกือบทั้งหมดจะถูกใช้เป็นเซิร์ฟเวอร์ตัวรับการสำรองข้อมูลเฉพาะกับฮาร์ดไดรฟ์ขนาด 500 GB เท่านั้น

ระบบปฏิบัติการ - Centos 7 x64: พาร์ติชันมาตรฐาน พาร์ติชันเพิ่มเติมจะถูกใช้เป็นแหล่งข้อมูล

จากข้อมูลเบื้องต้น ลองใช้ไซต์ WordPress ที่มีไฟล์มีเดียขนาด 40 GB และฐานข้อมูล mysql เนื่องจากเซิร์ฟเวอร์เสมือนมีคุณสมบัติที่แตกต่างกันอย่างมาก และเพื่อความสามารถในการทำซ้ำที่ดียิ่งขึ้น นี่จึงเป็นเช่นนี้

ผลการทดสอบเซิร์ฟเวอร์โดยใช้ sysbenchsysbench --threads=4 --time=30 --cpu-max-prime=20000 ซีพียูทำงาน
sysbench 1.1.0-18a9f86 (ใช้ LuaJIT 2.1.0-beta3 ที่ให้มาด้วย)
ทำการทดสอบด้วยตัวเลือกต่อไปนี้:
จำนวนเธรด: 4
กำลังเริ่มต้นตัวสร้างตัวเลขสุ่มจากเวลาปัจจุบัน

จำกัดจำนวนเฉพาะ: 20000

กำลังเตรียมใช้งานเธรดผู้ปฏิบัติงาน...

กระทู้เริ่ด!

ความเร็ว CPU:
เหตุการณ์ต่อวินาที: 836.69

ผ่าน:
เหตุการณ์/วินาที (eps): 836.6908
เวลาที่ผ่านไป: 30.0039 วินาที
จำนวนเหตุการณ์ทั้งหมด: 25104

เวลาแฝง (มิลลิวินาที):
นาที: 2.38
เฉลี่ย: 4.78
สูงสุด: 22.39
เปอร์เซ็นไทล์ที่ 95: 10.46
ผลรวม: 119923.64

ความเป็นธรรมของเธรด:
เหตุการณ์ (เฉลี่ย/stddev): 6276.0000/13.91
เวลาดำเนินการ (เฉลี่ย/stddev): 29.9809/0.01

sysbench --threads=4 --time=30 --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=อ่าน เรียกใช้หน่วยความจำ
sysbench 1.1.0-18a9f86 (ใช้ LuaJIT 2.1.0-beta3 ที่ให้มาด้วย)
ทำการทดสอบด้วยตัวเลือกต่อไปนี้:
จำนวนเธรด: 4
กำลังเริ่มต้นตัวสร้างตัวเลขสุ่มจากเวลาปัจจุบัน

รันการทดสอบความเร็วหน่วยความจำด้วยตัวเลือกต่อไปนี้:
ขนาดบล็อก: 1KiB
ขนาดรวม: 102400MiB
การดำเนินงาน: อ่าน
ขอบเขต: ทั่วโลก

กำลังเตรียมใช้งานเธรดผู้ปฏิบัติงาน...

กระทู้เริ่ด!

การดำเนินการทั้งหมด: 50900446 (1696677.10 ต่อวินาที)

ถ่ายโอน 49707.47 MiB (1656.91 MiB/วินาที)

ผ่าน:
เหตุการณ์/วินาที (eps): 1696677.1017
เวลาที่ผ่านไป: 30.0001 วินาที
จำนวนเหตุการณ์ทั้งหมด: 50900446

เวลาแฝง (มิลลิวินาที):
นาที: 0.00
เฉลี่ย: 0.00
สูงสุด: 24.01
เปอร์เซ็นไทล์ที่ 95: 0.00
ผลรวม: 39106.74

ความเป็นธรรมของเธรด:
เหตุการณ์ (เฉลี่ย/stddev): 12725111.5000/137775.15
เวลาดำเนินการ (เฉลี่ย/stddev): 9.7767/0.10

sysbench --threads=4 --time=30 --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=เขียน เรียกใช้หน่วยความจำ
sysbench 1.1.0-18a9f86 (ใช้ LuaJIT 2.1.0-beta3 ที่ให้มาด้วย)
ทำการทดสอบด้วยตัวเลือกต่อไปนี้:
จำนวนเธรด: 4
กำลังเริ่มต้นตัวสร้างตัวเลขสุ่มจากเวลาปัจจุบัน

รันการทดสอบความเร็วหน่วยความจำด้วยตัวเลือกต่อไปนี้:
ขนาดบล็อก: 1KiB
ขนาดรวม: 102400MiB
การดำเนินการ: เขียน
ขอบเขต: ทั่วโลก

กำลังเตรียมใช้งานเธรดผู้ปฏิบัติงาน...

กระทู้เริ่ด!

การดำเนินการทั้งหมด: 35910413 (1197008.62 ต่อวินาที)

ถ่ายโอน 35068.76 MiB (1168.95 MiB/วินาที)

ผ่าน:
เหตุการณ์/วินาที (eps): 1197008.6179
เวลาที่ผ่านไป: 30.0001 วินาที
จำนวนเหตุการณ์ทั้งหมด: 35910413

เวลาแฝง (มิลลิวินาที):
นาที: 0.00
เฉลี่ย: 0.00
สูงสุด: 16.90
เปอร์เซ็นไทล์ที่ 95: 0.00
ผลรวม: 43604.83

ความเป็นธรรมของเธรด:
เหตุการณ์ (เฉลี่ย/stddev): 8977603.2500/233905.84
เวลาดำเนินการ (เฉลี่ย/stddev): 10.9012/0.41

sysbench --threads=4 --file-test-mode=rndrw --time=60 --file-block-size=4K --file-total-size=1G fileio รัน
sysbench 1.1.0-18a9f86 (ใช้ LuaJIT 2.1.0-beta3 ที่ให้มาด้วย)
ทำการทดสอบด้วยตัวเลือกต่อไปนี้:
จำนวนเธรด: 4
กำลังเริ่มต้นตัวสร้างตัวเลขสุ่มจากเวลาปัจจุบัน

แฟล็กเปิดไฟล์พิเศษ: (ไม่มี)
128 ไฟล์ ไฟล์ละ 8MiB
ขนาดไฟล์รวม 1GiB
บล็อกขนาด 4KiB
จำนวนคำขอ IO: 0
อัตราการอ่าน/เขียนสำหรับการทดสอบ IO แบบสุ่มรวม: 1.50
เปิดใช้งาน FSYNC เป็นระยะ โดยเรียก fsync() ทุกๆ 100 คำขอ
การเรียก fsync() เมื่อสิ้นสุดการทดสอบ เปิดใช้งานแล้ว
การใช้โหมดซิงโครนัส I/O
กำลังทำการทดสอบ r/w แบบสุ่ม
กำลังเตรียมใช้งานเธรดผู้ปฏิบัติงาน...

กระทู้เริ่ด!

ผ่าน:
อ่าน: IOPS=3868.21 15.11 MiB/s (15.84 MB/s)
เขียน: IOPS=2578.83 10.07 MiB/s (10.56 MB/s)
fsync: IOPS=8226.98

เวลาแฝง (มิลลิวินาที):
นาที: 0.00
เฉลี่ย: 0.27
สูงสุด: 18.01
เปอร์เซ็นไทล์ที่ 95: 1.08
ผลรวม: 238469.45

บันทึกนี้เริ่มต้นครั้งใหญ่

บทความเกี่ยวกับการสำรองข้อมูล

  1. การสำรองข้อมูล ตอนที่ 1: เหตุใดจึงต้องสำรองข้อมูล ภาพรวมของวิธีการ เทคโนโลยี
  2. การสำรองข้อมูลส่วนที่ 2: การตรวจสอบและทดสอบเครื่องมือสำรองข้อมูลที่ใช้ rsync
  3. การสำรองข้อมูลส่วนที่ 3: การตรวจสอบและทดสอบการตีสองหน้า การทำซ้ำ เดจาดัพ
  4. การสำรองข้อมูลส่วนที่ 4: การตรวจสอบและทดสอบ zbackup, restic, borgbackup
  5. การสำรองข้อมูลส่วนที่ 5: การทดสอบการสำรองข้อมูล bacula และ veeam สำหรับ linux
  6. การสำรองข้อมูลส่วนที่ 6: การเปรียบเทียบเครื่องมือสำรองข้อมูล
  7. การสำรองข้อมูลส่วนที่ 7: บทสรุป

ที่มา: will.com

เพิ่มความคิดเห็น