ข้ามไปที่เนื้อหา

คุณสมบัติ

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

ขอบเขตการสำรองข้อมูล

คอนเทนเนอร์แต่ละตัวมีสวิตช์กำหนดเวลา ลำดับการสำรอง และประวัติของตัวเอง

คอนเทนเนอร์แต่ละตัวมีสวิตช์กำหนดเวลา ลำดับการสำรอง และประวัติของตัวเอง

อะไร สิ่งที่ถูกบันทึก
Docker containers ไดเรกทอรี appdata พร้อมคำจำกัดความของ container (อิมเมจ, env vars, พอร์ต, ป้ายกำกับ, โวลุ่ม) โดยค่าเริ่มต้นจะเป็นไดเรกทอรี appdata ทั้งหมด ปุ่ม เลือกโฟลเดอร์ บน container ให้คุณติ๊กได้ตรง ๆ ว่าการสำรองข้อมูลครอบคลุมโฟลเดอร์ใด พร้อมจำนวนพาธที่นับแบบสด รายการสิ่งที่คุณไม่ได้เลือก และสวิตช์ ข้ามโฟลเดอร์แคช (CACHEDIR.TAG) สำหรับแต่ละราก
KVM / libvirt VMs อิมเมจดิสก์ของ VM, คำจำกัดความ XML และ UEFI NVRAM (ปิดเครื่องแบบราบรื่นหรือสแนปช็อตขณะทำงาน ผ่าน SSH) สแนปช็อตขณะทำงานจะย้อนกลับไปใช้การสำรองข้อมูลแบบราบรื่นโดยอัตโนมัติหากไม่สามารถสร้างสแนปช็อตได้ ดังนั้นการสำรองข้อมูล VM จึงไม่ล้มเหลวเฉยๆ เมื่อเปิด เฉพาะบล็อกที่เปลี่ยน VM ที่กำลังทำงานและมีดิสก์ qcow2 จะถูกอ่านผ่านเช็กพอยต์ของ libvirt การสำรองจึงอ่านเฉพาะบล็อกที่เขียนหลังครั้งก่อน และแต่ละสแนปช็อตยังกู้คืนทั้งดิสก์ได้ด้วยตัวเอง ดิสก์บน ZFS zvol จะถูกสตรีมด้วย zfs send ผ่านลิงก์ SSH เดียวกัน VM ที่ดิสก์เป็น zvol จึงถูกสำรองเป็น VM เดียว สถานะของ vTPM แบบ passthrough จะถูกบันทึกไว้ข้าง NVRAM เมื่อ XML ของโดเมนระบุพาธของมัน ส่วน vTPM แบบจำลองที่ TrueNAS ตั้งให้ guest Windows 11 ไม่เปิดเผยพาธนั้น จึงควรเก็บคีย์กู้คืนของ guest ดังกล่าวไว้ให้พร้อม ดู คู่มือการสำรองข้อมูล VM
Unraid flash แฟลช USB ทั้งหมด (/boot): OS, ลิขสิทธิ์, การตั้งค่าอาร์เรย์, แชร์, การตั้งค่าเครือข่ายและปลั๊กอิน การกู้คืนเป็นการดาวน์โหลด .zip แบบคลิกเดียวและไม่เคยเขียนทับแฟลชที่กำลังทำงานอยู่
การตั้งค่าแอป /config ของ BombVault เอง (ฐานข้อมูลการตั้งค่า, ข้อมูลรับรองนอกสถานที่, คู่คีย์ SSH ของ libvirt) ทำสแนปช็อตด้วย SQLite VACUUM INTO ดังนั้นฐานข้อมูลโหมด WAL จึงไม่เคยถูกจับภาพขณะกำลังเขียน กู้คืนผ่านการรีสตาร์ทตัวเอง ดังนั้นฐานข้อมูลที่กำลังทำงานจึงไม่เคยถูกเขียนทับภายใต้ handle ที่เปิดอยู่
ไฟล์และโฟลเดอร์ ชุดไฟล์ (file sets) ที่ตั้งชื่อไว้: โฟลเดอร์ใดก็ได้บนเซิร์ฟเวอร์ (แชร์, เอกสารของคุณ, คลังภาพถ่าย) แต่ละชุดมีรูปแบบการยกเว้นเฉพาะชุดได้ตามต้องการ มีความเท่าเทียมเต็มรูปแบบกับโดเมนอื่นๆ (ตารางเวลา, การเก็บรักษา, การคัดลอกนอกสถานที่, การตรวจสอบความสมบูรณ์ และการซ้อมกู้คืน)
ชุดข้อมูล ZFS ชุดข้อมูลหนึ่งพร้อมชุดข้อมูลทั้งหมดที่อยู่ข้างใต้ อ่านจากสแนปช็อต ZFS เพียงครั้งเดียว ทุกชุดจึงมาจากช่วงเวลาเดียวกัน และเก็บด้วย restic เหมือนโฟลเดอร์ ลดข้อมูลซ้ำ เปิดดูได้ และกู้คืนทีละไฟล์ได้ ชุดข้อมูลลูกใหม่จะเข้ามาเอง เลือกตัดออกทีละชุดได้ และชุดที่อ่านไม่ได้จะถูกข้ามพร้อมบอกชื่อ ถ้าต้องการ จะหยุดคอนเทนเนอร์หรือรันคำสั่งเฉพาะตอนถ่ายสแนปช็อต ไม่รวมวอลุ่ม วอลุ่มของ VM สำรองไปพร้อม VM นั้น ส่วนวอลุ่มที่ไม่มี VM ใช้ยังไม่ถูกสำรอง ดู ชุดข้อมูล ZFS

การกู้คืน

การกู้คืนแบบมีคำแนะนำพาเครื่องที่ติดตั้งใหม่ผ่านสถานการณ์ภัยพิบัติในที่เดียว

การกู้คืนแบบมีคำแนะนำพาเครื่องที่ติดตั้งใหม่ผ่านสถานการณ์ภัยพิบัติในที่เดียว

  • การกู้คืนแบบเต็มด้วยคลิกเดียว เลือกสแนปช็อต คลิก กู้คืน เสร็จ
  • ไทม์ไลน์เดียวต่อรายการ container, VM, ชุดไฟล์, แฟลช และการตั้งค่าแอป จะแสดงรายการสำรองข้อมูลของตัวเองเป็นไทม์ไลน์เดียวครอบคลุมทุกที่ที่มันตั้งอยู่ รีพอสิทอรีที่มันถูกเขียนไว้ และปลายทางนอกสถานที่แต่ละแห่ง การสำรองข้อมูลที่คัดลอกไปนอกสถานที่จะปรากฏเพียงครั้งเดียว โดยมีเครื่องหมายกำกับทุกที่ ที่นอกสถานที่จะถูกอ่านเมื่อคุณเปิดดู และการลบที่จุดหนึ่งจะบอกว่านั่นเป็นสำเนาสุดท้ายหรือไม่
  • Containers ถูกติดตั้งใหม่โดยอัตโนมัติ คำจำกัดความของ container จะถูกเล่นซ้ำผ่าน Docker API ดังนั้น container จึงปรากฏขึ้นอีกครั้งในแท็บ Docker ของ Unraid เหมือนเดิมทุกประการ
  • GPU ขีดจำกัด และลิงก์กลับมา container ที่กู้คืนจะได้ขีดจำกัดทรัพยากร ไดรเวอร์บันทึก การตั้งค่า DNS ลิงก์แบบเดิม และ GPU หรือรันไทม์ (--gpus, --runtime=nvidia) กลับมา บนโฮสต์ที่ไม่มีไดรเวอร์ GPU หรือรันไทม์นั้น การกู้คืนจะแจ้งและเสนอ กู้คืนโดยไม่มี GPU และรันไทม์ รวมถึงหลังจากกู้คืนหลาย container หรือ stack ลิงก์ไปยัง container ที่ไม่มีอยู่ หรือหยุดอยู่ตอนที่ container ที่กู้คืนเริ่มทำงาน จะถูกตัดออก และประวัติการทำงานจะบอกไว้
  • VMs ถูกสร้างใหม่โดยอัตโนมัติ XML จะถูกนำเข้าใหม่ผ่าน SSH ดังนั้น VM จึงปรากฏขึ้นอีกครั้งใน VM Manager พร้อมกับดิสก์และ UEFI NVRAM ที่เชื่อมต่อกลับเข้าไป แม้ว่า VM จะถูกลบไปแล้วก็ตาม ค้นหาการสำรองข้อมูล จะสร้างรายการที่หายไปทั้งหมดขึ้นใหม่ (เช่น หลังการติดตั้งใหม่)
  • การกู้คืนรายตัว กู้คืน container หนึ่งตัว, VM หนึ่งตัว หรือชุดไฟล์หนึ่งชุดได้โดยไม่แตะต้องตัวอื่น
  • การกู้คืนแฟลชเป็นการดาวน์โหลด .zip มันจะสตรีมไปยังเบราว์เซอร์ของคุณเป็น flash-<id>.zip พร้อมสำหรับวางลงในตัวสร้าง USB ของ Unraid ส่วน /boot ที่กำลังทำงานอยู่จะไม่ถูกแตะต้อง
  • กู้คืนปลั๊กอินทีละตัว หน้า Flash แสดงปลั๊กอินในข้อมูลสำรองแฟลชแต่ละชุดพร้อมเวอร์ชันและขนาด และนำปลั๊กอินตัวเดียวกลับไปยังแฟลชที่กำลังใช้งาน ได้แก่ ไฟล์ .plg โฟลเดอร์ใต้ config/plugins และไฟล์แพ็กเกจที่ข้อมูลสำรองมี ส่วนอื่นบนแฟลชไม่เปลี่ยน Unraid จะติดตั้งปลั๊กอินในการบูตครั้งถัดไป หรือทันทีที่ Plugins, Install Plugin
  • การส่งออก zip แฟลชตามตารางเวลา หลังการสำรองข้อมูลแฟลชทุกครั้ง สามารถเลือกเขียนสแนปช็อตออกมาเป็น .zip ธรรมดาไปยังโฟลเดอร์ที่คุณเลือกได้ (ไฟล์ flash-latest.zip ไฟล์เดียวที่ถูกเขียนทับ หรือประวัติแบบหมุนเวียน) ชี้ไปยังโฟลเดอร์ Syncthing หรือ rclone เพื่อให้การสำรองข้อมูล USB ที่บูตได้ออกจากเซิร์ฟเวอร์โดยอัตโนมัติ
  • การตรวจสอบความขัดแย้งก่อนเริ่ม ก่อนที่จะมีการหยุดหรือลบอะไร การกู้คืนจะตรวจสอบว่า IP แบบสแตติกและพอร์ตโฮสต์ที่เผยแพร่ของ container ว่างอยู่ และยกเลิกพร้อมข้อความที่ชัดเจนแทนที่จะทิ้งการกู้คืนที่ทำค้างไว้ครึ่งทาง
  • การตรวจก่อนกู้คืน ทุกหน้าต่างกู้คืนจะตรวจก่อนว่าคลังตอบสนอง คีย์ที่บันทึกไว้เปิดคลังได้ มีจุดกู้คืนอยู่ และปลายทางมีพื้นที่พอสำหรับสิ่งที่การกู้คืนจะเขียน ปุ่มเริ่มจะล็อกอยู่ตราบที่ยังมีการตรวจที่ไม่ผ่าน และ (i) บนปุ่มจะบอกว่าข้อใด
  • แผนการกู้คืน ก่อนยืนยัน หน้าต่างจะแสดงว่าการกู้คืนจะทำอะไรเมื่อเทียบกับสภาพปัจจุบัน: ไฟล์ใหม่ ไฟล์ที่ถูกแทนที่ และไฟล์ที่ไม่เปลี่ยน พร้อมรายการเมื่อขอดู และไฟล์ที่ปลายทางซึ่งไม่อยู่ในข้อมูลสำรองและจะคงอยู่ที่เดิม สำหรับคอนเทนเนอร์และ VM ยังเทียบการตั้งค่าที่การกู้คืนสร้างใหม่กับที่กำลังทำงานอยู่ด้วย: อิมเมจและแท็ก พอร์ต ชื่อตัวแปร และวอลุ่ม หรือหน่วยความจำ vCPU ดิสก์ และเครือข่าย restic คำนวณสิ่งนี้ด้วยการทดลองรันตามขนาดและเวลาแก้ไขโดยไม่อ่านไฟล์ ต้นไม้ขนาดใหญ่มากจะหยุดหลัง 30 วินาทีและบอกไว้ การกู้คืนสแตกจะตรวจและวางแผนสมาชิกทุกตัว และระบุชื่อตัวที่บล็อกไว้
  • โฟลเดอร์ที่ใช้ร่วมกัน การกู้คืนที่ตำแหน่งเดิมจะระบุชื่อคอนเทนเนอร์อื่นทุกตัว ไม่ว่าจะทำงานอยู่หรือไม่ ที่การผูกเมานต์เข้าไปถึงโฟลเดอร์ที่การกู้คืนเขียนลงไป เช่น "nextcloud-db ก็ใช้พาธนี้อยู่ด้วย" เป็นเพียงคำเตือนและไม่บล็อก
  • การกู้คืนระดับไฟล์ ขยาย ไฟล์ ของสแนปช็อต container, กรอง, ทำเครื่องหมายไฟล์และโฟลเดอร์จำนวนเท่าใดก็ได้ แล้วกู้คืนรายการที่เลือกไปยังตำแหน่งเดิมหรือไปยังโฟลเดอร์ที่คุณเลือก
  • การกู้คืนชุดไฟล์ กู้คืนสแนปช็อตชุดไฟล์ไปยังตำแหน่งเดิม (หลังการยืนยันอย่างชัดเจน) หรือไปยังโฟลเดอร์ที่คุณเลือก ไม่เคยทำแบบเงียบๆ การกู้คืนแบบเลือกก็ทำงานได้ที่นี่เช่นกัน
  • กู้คืนชุดข้อมูล ZFS กู้คืนชุดข้อมูลหนึ่งของรายการกลับที่เดิม (หลังถ่ายสแนปช็อตความปลอดภัยของ ZFS ซึ่งอยู่จนกว่าคุณจะลบ) ไปยังโฟลเดอร์ หรือเฉพาะไฟล์ที่เลือก หรือกู้ทุกชุดข้อมูลของการสำรองหนึ่งครั้งไปยังโฟลเดอร์ ชุดข้อมูลจะไม่ถูกย้อนกลับหรือแทนที่
  • การกู้คืนคงสถานะการทำงานไว้ container หรือ VM ที่กำลังทำงานอยู่ตอนสำรองข้อมูลจะกลับมาทำงาน ส่วนตัวที่หยุดอยู่จะยังคงหยุด ทำเครื่องหมาย ปล่อยให้หยุดอยู่หลังกู้คืน เพื่อสร้างใหม่โดยไม่เริ่มทำงาน
  • กู้คืนทั้งสแต็ก Containers จากโปรเจกต์ Docker Compose เดียวกันจะถูกจัดกลุ่มไว้ในแผง สแตก กู้คืนสแตก… จะสร้างสมาชิกทุกตัวขึ้นใหม่จากการสำรองข้อมูลล่าสุดโดยปล่อยให้หยุดไว้ จากนั้นสามารถเลือกเริ่มพวกมันตามลำดับ depends_on ได้
  • ความคืบหน้าแบบสด, การยกเลิก และการแจ้งสถานะยุ่ง การกู้คืนที่ใช้เวลานานจะแสดงแถบเปอร์เซ็นต์แบบสดและสามารถยกเลิกได้ด้วยการยืนยันที่รับรู้ประเภท การกู้คืนที่ถูกยกเลิกจะถูกบันทึกเป็น ยกเลิกแล้ว ไม่ใช่ล้มเหลว
  • การกู้คืนแบบมีคำแนะนำ แท็บ การกู้คืน โดยเฉพาะจะพาการติดตั้งใหม่ผ่านกรณีภัยพิบัติ ดู Off-site & recovery
  • กู้คืนจากรีพอสิทอรี BombVault อื่น เซสชันแบบครั้งเดียวและอ่านอย่างเดียวจะเปิดรีพอสิทอรีของอินสแตนซ์ BombVault อื่นด้วย APP_KEY ของอินสแตนซ์นั้น ดังนั้นคุณสามารถดึง container จากเซิร์ฟเวอร์ A ไปยังเซิร์ฟเวอร์ B ได้โดยไม่แตะต้องการตั้งค่าของคุณเอง ดู Off-site & recovery
  • คุณสมบัติ ZFS กลับมาด้วย ข้อมูลสำรอง ZFS ทุกชุดเก็บคุณสมบัติที่ตั้งไว้เฉพาะของแต่ละชุดข้อมูล เช่น การบีบอัด ขนาดเรคคอร์ด โควตา และการแยกตัวพิมพ์ใหญ่เล็ก การกู้คืนไปยังชุดข้อมูลใหม่จะสร้างชุดข้อมูลด้วยคุณสมบัติเหล่านั้น ส่วนการกู้คืนไปยังชุดข้อมูลที่มีอยู่จะแสดงคุณสมบัติและตั้งค่าเมื่อคุณสั่งเท่านั้น ดู ชุดข้อมูล ZFS
  • นำเข้าจากปลั๊กอิน Appdata.Backup ในหน้า การกู้คืน ให้ชี้ BombVault ไปที่โฟลเดอร์สำรองของปลั๊กอิน ไฟล์เก็บถาวรของคอนเทนเนอร์แต่ละไฟล์จะกลายเป็นจุดกู้คืนของคอนเทนเนอร์นั้น ลงวันที่ตามเวลาที่ปลั๊กอินสร้าง ไฟล์ที่นำเข้าแล้วจะถูกข้าม และตัวไฟล์เก็บถาวรจะถูกอ่านเท่านั้น คอนเทนเนอร์ต้องมีข้อมูลสำรองใน BombVault หนึ่งครั้งก่อน เพื่อให้การกู้คืนมีนิยามของคอนเทนเนอร์ การเก็บรักษาจะไม่ลบจุดกู้คืนที่นำเข้า ให้ลบเองเมื่อไม่ต้องการแล้ว

การจัดเก็บและการตั้งตารางเวลา

  • การสำรองข้อมูลแบบเพิ่มส่วนและขจัดข้อมูลซ้ำผ่าน restic ดังนั้นแม้แต่ดิสก์ VM ขนาดใหญ่ก็ไม่ทำให้รีพอสิทอรีบวมขึ้น
  • ปลายทาง: พาธในเครื่อง หรือ นอกสถานที่ แชร์ SMB และเซิร์ฟเวอร์ WebDAV (Nextcloud, ownCloud, SharePoint) ใช้ได้ตรงจากฟอร์มใต้ การตั้งค่า, การเข้าถึงคลาวด์, rclone โดยไม่ต้องเมานต์บนโฮสต์; NFS (เมานต์ export บน Unraid แล้วชี้ พาธการสำรองข้อมูล ไปยังมัน); แบ็กเอนด์ restic ดั้งเดิมโดยไม่ใช้ rclone (s3:..., rest:http://host:8000/repo, sftp:user@host:/repo) หรือรีโมต rclone ใดก็ได้ผ่าน rclone:<remote>:<bucket>/path ข้อมูลรับรองทั้งหมดถูกเก็บแบบเข้ารหัส
  • ปลายทาง SSH ไม่ต้องติดตั้งอะไรที่ฝั่งไกล sftp: ต้องการเพียงเซิร์ฟเวอร์ SSH ดังนั้น Raspberry Pi เปล่าๆ (ไม่มี Docker, ไม่มี restic) ก็ใช้เป็นปลายทางนอกสถานที่ได้ Host keys จะถูกปักหมุดโดยอัตโนมัติในการติดต่อครั้งแรก
  • การคัดลอกนอกสถานที่ (ในเครื่อง + ระยะไกล) เก็บการสำรองข้อมูลในเครื่องที่เร็วไว้และเพิ่มสำเนานอกสถานที่หนึ่งชุดหรือมากกว่า จำลองด้วย restic copy แบบทำเท่าที่ทำได้ (best-effort) (สะดุดที่นอกสถานที่ไม่เคยทำให้การสำรองข้อมูลในเครื่องล้มเหลว) แต่ละโดเมนมีตารางเวลานอกสถานที่ของตัวเอง พร้อมปุ่ม จำลองตอนนี้
  • หลายปลายทางนอกสถานที่ต่อโดเมน แต่ละโดเมน (containers, VMs, flash, config, ชุดไฟล์ และชุดข้อมูล ZFS) สามารถจำลองไปยังหลายปลายทางนอกสถานที่พร้อมกันได้ ไม่ใช่แค่ปลายทางเดียว เพิ่มปลายทางเสริมบนหน้านอกสถานที่ แต่ละปลายทางมีรีพอสิทอรี, คลาสพื้นที่จัดเก็บ S3, แฟล็ก append-only, การเก็บรักษา และงบประมาณการเติบโตของตัวเอง สำเนานอกสถานที่ที่คุณมีอยู่จะถูกยกไปเป็นปลายทางแรก ดังนั้นจึงไม่มีอะไรเปลี่ยนแปลงจนกว่าคุณจะเพิ่มปลายทางที่สอง และทุกปลายทางของโดเมนจะจำลองตามตารางเวลานอกสถานที่ของโดเมนนั้น
  • รีพอสิทอรีที่มีชื่อ จดตำแหน่งสำรองข้อมูลของคุณไว้ครั้งเดียวใน การตั้งค่า, ที่จัดเก็บ, ที่เก็บข้อมูล จะเป็นพาธในเครื่องหรือ restic remote ใดก็ได้ที่มีชุดข้อมูลรับรองของตัวเอง จากนั้นเลือกหนึ่งในนั้นเป็นตำแหน่งของรายการบนการ์ดของรายการนั้น แต่ละแถวแสดงว่ามีกี่รายการที่ชี้มาที่มัน และรีพอสิทอรีที่รายการหรือค่าเริ่มต้นของการจัดวางใช้อยู่จะย้ายหรือลบไม่ได้ เพราะ BombVault ไม่เคยย้ายข้อมูลสำรองที่เขียนไปแล้ว
  • ข้อมูลรับรองคลาวด์หลายชุด ข้อมูลรับรองคลาวด์ที่ใช้ร่วมกันมีผลกับทุกที่โดยค่าเริ่มต้น แต่ปลายทางใดก็เลือกชุดข้อมูลรับรองที่มีชื่อแทนได้ (การตั้งค่า, การเข้าถึงคลาวด์, ชุดข้อมูลรับรองเพิ่มเติม) ดังนั้น bucket S3 ของ Hetzner กับเซิร์ฟเวอร์ Garage ในเครื่องจึงทำงานคู่กันได้ โดยแต่ละตัวใช้คีย์ของตัวเอง ซึ่งรวมถึงปลายทางนอกสถานที่ และพาธสำรองข้อมูลที่เป็นรีพอสิทอรีระยะไกลในตัวเอง
  • ปลายทาง ปลายทางนอกสถานที่ตั้งค่าครั้งเดียวผ่านตัวช่วยที่แสดงรายการบริการจัดเก็บ S3 เซิร์ฟเวอร์ S3 ของคุณเอง เซิร์ฟเวอร์และแชร์ของคุณเอง และที่จัดเก็บบนคลาวด์ทุกแบบที่ rclone รองรับ พร้อมการลงชื่อเข้าใช้ การทดสอบการเชื่อมต่อ ตัวเลือกโฟลเดอร์ และคำพูดตรง ๆ เรื่องการป้องกันการลบ จากนั้นมันจะปรากฏเป็นปุ่มในทุกโดเมนและทุกรายการ ดู ปลายทาง
  • การจัดวางต่อรายการ การ์ดของทุก container, VM และชุดไฟล์มีแถวปุ่ม ในเครื่อง และหนึ่งปุ่มต่อเป้าหมายนอกสถานที่ และปุ่มที่สว่างอยู่จะได้รับการสำรองข้อมูลของมัน แชร์ที่อยู่บน NAS อยู่แล้วไม่ต้องไปที่ B2 อีกต่อไป ตำแหน่งจะคงที่ตั้งแต่การสำรองข้อมูลครั้งแรก ส่วนสำเนาสามารถเปลี่ยนได้ตลอดเวลา และการ์ดจะบอกว่ามีกี่ไซต์ที่ถือครองรายการนั้นและเป็นไปตามกฎ 3-2-1 หรือไม่ ดู การจัดวางต่อรายการ
  • ค่าเริ่มต้นของการจัดวาง หนึ่งแถวต่อโดเมนกำหนดว่ารายการใหม่จะถูกเขียนที่ใด และปลายทางใดที่รายการซึ่งไม่มีตัวเลือกของตัวเองจะถูกคัดลอกไป การเปลี่ยนค่านี้ไม่ย้ายการสำรองข้อมูลใด ๆ และบอกล่วงหน้าว่าปลายทางใดจะได้หรือเสียรายการไป
  • ลำดับการสำรองข้อมูลด้วยมือ ตั้งลำดับที่แน่นอนของการสำรองข้อมูล containers ของคุณจากแผง backup-order บนหน้า Containers การรันตามตารางเวลาและการรันแบบเลือกหลายรายการจะทำตามลำดับนั้น ส่วน container ที่คุณไม่ได้จัดลำดับจะยังคงพฤติกรรมเดิมคือเรียงตามที่เกินกำหนดมากที่สุดก่อน และการสำรองข้อมูล container เดี่ยวไม่เปลี่ยนแปลง
  • การเก็บรักษาที่ตั้งค่าได้: keep-last / daily / weekly / monthly / yearly ตัดทิ้งโดยอัตโนมัติหลังการสำรองข้อมูลแต่ละครั้ง ตั้งค่า ต่อแหล่ง (ทั้งในเครื่องและนอกสถานที่อยู่บน การตั้งค่า, การเก็บรักษา เพื่อให้คุณเก็บสำเนานอกสถานที่ไว้นานขึ้นเป็นคลังเก็บ) แต่ละแหล่งยังใช้กฎของตัวเองได้ ทั้งในเครื่องและนอกสถานที่ (กฎการเก็บรักษาแยกตามแหล่ง) เช่น เก็บข้อมูลสำรองรายวัน 7 ชุดสำหรับคอนเทนเนอร์ที่เปลี่ยนทุกวัน และน้อยกว่านั้นสำหรับ VM ที่แทบไม่เปลี่ยน
  • การบีบอัดแยกตามรีโพซิทอรี: ปิด อัตโนมัติ (ค่าเริ่มต้นของ restic) หรือสูงสุด ตั้งได้ที่ การตั้งค่า, ที่จัดเก็บ สำหรับแต่ละพาธการสำรองข้อมูลและแต่ละรีโพซิทอรีที่มีชื่อ และที่ การตั้งค่า, นอกสถานที่ สำหรับแต่ละปลายทางนอกสถานที่ การสำรองข้อมูล สำเนานอกสถานที่ และการตัดทิ้งจะเขียนด้วยค่านี้ และชุดกู้คืนจะระบุไว้ เพื่อให้ restic เปล่าๆ เขียนต่อได้ด้วยวิธีเดียวกัน
  • การตั้งตารางเวลาต่อโดเมน (daily / weekly รวมถึงชุดหลายวัน / every-N-days / cron ดิบ) แก้ไขทั้งหมดในที่เดียวบน การตั้งค่า, กำหนดการ container, VM, ชุดไฟล์ หรือรายการ ZFS แต่ละรายการมีรอบเวลาของตัวเองได้ และ ทุก N วัน ยังใช้ได้กับการซ้อมกู้คืน การทดสอบการแทรกแซง และสรุปประจำสัปดาห์ด้วย
  • รอจนกว่าแอปจะว่าง คอนเทนเนอร์สามารถให้การสำรองข้อมูลตามกำหนดเวลารอขณะที่แอปกำลังยุ่ง นานสุดตามจำนวนชั่วโมงที่คุณตั้ง และเริ่มทันทีที่แอปว่าง เซิร์ฟเวอร์สื่อว่างเมื่อไม่ได้สตรีม คอนเทนเนอร์อื่นว่างเมื่อ CPU และทราฟฟิกอยู่ต่ำกว่าขีดจำกัดใน การตั้งค่า, กำหนดการ เป็นเวลาไม่กี่นาที (บนเครือข่ายโฮสต์นับเฉพาะ CPU) การสำรองข้อมูลที่กำลังรอจะแสดงในบันทึกกิจกรรมและบนคอนเทนเนอร์พร้อมเหตุผลและกำหนดเวลา มันไม่ถือล็อก คอนเทนเนอร์อื่นจึงทำงานต่อได้ การสำรองข้อมูลด้วยตนเองไม่รอเลยสมาชิกของสแตก compose ที่ถึงคิวในรอบเดียวกันจะรอพร้อมกัน และการรอจะทำต่อพร้อมกำหนดเวลาเดิมหลังรีสตาร์ท การปิดคอนเทนเนอร์จะยกเลิกการสำรองที่รออยู่ทั้งหมด และการปิดกำหนดการของคอนเทนเนอร์จะยกเลิกรายการที่การรันของกำหนดการนั้นพักไว้ การลดจำนวนชั่วโมงยังทำให้การรอที่เริ่มไปแล้วสั้นลงด้วย
  • ขีดจำกัดแบนด์วิดท์นอกสถานที่ จำกัดอัตราการอัปโหลด/ดาวน์โหลดของ restic เพื่อไม่ให้การจำลองข้อมูลใช้ WAN ของคุณจนเต็ม
  • สตรีมมิงมาก่อน ขณะที่เซิร์ฟเวอร์สื่ออย่าง Plex, Jellyfin หรือ Emby กำลังสตรีม สำเนานอกสถานที่จะอัปโหลดด้วยขีดจำกัดที่ต่ำกว่า และกลับสู่ขีดจำกัดปกติหลังสตรีมจบไปไม่กี่นาที BombVault อ่านทราฟฟิกขาออกของเซิร์ฟเวอร์สื่อจาก Docker ส่วน REST, S3, B2, Azure, Google Cloud, Swift และ rclone ผ่าน HTTP จะช้าลงระหว่างการคัดลอก ส่วน SFTP และโฟลเดอร์ในเครื่องหรือที่เมานต์ไว้จะได้ขีดจำกัดที่ต่ำกว่าในขั้นตอนการคัดลอกถัดไป เซิร์ฟเวอร์สื่อบนเครือข่ายโฮสต์วัดไม่ได้ อยู่ใน การตั้งค่า, นอกสถานที่
  • คลาสพื้นที่จัดเก็บแบบเย็นและแบบเก็บถาวร (S3) สำหรับรีพอสิทอรีนอกสถานที่ S3 ดั้งเดิม คุณสามารถเลือกคลาสพื้นที่จัดเก็บได้ โดยจำกัดเฉพาะระดับที่กู้คืนอ่านได้ (Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval) ดังนั้นการตั้งราคาแบบเก็บถาวรจึงไม่เคยทำให้การกู้คืนเสียหายแบบเงียบๆ ระดับเก็บถาวรเชิงลึกที่ต้องละลายแบบ async ก่อน (Glacier Flexible, Deep Archive) ถูกละไว้โดยเจตนา รองรับเฉพาะแบ็กเอนด์ S3 ดั้งเดิม รีโมต rclone จะตั้งคลาสในการตั้งค่า rclone
  • โฟลเดอร์การสำรองข้อมูลยังคงคัดลอกออกนอกเครื่องได้ หลังการสำรองข้อมูลทุกครั้ง BombVault จะผ่อนสิทธิ์ของทรีรีพอสิทอรีในเครื่องเป็นไดเรกทอรี 0755 / ไฟล์ 0644 (รีพอสิทอรีถูกเข้ารหัส ดังนั้นจึงไม่มีอะไรเปิดเผย) เพื่อไม่ให้ผู้ใช้ซิงค์ที่ไม่ใช่ root ผ่าน SMB ถูกล็อกออก คำจำกัดความการกู้คืนอยู่ภายในรีพอสิทอรีแต่ละตัว ดังนั้นโฟลเดอร์รีพอสิทอรีที่คัดลอกมาจึงสมบูรณ์ในตัวเองอย่างเต็มที่

ข้อมูลเชิงลึก, การตรวจสอบ และการเฝ้าติดตาม

  • หยุดชั่วคราวจากการ์ด การ์ดของคอนเทนเนอร์ VM และชุดโฟลเดอร์ทุกใบมี หยุดกำหนดการชั่วคราว ซึ่งนำรายการออกจากตารางเวลาและจาก Backup Everything และ ทำกำหนดการต่อ เพื่อนำกลับมา ปุ่มเหล่านี้ตั้งสวิตช์ตัวเดียวกับ รวมในตารางเวลา จึงตรงกันเสมอ รายการที่หยุดไว้จะมีป้ายสีเทา กำหนดการถูกหยุดชั่วคราว และ สำรองข้อมูลเดี๋ยวนี้ ยังใช้งานได้
  • สถานะการปกป้อง (RPO) แดชบอร์ดแสดงตัวบ่งชี้ เขียว / เหลือง / แดง ต่อโดเมน โดยเปรียบเทียบการสำรองข้อมูลที่สำเร็จครั้งล่าสุดกับตารางเวลาของมัน ดังนั้นการสำรองข้อมูลที่เกินกำหนดจะกลายเป็นสีแดงแทนที่จะซ่อนอยู่ในบันทึก
  • แผนที่ความร้อนสถานะการสำรองข้อมูล ปฏิทินสไตล์ contributions ของ GitHub ที่แสดงผลการสำรองข้อมูลต่อวันต่อโดเมน พร้อมสวิตช์สลับ Containers / VMs / Flash / สำรองข้อมูลตัวเอง / โฟลเดอร์
  • การจับเวลาการทำงานทุกที่ รายการประวัติการทำงานทุกรายการแสดง start, end (duration) และแต่ละ container และ VM มีรายการ การทำงานล่าสุด ของตัวเองบนหน้าของมัน
  • แดชบอร์ดที่คุณจัดเรียงใหม่ได้ สลับโหมดปรับแต่งเพื่อลากการ์ดเข้าลำดับที่คุณต้องการและซ่อนการ์ดที่คุณไม่ต้องการ เลย์เอาต์ถูกบันทึกต่อเบราว์เซอร์
  • ขนาดรีพอสิทอรีและแนวโน้ม dedup ขนาดรีพอสิทอรีปัจจุบัน, อัตราการขจัดข้อมูลซ้ำ และจำนวนสแนปช็อตต่อโดเมน พร้อม sparkline ของการเติบโตของพื้นที่จัดเก็บ
  • การซ้อมตรวจสอบการกู้คืน BombVault พิสูจน์เป็นระยะว่าการสำรองข้อมูลของคุณกู้คืนได้ (restic check --read-data-subset แบบมีขอบเขต) และแสดงป้าย ตรวจสอบแล้วว่ากู้คืนได้ ต่อโดเมน
  • ตรวจการกู้คืนหลังการสำรองครั้งแรก เมื่อการสำรองข้อมูลครั้งแรกของรายการเสร็จ BombVault จะกู้คืนตัวอย่าง (สูงสุด 100 ไฟล์และ 256 MiB) ลงโฟลเดอร์ชั่วคราวในโฟลเดอร์กู้คืน ให้ restic อ่านทุกไฟล์กลับมาเทียบกับแฮช แล้วเทียบขนาดกับข้อมูลสำรอง ไฟล์ที่ใหญ่เกินตัวอย่าง เช่น ดิสก์ VM จะอ่านกลับเฉพาะ 64 MiB แรกแทน การ์ดของรายการแสดงผลลัพธ์ ความล้มเหลวจะส่งเป็นการแจ้งเตือน และ ตรวจการกู้คืน จะรันการตรวจเดียวกันกับข้อมูลสำรองล่าสุดได้ทุกเมื่อ การสำรองครั้งต่อ ๆ ไปจะไม่ทำซ้ำ
  • ทดสอบการเริ่ม ไบต์ที่ถูกต้องไม่ได้พิสูจน์ว่าแอปจะกลับมาทำงาน ทดสอบการเริ่ม บนการ์ดคอนเทนเนอร์จะกู้คืนข้อมูลสำรองล่าสุดเป็นสำเนาแยกแล้วเริ่มทำงาน โดยใช้ชื่อที่ขึ้นต้นด้วย bombvault-test- เครือข่าย Docker ภายในของตัวเองที่ไม่มีพอร์ตเผยแพร่และไม่มีทางออกไปยัง LAN ใช้ 1 CPU และหน่วยความจำ 2 GiB และเก็บข้อมูลในโฟลเดอร์ชั่วคราวในโฟลเดอร์กู้คืน การทดสอบผ่านเมื่อการตรวจสุขภาพของคอนเทนเนอร์รายงานว่าปกติ ถ้าไม่มีการตรวจสุขภาพ ผ่านเมื่อพอร์ตแรกที่เปิดไว้ตอบกลับจากภายในเครือข่ายนั้น และถ้าไม่มีทั้งสองอย่าง ผ่านเมื่อยังทำงานต่อไป คอนเทนเนอร์ต้นฉบับจะไม่ถูกหยุดหรือเปลี่ยนแปลง ส่วนสำเนา เครือข่าย และข้อมูลจะถูกลบหลังการทดสอบ แม้ BombVault จะรีสตาร์ตกลางการทดสอบก็ตาม คอนเทนเนอร์ที่ใช้เครือข่ายของโฮสต์ แบบมีสิทธิ์พิเศษ ใช้อุปกรณ์ หรือต้องพึ่งคอนเทนเนอร์อื่นจะแสดงว่าทดสอบไม่ได้ เปิด ทดสอบการเริ่ม ในการตรวจการกู้คืนตามกำหนดเพื่อทดสอบคอนเทนเนอร์หนึ่งตัวต่อรอบ โดยเริ่มจากตัวที่ทดสอบนานที่สุดก่อน ผลลัพธ์แสดงบนการ์ดและบนแดชบอร์ด สำเนาไม่มีป้ายกำกับใดๆ ของต้นฉบับ และทำงานโดยไม่มี capabilities, ตัวเลือกความปลอดภัย, sysctl และ cgroup parent ที่ต้นฉบับเพิ่มไว้ คอนเทนเนอร์ที่ต้องใช้สิ่งเหล่านี้จะไม่ผ่านการทดสอบ และผลลัพธ์จะบอกว่าสำเนาทำงานโดยขาดอะไร
  • การทำงานแบบซ่อมแซมตัวเอง ล็อก restic ที่กำพร้าอย่างพิสูจน์ได้ (ที่ถูกทิ้งไว้จากการรีสตาร์ทกลางการทำงาน) จะถูกล้างโดยบังคับและลองใหม่หนึ่งครั้งโดยอัตโนมัติ การเก็บรักษาเสถียรตามอัตลักษณ์ (ตัดทิ้งต่อรายการ, ไม่ขึ้นกับการเปลี่ยนพาธหรือโฮสต์) และความล้มเหลวของการเก็บรักษาจะส่งการแจ้งเตือน
  • คำเตือนที่การสแกนโฟลเดอร์มองไม่เห็น ผู้ช่วยการยกเว้นตอบคำถามเรื่องขนาด แต่ความผิดพลาดในการสำรองข้อมูลที่แพงที่สุดบางอย่างไม่ใช่เรื่องขนาด มันจึงมีข้อควรระวังเฉพาะแอปเกี่ยวกับวิธีที่แอปพลิเคชันเก็บข้อมูลของตัวเองด้วย กรณีที่มันมีไว้เพื่อสิ่งนี้คือ Immich ซึ่งเก็บอัลบั้ม ใบหน้า และวันที่ของทุกภาพไว้ในฐานข้อมูล PostgreSQL ที่รันอยู่ใน container แยกต่างหาก ดังนั้นการสำรองข้อมูลระดับไฟล์ของ container Immich จะกู้คืนรูปภาพกลับมาโดยไม่มีสิ่งเหล่านั้นเลย และการกู้คืนก็ดูเหมือนสำเร็จ คำเตือนนี้แสดงไม่ว่าจะมีการเสนอการยกเว้นหรือไม่ รวมถึงบน container ที่ไม่ได้เลือกอะไรให้สแกนเลย เพราะข้อควรระวังนี้เป็นจริงในทั้งสองกรณี
  • ไม่ได้สำรองข้อมูล (ความครอบคลุม) การ์ดบนแดชบอร์ดที่ระบุทุกสิ่งบนเซิร์ฟเวอร์ที่ไม่มีการสำรองข้อมูลอัตโนมัติครอบคลุม พร้อมเหตุผลของแต่ละรายการ: ไม่เคยถูกเพิ่มเข้า BombVault เลย, มีอยู่แต่ไม่ได้รวมอยู่ในตารางเวลา, ตารางเวลาของตัวเองถูกตั้งเป็นปิด หรือไม่ได้เปิดตารางเวลาไว้ที่ใดเลย ตัวบ่งชี้การปกป้องที่อยู่ด้านบนตอบอีกคำถามหนึ่ง คือการสำรองข้อมูลที่ ถูก ตั้งตารางเวลาไว้ทำงานตรงเวลาหรือไม่ และมันมองไม่เห็น container ที่ไม่มีใครเคยตั้งค่า เพราะ container นั้นไม่ปรากฏในรายการใดและข้อผิดพลาดใดเลย จึงไม่มีอะไรกลายเป็นสีเหลืองให้มัน container ถูกอ่านจากรายการ Docker แบบสดแทนที่จะอ่านจากแถวของ BombVault เอง เพราะรายการที่ไม่มีแถวคือรายการที่ต้องถูกระบุชื่อพอดี ประเภทการสำรองข้อมูลที่คุณปิดไว้จะไม่ถูกนับเลย เพราะนั่นเป็นการเลือกของคุณ
  • ตัวอย่างการเก็บรักษา แผงข้างการตั้งค่าการเก็บรักษาแสดงสิ่งที่การรันครั้งถัดไปกำลังจะลบ ก่อนที่มันจะเกิดขึ้น: ต่อรีพอสิทอรีและต่อรายการ พร้อมระบุชื่อจุดกู้คืน มันไม่ถือล็อกรีพอสิทอรีและไม่เปลี่ยนแปลงอะไร จึงตอบได้แม้ขณะที่การสำรองข้อมูลกำลังทำงาน เมื่อปิดการเก็บรักษาไว้ มันจะบอกเช่นนั้นแทนที่จะแสดงรายการว่าง รีพอสิทอรีแบบ append-only จะถูกระบุว่าเป็นเช่นนั้น (การเก็บรักษาไม่เคยทำงานที่นั่นเลย) และรีพอสิทอรีที่เข้าถึงไม่ได้จะถูกระบุชื่อแทนที่จะหายไปเงียบ ๆ อยู่ใต้ การตั้งค่า, การเก็บรักษา สำหรับทั้งนโยบายในเครื่องและนอกสถานที่ แต่ละอันแสดงตัวอย่างของตัวเอง
  • ความผิดปกติ. การสำรองข้อมูลทุกครั้งของคอนเทนเนอร์ VM ชุดโฟลเดอร์ ดัมพ์ฐานข้อมูล ไดรฟ์แฟลช และการสำรองข้อมูลตัวเอง จะถูกเทียบกับประวัติของรายการนั้นเอง การตรวจสอบดูที่ข้อมูลใหม่ของการรันแต่ละครั้ง เทียบกับปริมาณปกติที่มากที่สุดของการสำรองข้อมูลล่าสุดและอัตราปกติต่อชั่วโมง ดูการสำรองข้อมูลที่บันทึกข้อมูลส่วนใหญ่ซ้ำใหม่ รวมถึงไฟล์ที่ถูกเปลี่ยนชื่อและเขียนใหม่ ดูขนาดต้นทางและจำนวนไฟล์ที่ restic รายงานสำหรับแต่ละรายการและแต่ละดัมพ์ ดูเวลาสำรองข้อมูลของ restic เอง ดูความล้มเหลวต่อเนื่องและความล้มเหลวเป็นครั้งคราว ดูการตรวจการกู้คืนที่ไม่ผ่านอีกต่อไป และดูพื้นที่ว่างของรีโพสิทอรีแบบโลคัล SFTP และ rclone ซึ่งคาดการณ์จากการเติบโตของรีโพสิทอรี รายการจะเรียนรู้จากการสำรองข้อมูล 10 ครั้งแรก ส่วนต้นทางที่เกือบว่าง การเขียนข้อมูลส่วนใหญ่ใหม่ และความล้มเหลวจะถูกตรวจตั้งแต่แรก เมื่ออัปเดต ประวัติจะถูกอ่านหนึ่งครั้งจากสรุปสแนปช็อตที่ restic 0.17 เก็บไว้ การติดตั้งที่มีอยู่จึงไม่ต้องเริ่มจากศูนย์ ความไว (เข้มงวด, สมดุล, ผ่อนปรน) และระดับความรุนแรงต่ำสุดที่ส่งการแจ้งเตือนตั้งค่าได้ทั้งระบบที่ การตั้งค่า, ความสมบูรณ์ และเปลี่ยนได้ทีละรายการ คำเตือนจะปิดเองเมื่อสาเหตุหายไป ส่วนสิ่งที่พบระดับวิกฤตเกี่ยวกับข้อมูลที่สูญหายและดิสก์ที่ใกล้เต็มจะอยู่จนกว่าคุณจะรับทราบ และสิ่งที่พบที่รับทราบแล้วจะไม่ถูกรายงานอีกจนกว่าสาเหตุจะหายไปหนึ่งครั้ง ทำเครื่องหมายว่าคาดไว้แล้ว ทำให้ระดับใหม่กลายเป็นปกติหลังการสำรองข้อมูล 10 ครั้ง แต่จะไม่ปิดการตรวจต้นทางที่เกือบว่างเลย และเมื่อการเลือกเปลี่ยนไป ประวัติของรายการจะเริ่มใหม่เอง ตราบใดที่ต้นทางเกือบว่าง หดลงมาก หรือการสำรองข้อมูลบันทึกข้อมูลส่วนใหญ่ซ้ำใหม่ การเก็บรักษาจะคงการสำรองข้อมูลเก่าของรายการนั้นไว้จนกว่าคุณจะรับทราบสิ่งที่พบหรือทำเครื่องหมายว่าคาดไว้แล้ว และสิ่งที่พบจะลิงก์ไปยังการสำรองข้อมูลที่ดีล่าสุด การแจ้งเตือนจะส่งครั้งเดียวต่อเหตุการณ์ และความล้มเหลวกับการตรวจการกู้คืนที่แจ้งเตือนเองอยู่แล้วจะไม่ถูกรายงานซ้ำ สิ่งที่ไม่ได้ทำ: รีโพสิทอรี S3, B2 และ REST ไม่มีค่าพื้นที่ว่าง บนแชร์ผู้ใช้ของ Unraid พื้นที่ว่างเป็นของทั้งอาร์เรย์ และการสำรองข้อมูลก่อน restic 0.17 ไม่มีประวัติขนาด รายการ ZFS ก็ถูกตรวจเช่นกัน โดยตรวจทีละชุดข้อมูล ชุดข้อมูลแต่ละชุดในทรีมีประวัติของตัวเอง ชุดข้อมูลที่ถูกล้างจนว่างหรืออ่านไม่ได้อีกต่อไปนับเป็นข้อมูลสูญหาย และจะเก็บเฉพาะข้อมูลสำรองเก่าของชุดข้อมูลนั้นไว้ วิธีที่รายการ ZFS ถูกเฝ้าดูทีละชุดข้อมูลอธิบายไว้ใน ชุดข้อมูล ZFS และผู้ช่วยสามารถอ่านความผิดปกติที่ยังเปิดอยู่ผ่าน เซิร์ฟเวอร์ MCP สิ่งที่พบเกี่ยวกับขนาดหรือจำนวนไฟล์ของแหล่งข้อมูลจะลงเวลาตามข้อมูลสำรองแรกที่พบ และ เปรียบเทียบกับข้อมูลสำรองก่อนหน้า จะแสดงโฟลเดอร์ที่มีไฟล์หายไป เพิ่มเข้ามา หรือเปลี่ยนแปลง พร้อมหมายเหตุเมื่อเกือบทั้งหมดอยู่ในดัชนีค้นหา แคช หรือภาพขนาดย่อที่แอปสร้างใหม่เองได้
  • รายการยกเว้นที่แนะนำตามแอป สำหรับอิมเมจที่รู้จักกันดี (Plex, Jellyfin, Emby, Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Immich, Nextcloud, PhotoPrism และ Tautulli จาก linuxserver, hotio, binhex หรือผู้เผยแพร่ทางการ) ผู้ช่วยการยกเว้น จะเสนอโฟลเดอร์ที่แอปเติมใหม่เอง ได้แก่ แคช บันทึก ภาพตัวอย่าง และโปสเตอร์ แต่ละรายการบอกว่ามีอะไรอยู่ ปิดรายการใดก็ได้ และจะไม่มีการยกเว้นอะไรจนกว่าคุณจะกด ยกเว้นรายการที่เลือก
  • ชุดข้อมูลสำหรับฝ่ายสนับสนุน ZIP ที่ปิดข้อมูลลับแล้วซึ่งสร้างได้ในคลิกเดียวสำหรับรายงานบั๊ก: การตรวจสอบการผสานรวมโฮสต์, การตั้งค่าของคุณที่ตัดความลับทุกอย่างออกแล้ว, การรันล่าสุด, สิ่งที่ตั้งเวลาไว้ถัดไป และบันทึกล่าสุด นอกจากนี้ยังมีผลของการดัมป์ครั้งล่าสุดของแต่ละฐานข้อมูล, รายการ ZFS พร้อมจุดเมานต์ที่ container มองเห็น, ความผิดปกติที่ยังเปิดอยู่ และจำนวนคีย์ MCP ที่มี (ไม่เคยรวมชื่อของมัน) รหัสผ่าน โทเคน การตั้งค่า rclone ข้อมูลรับรองการแจ้งเตือน และรหัสผ่านใด ๆ ที่ฝังอยู่ในตำแหน่งรีพอสิทอรีจะถูกตัดออกทั้งหมด และชุดข้อมูลบอกไว้เช่นนั้นในรายการไฟล์ (manifest) ของตัวเอง เพราะไฟล์สำหรับฝ่ายสนับสนุนต้องไม่ถูกเข้าใจผิดว่าเป็นข้อมูลสำรองการตั้งค่า มันต้องใช้รหัสผ่านเข้าสู่ระบบด้วยเหตุผลเดียวกับชุดกู้คืน บันทึกที่มันพามาคือเอาต์พุตของ container นี้นับตั้งแต่เริ่มทำงานครั้งล่าสุด สำหรับการแครชที่ทำให้ container รีสตาร์ท ที่ที่ต้องดูยังคงเป็น docker logs
  • ชุดกู้คืนคีย์เข้ารหัส ดาวน์โหลดแบบคลิกเดียวสำหรับ master key, รหัสผ่าน restic ที่ได้มา และตำแหน่งรีพอสิทอรีกับคำสั่งที่แน่นอน ดังนั้นคุณสามารถกู้คืนได้โดยไม่ต้องมี BombVault ที่กำลังทำงาน ดู Off-site & recovery
  • ส่งออกและนำเข้าการตั้งค่าของคุณ การ์ด ส่งออก / นำเข้าการตั้งค่า บนหน้า การตั้งค่า, ระบบ จะเขียนการตั้งค่าทั้งหมดของคุณ (การตั้งค่าโดเมน, ปลายทางนอกสถานที่, ตารางเวลา, การเก็บรักษา, การแจ้งเตือน) ลงในไฟล์ JSON ที่พกพาได้ ดังนั้นการย้ายไปยังเครื่องใหม่หรือการโคลนการตั้งค่าจึงไม่ได้หมายถึงการป้อนทุกอย่างใหม่ด้วยมือ คุณเลือกได้ว่าจะรวมข้อมูลรับรองนอกสถานที่และการแจ้งเตือนหรือไม่ หากรวมไว้ ไฟล์นี้จะมีความอ่อนไหวเทียบเท่าชุดกู้คืนของคุณ การนำเข้าจะแสดงตัวอย่างและขอการยืนยัน และไม่เคยแตะต้องข้อมูลหรือประวัติการสำรองข้อมูลของคุณ
  • การแจ้งเตือน Webhook (Discord / Slack / Gotify / ntfy), Matrix, Healthchecks.io, อีเมล (SMTP), เซิร์ฟเวอร์ Apprise API แบบ self-hosted และระบบแจ้งเตือนดั้งเดิมของ Unraid นโยบายต่อการสำรองข้อมูล: never / on failure / always การรันตามตารางเวลาของหลายรายการสามารถส่งสรุป N of M succeeded ครั้งเดียวได้ Healthchecks ได้รับวงจรชีวิตแบบเต็ม (/start จากนั้นสำเร็จหรือ /fail) เมื่อใดก็ตามที่ตั้ง URL ไว้
  • สรุปประจำสัปดาห์ ข้อความหนึ่งฉบับต่อสัปดาห์ผ่านช่องทางเดียวกัน: จำนวนการทำงาน ข้อมูลสำรองใหม่ที่เข้ามามากเท่าใด นอกสถานที่เป็นปัจจุบันหรือไม่ และความล้มเหลวที่สำคัญที่สุด ปิดโดยค่าเริ่มต้น และมีรอบเวลาของตัวเองใน การตั้งค่า, การแจ้งเตือน สัปดาห์ที่เงียบจึงถูกรายงานเป็นหนึ่งฉบับเช่นกัน
  • Prometheus /metrics เลือกเปิด (ปิดโดยค่าเริ่มต้น, มี bearer token เป็นทางเลือก) สำหรับ Grafana หรือ Uptime Kuma เปิดเผยสถานะการสำรองข้อมูล, ขนาด และการประทับเวลา โดยไม่มีความลับหรือพาธในป้ายกำกับ
  • HTTP API, Home Assistant และ mDNS สคริปต์และแดชบอร์ดใช้ API ใต้ /api/v1 ได้ด้วยโทเคนที่มีชื่อ ซึ่งเป็นแบบอ่านอย่างเดียวหรืออนุญาตให้เริ่มการสำรองข้อมูลก็ได้ Home Assistant ค้นพบ BombVault ผ่าน MQTT discovery เป็นอุปกรณ์ที่มีเซนเซอร์ และหากคุณอนุญาต จะมีปุ่มสำรองข้อมูลสำหรับแต่ละโดเมน นอกจากนี้ BombVault ยังประกาศตัวเองในเครือข่ายเป็น bombvault.local ดู API และการเชื่อมต่อ
  • พื้นที่ว่างและจำนวนสัปดาห์จนกว่าจะเต็ม รีพอสิทอรีในเครื่อง รีพอสิทอรี SFTP และปลายทาง SMB หรือ WebDAV ที่รายงานได้ จะแสดงพื้นที่ว่างและจำนวนสัปดาห์ที่เหลือตามอัตราการเติบโตปัจจุบัน รีพอสิทอรี S3, B2 และ REST จะแสดง "ไม่ทราบพื้นที่ว่าง" เพราะแบ็กเอนด์เหล่านั้นไม่รายงานค่านี้
  • ขนาดตามโฟลเดอร์ ในส่วนการสำรองข้อมูลของคอนเทนเนอร์ VM หรือชุดโฟลเดอร์ ขนาดตามโฟลเดอร์ จะแสดงว่าโฟลเดอร์และไฟล์ใดใช้พื้นที่ในข้อมูลสำรองล่าสุด และการสำรองข้อมูลครั้งล่าสุดนำส่วนใดเข้ามาใหม่หรือเปลี่ยนแปลง ทีละชั้น BombVault อ่านข้อมูลนี้จากดัชนีของคลังโดยไม่อ่านไฟล์ และเมื่อคุณเปิดดูครั้งหนึ่งแล้ว จะอัปเดตหลังการสำรองข้อมูลทุกครั้ง
  • ทำไมการสำรองข้อมูลจึงช้า ระหว่างสำรองข้อมูล BombVault จะดูว่า CPU ดิสก์ และเครือข่ายทำงานหนักเพียงใด เมื่อการสำรองข้อมูลใช้เวลานานกว่าปกติมากและมีสิ่งหนึ่งที่ถึงขีดจำกัดอย่างชัดเจน รายการรันจะบอกไว้ เช่น "ดิสก์ปลายทาง disk1 ทำงานอยู่ 98%" หรือ "BombVault ใช้ 100% ของขีดจำกัด CPU ของคอนเทนเนอร์" มิฉะนั้นจะไม่แสดงอะไร
  • เปลี่ยนไปตั้งแต่การสำรองข้อมูลครั้งล่าสุด คอนเทนเนอร์ที่ถูกสร้างใหม่ด้วยอิมเมจ พอร์ต ตัวแปร หรือวอลุ่มอื่นหลังการสำรองข้อมูลครั้งล่าสุดจะมีเครื่องหมายข้างชื่อ ปุ่ม (i) ของมันจะบอกว่าอะไรเปลี่ยนไป โดยแสดงตัวแปรเพียงชื่อ เป็นเพียงข้อความแจ้งและจะหายไปหลังการสำรองข้อมูลครั้งถัดไป

การป้องกันแรนซัมแวร์

  • นอกสถานที่แบบไม่เปลี่ยนแปลงได้ (append-only) ตั้งแฟล็กรีพอสิทอรีนอกสถานที่เป็น append-only เพื่อให้แรนซัมแวร์หรือโฮสต์ที่ถูกบุกรุกไม่สามารถลบหรือเขียนทับการสำรองข้อมูลของคุณได้ ฝั่งไกล (restic/rest-server ในโหมด --append-only) เป็นผู้บังคับใช้ BombVault เพียง ตรวจสอบ มันเท่านั้นและไม่เคยแสดงสีเขียวจากการอ้างการตั้งค่าเพียงอย่างเดียว
  • การทดสอบการแทรกแซง (tamper test) BombVault พิสูจน์การรับประกัน append-only เป็นระยะโดยการพยายามลบจริงกับรีพอสิทอรีนอกสถานที่ (โดยเล็งไปที่อ็อบเจกต์ที่ไม่มีอยู่จริง): ถูกปฏิเสธหมายถึงได้รับการปกป้อง, ยอมรับหมายถึงไม่ได้รับการปกป้อง ผลลัพธ์ที่ไม่สรุปแน่ชัดจะไม่เคยพลิกคำตัดสินที่จัดเก็บไว้
  • การตั้งค่านอกสถานที่แบบมีคำแนะนำ ตัวช่วยจะพาคุณจากการเลือกแบ็กเอนด์ ผ่านสนิปเปตการดีพลอย rest-server ที่พร้อมวาง, การทดสอบการเชื่อมต่อ, สวิตช์ไม่เปลี่ยนแปลงได้ และกลยุทธ์การเก็บรักษา
  • การซ้อม DR (นอกสถานที่) กู้คืนเป้าหมายจริงจากรีพอสิทอรีนอกสถานที่ลงในแซนด์บ็อกซ์ที่ใช้แล้วทิ้ง, ตรวจสอบทีละไฟล์และทีละไบต์ แล้วทำความสะอาด ดู Off-site & recovery
  • สกอร์การ์ดการป้องกันแรนซัมแวร์ การ์ดบนแดชบอร์ดที่มีท่าที เขียว / เหลือง / แดง ต่อโดเมน และรายการตรวจสอบที่ประทับอายุ ทุกแถวสีแดงจะลิงก์ลึกไปยังวิธีแก้ไข มันจะเป็นสีเขียวเฉพาะเมื่อมีข้อเท็จจริงที่ตรวจสอบแล้ว
  • สัญญาณเตือนงบประมาณการเติบโต สำหรับนอกสถานที่แบบไม่เปลี่ยนแปลงได้ (ที่สแนปช็อตเก่าจะไม่ถูกตัดทิ้งโดยเจตนา) ให้ตั้งงบประมาณขนาดและรับการแจ้งเตือนก่อนที่มันจะโตเกินควบคุม
  • การจับคู่ด้วยวลี อินสแตนซ์เข้าร่วมกลุ่มเดียวกันด้วยคำสิบสองคำ สร้างวลีบนเครื่องหนึ่ง แล้วพิมพ์มันบนอีกเครื่อง สมาชิกในเครือข่ายเดียวกันคุยกันโดยตรง ส่วนที่เหลือคุยผ่านรีเลย์ (รีเลย์ของโปรเจกต์, ของคุณเอง หรือไม่มีเลย) และทุกการเรียกระหว่างพวกมันถูกเข้ารหัสแบบ end-to-end กลุ่มนี้พาสกอร์การ์ดในหน้าอินสแตนซ์, ข้อเสนอพื้นที่จัดเก็บนอกสถานที่จาก Mesh และสิ่งที่ตัวรับหรือแหล่งฝั่งดึงต้องใช้ แต่ไม่เคยพาข้อมูลสำรองและไม่เคยพา APP_KEY ดู Off-site & recovery
  • หน้าอินสแตนซ์ เปิด อินสแตนซ์ ในการตั้งค่าเพื่อให้มีหน้าที่มีการ์ดของทุกอินสแตนซ์ในกลุ่ม รวมถึงเครื่องนี้ด้วย: ที่อยู่ สถานะการเชื่อมต่อ และสถานะการปกป้องของแต่ละโดเมนพร้อมการสำรองข้อมูลครั้งล่าสุด ด้วยสีแดง เหลือง และเขียวแบบเดียวกับแดชบอร์ดในเครื่อง ตรวจสอบตอนนี้ จะขอให้สมาชิกตรวจสอบรีพอสิทอรีของโดเมนหนึ่ง ไม่มีสิ่งใดบนหน้านี้ที่เริ่มการสำรองข้อมูล กู้คืน หรือลบสิ่งใดบนเครื่องอื่นได้
  • Mesh off-site สมาชิกสามารถเสนอพื้นที่จัดเก็บนอกสถานที่ของตัวเองให้สมาชิกอีกคนผ่านกลุ่มได้ ผู้ดูแลอีกฝั่งจะเห็นข้อเสนอบนหน้าอินสแตนซ์และยอมรับหรือปฏิเสธ การยอมรับจะสร้างชุดข้อมูลรับรองและปลายทางนอกสถานที่ตามปกติ สิ่งที่ส่งผ่านทางนี้มีเพียงรายละเอียดการเชื่อมต่อ ไม่เคยมีข้อมูลสำรอง
  • แดชบอร์ดผู้รับ (ฝั่งรับ) บนเครื่องที่รับสำเนานอกสถานที่แบบไม่เปลี่ยนแปลงได้จาก BombVault อีกตัว ให้เปิดสวิตช์ ตัวรับ (การตั้งค่า) เพื่อเผยแท็บ ตัวรับ ลงทะเบียนรีพอสิทอรีที่ได้รับแบบอ่านอย่างเดียว (เปิดด้วยรหัสผ่าน restic ของอินสแตนซ์ผู้ส่ง ซึ่งมาถึงผ่านกลุ่มการจับคู่) เพื่อดูรายการสแนปช็อตที่จัดกลุ่มตามแหล่งที่มา, เวลาที่แต่ละแหล่งมาถึงล่าสุด และรัน restic check แบบอิสระบนฮาร์ดแวร์ผู้รับ มันจะแจ้งเตือนคุณเมื่อแหล่งหนึ่งหยุดส่งภายในกรอบเวลาที่คุณตั้ง (dead-man's switch) หรือเมื่อการตรวจสอบความสมบูรณ์ล้มเหลว เป็นแบบอ่านอย่างเดียวอย่างเคร่งครัด ดังนั้นจึงไม่เคยเขียนลงรีพอสิทอรีที่ได้รับ และปิดโดยค่าเริ่มต้น ดู Off-site & recovery
  • ดึงจากอินสแตนซ์อื่น (ฝั่งดึง) ภาพสะท้อนของการจำลองนอกสถานที่: แทนที่เครื่องนี้จะผลักสแนปช็อตของตัวเองออกไป มันจะดึงของคนอื่นเข้ามา เปิดสวิตช์ ดึง (การตั้งค่า) เพื่อเผยแท็บ ดึง ของหน้า อินสแตนซ์ เลือกอินสแตนซ์อีกตัวจากกลุ่มการจับคู่ของคุณและตำแหน่งรีพอสิทอรีของมัน จากนั้นเลือกว่ามันเก็บการสำรองข้อมูลประเภทใดและจะดึงบ่อยแค่ไหน รหัสผ่าน restic ของมันมาทางกลุ่ม ไม่เคยเป็น APP_KEY ของมัน ฝั่งตรงข้ามไม่ต้องตั้งค่าอะไรเพิ่มและไม่จำเป็นต้องทำงานอยู่ รีพอสิทอรีต้นทางถูกอ่านเท่านั้น: มันถูกเปิดเพื่อตรวจรหัสผ่าน ถูกแสดงรายการ และถูกระบุเป็นต้นทางของสำเนา และไม่เคยถูกเริ่มต้น ปลดล็อก ตัดทิ้ง หรือเขียนลง แต่ละฝั่งเก็บข้อมูลรับรองของตัวเอง และแหล่ง rclone: จะถูกปฏิเสธ เพราะ rclone จะเข้าถึงมันด้วยรีโมตของอินสแตนซ์นี้ ดู Off-site & recovery

การส่งออกแบบธรรมดา

  • การส่งออก container แบบธรรมดา ปุ่ม ส่งออก (tar ธรรมดา) ต่อ container จะเขียนสำเนาที่เรียกดูได้และไม่ต้องใช้เครื่องมือไว้ถัดจากรีพอสิทอรี: <name>.tar.gz ของโฟลเดอร์การสำรองข้อมูล พร้อมเทมเพลต Unraid <name>.xml restic ยังคงเป็นเอนจิน นี่เป็นสำเนาเสริมเพื่อความสะดวก
  • การส่งออก VM แบบธรรมดา VMs มี ส่งออก (tar ธรรมดา) เหมือนกัน: <name>.tar.gz ของอิมเมจดิสก์ พร้อม <name>.xml กู้คืนได้ด้วย virsh define พร้อมดิสก์ ไม่ต้องใช้ BombVault หรือ restic
  • เข้ารหัสการส่งออกแบบธรรมดา (age) การส่งออกอยู่นอก restic ดังนั้นจึงเป็นข้อความธรรมดาโดยค่าเริ่มต้น เปิดการเข้ารหัส age ภายใต้ การตั้งค่า และเพิ่มผู้รับหนึ่งรายหรือมากกว่า (คีย์สาธารณะ age หรือคีย์สาธารณะ SSH) จากนั้นการส่งออกแต่ละรายการ (container และ VM .tar.gz, ไฟล์ .xml ประกอบ และ ZIP แฟลช) จะถูกผนึกสำหรับผู้รับเหล่านั้น และคุณจะถอดรหัสมันภายหลังนอกเครื่องด้วยคีย์ส่วนตัวที่ตรงกัน เพื่อความปลอดภัย เมื่อเปิดการเข้ารหัสและไม่มีผู้รับที่ถูกต้อง การส่งออกจะล้มเหลวพร้อมข้อผิดพลาดที่ชัดเจนแทนที่จะเขียนข้อความธรรมดา
  • ชุดกู้คืนก็ถูกผนึกด้วย เมื่อเปิดการตั้งค่าเดียวกันนี้ ชุดกู้คืนจะดาวน์โหลดเป็น bombvault-recovery-kit.md.age มันอยู่ในรูปแบบ ASCII-armored แทนที่จะเป็นไบนารี จึงยังคงเป็นข้อความธรรมดาที่อ่านได้: คุณยังวางมันลงในตัวจัดการรหัสผ่านหรือพิมพ์ออกมาได้ ซึ่งเป็นสิ่งที่ชุดกู้คืนมีไว้ กฎความปลอดภัยเดียวกันมีผล ดังนั้นเมื่อเปิดการเข้ารหัสแต่ไม่มีผู้รับที่ใช้ได้ การดาวน์โหลดจะถูกปฏิเสธแทนที่จะถอยกลับไปส่ง master key แบบข้อความธรรมดา มีเรื่องหนึ่งที่ต้องทำให้ถูกเมื่อเปิดสิ่งนี้: คุณต้องใช้คีย์ส่วนตัว age ของคุณเพื่อเปิดชุดกู้คืน ดังนั้นเก็บคีย์นั้นไว้ในที่ที่ไม่ขึ้นกับตัวชุดกู้คืนเอง

ผู้ช่วย AI (MCP)

BombVault มีเซิร์ฟเวอร์ MCP ในตัว ผู้ช่วยอย่าง Claude Code หรือ Claude Desktop จึงอ่านสถานะการสำรองข้อมูล ความครอบคลุม ประวัติการทำงาน จุดกู้คืน และกิจกรรมที่กำลังทำได้ เมื่อใช้คีย์ที่อนุญาต ผู้ช่วยยังเริ่มการสำรองของรายการหนึ่ง โดเมนหนึ่ง หรือทั้งหมด และยกเลิกการสำรองที่ตัวเองเริ่มได้ด้วย การกู้คืน การลบ prune และการตั้งค่ายังคงอยู่ในเว็บอินเทอร์เฟซ ไคลเอนต์แต่ละตัวได้คีย์ของตัวเองที่ การตั้งค่า, การเชื่อมต่อ, เซิร์ฟเวอร์ MCP คีย์แสดงเพียงครั้งเดียว เก็บเป็นลายนิ้วมือเท่านั้น และเปลี่ยนชื่อ เปลี่ยนคีย์ หรือเพิกถอนได้ทุกเมื่อ การเริ่มถูกจำกัดต่อชั่วโมงและต่อรายการ และตัวป้องกันการเก็บรักษาจะไม่ให้การสำรองของผู้ช่วยดันจุดกู้คืนของคุณเองออกจากนโยบาย "เก็บ N รายการล่าสุด" การทำงานทุกครั้งที่ผู้ช่วยเริ่มจะถูกทำเครื่องหมาย "ผ่าน MCP" พร้อมชื่อคีย์ ดู เซิร์ฟเวอร์ MCP ดัมป์ฐานข้อมูลและ ชุดข้อมูล ZFS เป็นส่วนหนึ่งของรายการและจุดกู้คืนที่ผู้ช่วยอ่านได้ และยังแสดงรายการความผิดปกติที่ BombVault สังเกตเห็นได้ด้วย

แอปและเครื่องมือคู่หู

  • แอป Android เซิร์ฟเวอร์ทุกเครื่องในกลุ่มอยู่บนโทรศัพท์ของคุณ พร้อมบันทึกกิจกรรมของทุกเครื่องในหน้าจอเดียว แอปจับคู่กับกลุ่มด้วยรหัส QR และเปิดเซิร์ฟเวอร์แต่ละเครื่องในสถานะเข้าสู่ระบบแล้ว ดู แอป Android
  • เซิร์ฟเวอร์รับข้อมูล เครื่องที่รับสำเนานอกสถานที่เริ่ม rest-server แบบ append-only ได้ในคลิกเดียว และเสนอให้อินสแตนซ์อื่นในกลุ่มของคุณ โดยแต่ละอินสแตนซ์มีล็อกอินของตัวเอง ดู เซิร์ฟเวอร์รับข้อมูล
  • การตั้งค่า, แอป หน้าที่เริ่มด้วยแอป Android พร้อม APK ของรุ่นที่เซิร์ฟเวอร์รันอยู่และคิวอาร์โค้ดสำหรับมัน ตามด้วยการ์ดสำหรับเครื่องมือคู่หูแต่ละตัว การ์ดของ ParleyPort มีเทมเพลต Unraid ของมัน คัดลอกคำสั่ง Docker ที่ใช้เริ่มมันได้ และพาไปยังรีพอสิทอรีของมันและการตั้งค่ารีเลย์ใต้การจับคู่ การ์ดของ BombVault Widget มีเทมเพลตและรีพอสิทอรีของมัน และติดตั้งหรือลบปลั๊กอินผ่านการเชื่อมต่อ SSH ของโฮสต์
  • BombVault Widget ไทล์บนแดชบอร์ดของ Unraid ที่แสดงบันทึกกิจกรรมของ BombVault และการทำงานตามกำหนดการครั้งถัดไป หากไม่มีการเชื่อมต่อ SSH ของโฮสต์ การ์ดจะให้ที่อยู่ .plg สำหรับติดตั้งใน Plugins, Install Plugin และลบปลั๊กอินได้จากที่นั่นเหมือนปลั๊กอินอื่น ๆ
  • บันทึกกิจกรรมแบบฝังได้ สร้างโทเคนแบบอ่านอย่างเดียวใน การตั้งค่า, การเชื่อมต่อ แล้วคุณจะได้ที่อยู่สำหรับแดชบอร์ดใดก็ได้ที่แสดง iframe เช่น Homepage, Organizr หรือ Heimdall: หน้าเล็ก ๆ ที่มีเพียงบันทึกกิจกรรมแบบสด โทเคนให้สิทธิ์เข้าถึงบันทึกนั้นเท่านั้น และ ปิดใช้งาน จะเพิกถอนทันที หน้าที่ฝังมีเฉพาะภาษาอังกฤษ

อื่นๆ

  • หยุดการสำรองข้อมูลที่กำลังทำงาน การ์ดทุกใบที่เริ่มการสำรองข้อมูลได้จะมีปุ่ม ยกเลิกการสำรองข้อมูล ข้างแถบความคืบหน้าขณะที่การทำงานยังดำเนินอยู่ การทำงานนั้นจะถูกบันทึกว่า ยกเลิก ไม่ใช่ล้มเหลว การหยุดปลอดภัย เพราะ restic เขียนสแนปช็อตเป็นอย่างสุดท้าย การทำงานที่ถูกยกเลิกจึงทิ้งไว้แค่ข้อมูลที่ไม่มีการอ้างอิง และไม่มีสแนปช็อต
  • สำรองข้อมูลหลายรายการพร้อมกัน เลือกหลาย containers แล้วกด สำรองข้อมูลที่เลือก ชุดงานทำงานที่ฝั่งเซิร์ฟเวอร์ ดังนั้นมันจึงทำงานต่อไปแม้ว่าคุณจะปิดแท็บหรือขาดการเชื่อมต่อ BombVault ไม่เคยสำรองข้อมูล (และจึงไม่เคยหยุด) container ของตัวเอง
  • เบราว์เซอร์สแนปช็อต พร้อมรายการจุดกู้คืน, การลบต่อสแนปช็อต และทรีโฟลเดอร์ที่ยุบได้สำหรับการกู้คืนระดับไฟล์
  • การบำรุงรักษารีพอสิทอรีต่อโดเมน: ยืนยัน (restic check), ปลดล็อก (ล้างล็อกที่ค้าง) และ ตัดทิ้ง (นำนโยบายการเก็บรักษาไปใช้ตามต้องการเมื่อมีการตั้งไว้ มิฉะนั้นเป็นการเรียกคืนพื้นที่แบบธรรมดา)
  • ความคืบหน้าของการตรวจสอบ การตรวจการกู้คืน และการล้าง ระหว่างที่อย่างใดอย่างหนึ่งทำงาน บันทึกกิจกรรมและการ์ดความสมบูรณ์จะแสดงว่า restic นับไปถึงไหนแล้ว เช่น 12 จาก 47 แพ็ก และเวลาที่เหลือของขั้นตอนนั้นเมื่อมีข้อมูลพอให้ประมาณได้ restic นับแพ็ก สแนปช็อต และไฟล์ดัชนี ไม่ได้นับไบต์ แถบจึงแสดงสิ่งนั้น ก่อนการนับครั้งแรกแถบจะเคลื่อนโดยไม่มีตัวเลข
  • ดัมป์ฐานข้อมูลอัตโนมัติ คอนเทนเนอร์ PostgreSQL, MySQL และ MariaDB ที่ระบบรู้จัก (อิมเมจทางการ, PostGIS, TimescaleDB, pgvector, pgautoupgrade, อิมเมจฐานข้อมูลของ Immich, linuxserver, yobasystems และ jc21 MariaDB รวมถึง mysql-server ของ Oracle) จะถูกดัมป์ก่อนการสำรองข้อมูลทุกครั้ง จากเซิร์ฟเวอร์ที่กำลังทำงานอยู่ คอนเทนเนอร์ที่เพียงดูเหมือนฐานข้อมูลก็ได้ตัวเลือกเดียวกันบนการ์ดของมัน โดยปิดไว้จนกว่าคุณจะเลือกเอง ดัมป์ไหลตรงเข้าสู่ที่เก็บและกลายเป็นจุดกู้คืนของตัวเองข้างการสำรองไฟล์ และไม่เคยถูกเขียนลงดิสก์ ข้อมูลรับรองมาจากตัวแปรของคอนเทนเนอร์เอง รวมถึงความลับแบบ *_FILE และไม่ออกไปจากคอนเทนเนอร์ การ์ดแต่ละใบบอกว่าโฟลเดอร์ข้อมูลของฐานข้อมูลถูกบันทึกขณะคอนเทนเนอร์หยุด ถูกคัดลอกขณะทำงาน หรือไม่ได้ถูกบันทึกเลย ดัมป์ที่ล้มเหลวไม่ทำให้การสำรองข้อมูลล้มเหลว แต่จะปรากฏเป็นการทำงานที่ล้มเหลวพร้อมเหตุผลและคำแนะนำในการแก้ไข และส่งการแจ้งเตือน ดัมป์จะไม่ถูกโหลดกลับเองโดยอัตโนมัติ คุณดาวน์โหลดได้ (แบบดิบหรือบีบอัด) บันทึกลงโฟลเดอร์ นำเข้าสู่ฐานข้อมูลที่เพิ่งเริ่มต้นด้วยคลิกเดียว หรือดึงออกมาด้วย restic CLI ปิดได้ทีละคอนเทนเนอร์ ด้วยป้าย bombvault.dbdump=false หรือปิดทั้งหมดในการตั้งค่า การตรวจจับความผิดปกติยังเฝ้าดูขนาดของดัมป์ทุกชุด และผู้ช่วยสามารถแสดงรายการดัมป์ของคอนเทนเนอร์ผ่าน เซิร์ฟเวอร์ MCP
  • Hooks ก่อน/หลังการสำรองข้อมูลต่อ container คำสั่ง shell ทำงานภายใน container (เช่น เขียนแคชลงดิสก์) pre-hook ที่ล้มเหลวจะยกเลิกการสำรองข้อมูล ฐานข้อมูลที่ระบบรู้จักจะถูกดัมป์อัตโนมัติอยู่แล้ว จึงไม่ต้องใช้ hook
  • หยุด containers อื่นระหว่างการสำรองข้อมูล พร้อมการรีสตาร์ทที่กั้นด้วยสถานะสมบูรณ์ ตั้งชื่อ containers ที่พึ่งพากัน (เช่น ฐานข้อมูล) ให้หยุดขณะที่ตัวนี้ถูกสำรองข้อมูล หลังจากนั้น BombVault จะนำพวกมันกลับมาตามลำดับ depends_on ของ Compose และโดยค่าเริ่มต้นจะรอให้แต่ละตัวรายงานว่าสมบูรณ์ (หรือกำลังทำงาน หากไม่มี healthcheck) ก่อนที่จะเริ่ม containers ที่พึ่งพามัน ดังนั้นการพึ่งพาอย่าง Pi-hole, ฐานข้อมูล หรือเกตเวย์ VPN จึงพร้อมทำงานจริงก่อนบริการที่ต้องการมัน แทนที่บริการเหล่านั้นจะคืนค่าเป็น connection refused การรอถูกจำกัดด้วยการหมดเวลาต่อ container (120 วินาทีโดยค่าเริ่มต้น) ดังนั้น container ที่ช้าหรือไม่เคยสมบูรณ์จึงไม่สามารถทำให้การรันค้างได้ ทั้งการรอและการหมดเวลาอยู่บน การตั้งค่า, Containers (ปิดการรอเพื่อกลับไปใช้การรีสตาร์ทแบบพร้อมกันทั้งหมดแบบเดิม) การรีสตาร์ทที่จัดลำดับและกั้นด้วยสถานะสมบูรณ์แบบเดียวกันนี้ยังห่อหุ้มการอัปเดตอิมเมจหลังการสำรองข้อมูลด้วย ดังนั้นในวันที่มีการอัปเดต ตัวที่พึ่งพาจะถูกกดไว้ตลอดการสร้างใหม่ และถูกนำกลับมาโดยกั้นด้วยสถานะสมบูรณ์เมื่อเสร็จเท่านั้น
  • รูปแบบการยกเว้นต่อ container ระบุไดเรกทอรีย่อยที่จะข้ามภายในโวลุ่มที่สำรองข้อมูล บรรทัดละหนึ่งรายการ พิมพ์พาธตามที่คุณเห็นภายใน container ตัวอย่างแบบสดจะแสดงสิ่งที่แต่ละบรรทัดแปลงเป็น และเตือนเมื่อบรรทัดหนึ่งจะไม่ยกเว้นอะไรเลย
  • อัปเดตหลังการสำรองข้อมูลสำเร็จ (ขั้นสูง, ปิดโดยค่าเริ่มต้น) เปิดตัวเลือกนี้บน container แล้ว BombVault จะดึงอิมเมจใหม่ล่าสุดและสร้างมันขึ้นใหม่ แต่เฉพาะเมื่อมีอิมเมจที่ใหม่กว่าจริงๆ ดังนั้นจุดกู้คืนใหม่จึงมีอยู่ก่อนเสมอ ส่วนเสริมทางเลือก: การแจ้งเตือนต่อ container ที่อัปเดต และการล้างอิมเมจ (อิมเมจฐานที่ใช้ร่วมกับ containers อื่นจะไม่เคยถูกลบ) หลังการอัปเดต BombVault ยังขอให้ Unraid ตรวจสอบสถานะการอัปเดตของ container ตัวนั้นอีกครั้ง ดังนั้นแบนเนอร์ update available ที่ค้างในแท็บ Docker จึงเคลียร์ตัวเองแทนที่จะค้างอยู่ (การอัปเดตของ Unraid ผ่าน Docker API โดยตรง ดังนั้นสถานะที่แคชไว้ของมัน และบนบางเวอร์ชันคือ digest ที่แคชไว้ มิฉะนั้นจะยังคงแสดงแบนเนอร์) เป็นแบบทำเท่าที่ทำได้ ไม่เคยกระทบการสำรองข้อมูล เปิดโดยค่าเริ่มต้น และมีสวิตช์ใน การตั้งค่า
  • กู้คืนไปยังโฟลเดอร์อื่น สำหรับการโคลนหรือการตรวจสอบ
  • การเปรียบเทียบสแนปช็อตและแท็ก เปรียบเทียบสองสแนปช็อตเพื่อดูว่าอะไรเปลี่ยนแปลง และติดแท็กสแนปช็อตเพื่อกรอง
  • มีอะไรใหม่หลังการอัปเดต บันทึกการเผยแพร่จะปรากฏขึ้นครั้งเดียวต่อเวอร์ชันใหม่ นำมาจากบันทึกที่ฝังในไบนารี ดังนั้นไดอะล็อกจึงทำงานแบบออฟไลน์ได้
  • HTTPS พร้อมใช้งานทันที (self-signed หรือใช้ใบรับรองของคุณเองหลัง reverse proxy)
  • Docker healthcheck container รายงานสมบูรณ์/ไม่สมบูรณ์จาก /api/health ของตัวเอง ดังนั้นเครื่องมือ auto-heal จึงสามารถรีสตาร์ทมันได้หากเอนจินติดขัด
  • UI ธีมมืด/สว่างใน 42 ภาษา พร้อมตัวเลือกธง
  • การตั้งค่าบันทึกเอง สลับสวิตช์หรือออกจากช่องกรอก การเปลี่ยนแปลงจะถูกเขียนทันที พร้อมแสงวาบสั้น ๆ บนตัวควบคุม และสั่นหากเซิร์ฟเวอร์ปฏิเสธ มีสามจุดที่ยังคงมีปุ่มบันทึก เพราะการบันทึกเพียงครึ่งเดียวจะไม่ปลอดภัย: กล่องการกำหนดค่า rclone ตัวแก้ไขชุดข้อมูลรับรอง และรหัสผ่านเข้าสู่ระบบ
  • ข้อความป๊อปอัปแบบเงียบ ใน การตั้งค่า, ทั่วไป คุณปิดข้อความยืนยันประจำได้ ให้เหลือเพียงความล้มเหลวที่ยังแจ้งคุณอยู่ ตั้งค่านี้แยกต่อเบราว์เซอร์และไม่กระทบการแจ้งเตือน
  • ปรับหน้าตาได้ตามใจ การตั้งค่า, รูปลักษณ์ ใช้กำหนดสี (สีเน้นหนึ่งสี หรือ โหมดสายรุ้ง ที่มีชุดสีแปดสี) มุม (โค้งมน โค้งเล็กน้อย หรือเหลี่ยม) และแอนิเมชัน (ปิด นุ่มนวล ดุเดือด หรือพายุ) โดยจำไว้แยกต่อเบราว์เซอร์ เมื่อระบบของคุณขอให้ลดการเคลื่อนไหว ระบบจะชนะเสมอ