มีระบบสำรองข้อมูล Retic 0.13

หลังจากหนึ่งปีของการพัฒนา จะมีการเผยแพร่ระบบสำรองข้อมูล restic 0.13 ซึ่งมีเครื่องมือสำหรับการบันทึกสำเนาสำรองในพื้นที่เก็บข้อมูลตามเวอร์ชัน ซึ่งสามารถโฮสต์บนเซิร์ฟเวอร์ภายนอกและในพื้นที่เก็บข้อมูลบนคลาวด์ ข้อมูลจะถูกจัดเก็บในรูปแบบที่เข้ารหัส คุณสามารถกำหนดกฎที่ยืดหยุ่นเพื่อรวมและยกเว้นไฟล์และไดเร็กทอรีเมื่อสร้างการสำรองข้อมูล รองรับการทำงานบน Linux, macOS, Windows, FreeBSD และ OpenBSD รหัสโครงการเขียนด้วยภาษา Go และเผยแพร่ภายใต้ใบอนุญาต BSD

คุณสมบัติหลัก:

  • รองรับการจัดเก็บข้อมูลสำรองในระบบไฟล์ในเครื่อง บนเซิร์ฟเวอร์ภายนอกที่เข้าถึงได้ผ่าน SFTP/SSH หรือ HTTP REST ใน Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage และ Google Cloud Storage cloud รวมถึงในที่เก็บข้อมูลใด ๆ ซึ่งมีแบ็กเอนด์ rclone เซิร์ฟเวอร์ส่วนที่เหลือพิเศษยังสามารถใช้เพื่อจัดระเบียบพื้นที่จัดเก็บข้อมูล ซึ่งให้ประสิทธิภาพที่สูงกว่าเมื่อเทียบกับแบ็กเอนด์อื่นๆ และสามารถทำงานในโหมดต่อท้ายเท่านั้น ซึ่งจะไม่อนุญาตให้คุณลบหรือเปลี่ยนแปลงการสำรองข้อมูลหากเซิร์ฟเวอร์ต้นทางและการเข้าถึงคีย์การเข้ารหัสนั้น ถูกบุกรุก
  • รองรับการกำหนดกฎที่ยืดหยุ่นเพื่อยกเว้นไฟล์และไดเร็กทอรีเมื่อสร้างการสำรองข้อมูล (เช่น เพื่อยกเว้นบันทึก ไฟล์ชั่วคราว และข้อมูลที่ทำซ้ำได้ง่ายจากการสำรองข้อมูล) รูปแบบของกฎการละเว้นนั้นคุ้นเคยและคล้ายกับ rsync หรือ gitignore
  • ง่ายต่อการติดตั้ง ใช้งาน และกู้คืนข้อมูล ในการทำงานกับการสำรองข้อมูล ก็เพียงพอที่จะคัดลอกไฟล์ปฏิบัติการหนึ่งไฟล์ ซึ่งสามารถใช้ได้โดยไม่ต้องตั้งค่าเพิ่มเติม มีการสร้างบิลด์ที่ทำซ้ำได้สำหรับไฟล์ปฏิบัติการ ซึ่งช่วยให้คุณตรวจสอบได้ด้วยตัวเองว่าแอสเซมบลีไบนารีนั้นถูกสร้างขึ้นจากซอร์สโค้ดที่ให้มา
  • รองรับสแนปชอต ซึ่งสะท้อนถึงสถานะของไดเร็กทอรีเฉพาะพร้อมไฟล์และไดเร็กทอรีย่อยทั้งหมด ณ เวลาใดเวลาหนึ่ง แต่ละครั้งที่มีการสร้างข้อมูลสำรองใหม่ สแน็ปช็อตที่เกี่ยวข้องจะถูกสร้างขึ้น ช่วยให้คุณสามารถกู้คืนสถานะในขณะนั้นได้ คุณสามารถคัดลอกสแน็ปช็อตระหว่างที่เก็บต่างๆ ได้
  • เพื่อประหยัดการรับส่งข้อมูล ระบบจะคัดลอกเฉพาะข้อมูลที่เปลี่ยนแปลงในระหว่างขั้นตอนการสำรองข้อมูล เพื่อให้มั่นใจว่าพื้นที่จัดเก็บข้อมูลมีประสิทธิภาพ ข้อมูลในพื้นที่เก็บข้อมูลจะไม่ซ้ำกัน และสแน็ปช็อตเพิ่มเติมจะครอบคลุมเฉพาะข้อมูลที่มีการเปลี่ยนแปลงเท่านั้น ระบบไม่ได้จัดการไฟล์ทั้งหมด แต่เลือกบล็อกขนาดลอยโดยใช้ลายเซ็น Rabin ข้อมูลจะถูกจัดเก็บโดยสัมพันธ์กับเนื้อหา ไม่ใช่ชื่อไฟล์ (ชื่อและออบเจ็กต์ที่เกี่ยวข้องกับข้อมูลถูกกำหนดไว้ที่ระดับเมตาดาต้าของบล็อก) จากการแฮชเนื้อหา SHA-256 จะมีการขจัดข้อมูลซ้ำซ้อนและลดการคัดลอกข้อมูลที่ไม่จำเป็นออกไป
  • ในการประเมินเนื้อหาของที่เก็บด้วยสายตาและทำให้การกู้คืนง่ายขึ้น สามารถติดตั้งสแน็ปช็อตพร้อมสำเนาสำรองในรูปแบบของพาร์ติชันเสมือน (การติดตั้งจะดำเนินการโดยใช้ FUSE) นอกจากนี้ยังมีคำสั่งสำหรับการวิเคราะห์การเปลี่ยนแปลงและการแยกไฟล์แบบเลือกสรรอีกด้วย
  • ข้อมูลบนเซิร์ฟเวอร์ภายนอกจะถูกจัดเก็บในรูปแบบที่เข้ารหัส (SHA-256 ใช้สำหรับเช็คซัม, AES-256-CTR ใช้สำหรับการเข้ารหัส และใช้รหัสการตรวจสอบสิทธิ์ที่ใช้ Poly1305-AES เพื่อรับประกันความสมบูรณ์) ระบบได้รับการออกแบบในตอนแรกเพื่อให้แน่ใจว่าสำเนาสำรองถูกจัดเก็บไว้ในสภาพแวดล้อมที่ไม่น่าเชื่อถือ และหากสำเนาสำรองตกไปอยู่ในมือของผู้ไม่หวังดี ก็ไม่ควรทำให้ระบบเสียหาย การเข้ารหัสสามารถทำได้โดยใช้ทั้งคีย์การเข้าถึงและรหัสผ่าน
  • สามารถตรวจสอบสำเนาสำรองได้โดยใช้เช็คซัมและรหัสการตรวจสอบสิทธิ์เพื่อยืนยันว่าความสมบูรณ์ของไฟล์ไม่ถูกทำลาย และสามารถกู้คืนไฟล์ที่จำเป็นได้และไม่รวมการแก้ไขที่ซ่อนอยู่

ในเวอร์ชันใหม่:

  • เพิ่มการรองรับรูปแบบการยกเว้นเชิงลบ ตัวอย่างเช่น "--exclude '/home/user/*' --exclude '!/home/user/.config'" เพื่อยกเว้นเนื้อหาทั้งหมดของ /home/user ยกเว้นไดเร็กทอรี /home/user/.config
  • มีการเพิ่มโหมด “--dry-run” ให้กับคำสั่ง “backup” ซึ่งเมื่อรันด้วยตัวเลือก “--verbose” จะทำให้คุณสามารถติดตามไฟล์ที่จะรวมอยู่ในการสำรองข้อมูลโดยไม่ต้องทำการเปลี่ยนแปลงใดๆ จริงๆ
  • มีการเพิ่มการรองรับเช็คซัมในแบ็กเอนด์ที่เก็บข้อมูลต่างๆ เพื่อการตรวจสอบข้อมูลที่ดาวน์โหลดเพิ่มเติม
  • คำสั่ง “restore” ได้รับการปรับให้เหมาะสม ทำให้ทำงานได้เร็วเป็นสองเท่า ประสิทธิภาพของคำสั่ง "copy" ก็ได้รับการปรับปรุงเช่นกัน

ที่มา: opennet.ru

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