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

หน้าการกู้คืน¶
- ส่วน แสดงส่วนต่าง ๆ เป็นไทล์ พร้อมจำนวนรายการที่มีสแนปช็อต
- ต้องการนำอะไรกลับมา? ค้นหารายการในส่วนที่เลือก แต่ละแถวแสดงสแนปช็อตใหม่สุดของมัน และ เปิดรายการ พาไปยังหน้าของรายการนั้น
- สแตก แสดงโปรเจกต์ Compose ที่มีคอนเทนเนอร์ที่สำรองข้อมูลไว้อย่างน้อยสองตัว เช่น
immichกับฐานข้อมูลและ Redis ของมัน การค้นหาเจอสแตกได้จากชื่อของมันหรือจากคอนเทนเนอร์ตัวใดตัวหนึ่ง - กำลังทำงานอยู่ แสดงการกู้คืนขณะที่มันรัน แม้คุณจะปิดหน้าต่างของมันไปแล้ว
- ฉุกเฉิน เริ่มตัวช่วยฉุกเฉินสำหรับเซิร์ฟเวอร์ที่หายไปหรือถูกตั้งค่าใหม่ ดู ตัวช่วยฉุกเฉิน
- แหล่งอื่น มี จากโฟลเดอร์สำรองข้อมูลเก่า สำหรับข้อมูลสำรองของ BombVault อีกเครื่อง และ นำเข้าจากปลั๊กอิน Appdata.Backup

หน้าต่างการกู้คืน¶
คลิกที่รายการเพื่อเปิด กู้คืน พร้อมชื่อของมัน หน้าต่างถามเป็นขั้น และแต่ละขั้นเปลี่ยนได้ก่อนเริ่ม
- สำรองข้อมูล: เลือกสแนปช็อตที่แนะนำไว้ให้ล่วงหน้า คืออันใหม่สุด หรือหลังมีความผิดปกติที่เปิดอยู่ คืออันสุดท้ายก่อนหน้านั้น ข้อมูลสำรองที่ทำไว้ก่อนการกู้คืนครั้งก่อนเก็บสถานะที่การกู้คืนนั้นแทนที่ไป จึงถูกข้ามไป เว้นแต่ไม่มีอันอื่น อันที่เก่ากว่าอยู่ในรายการ และ เปรียบเทียบ แสดงความแตกต่างระหว่างสองอัน
- แหล่งที่มา: ไฟล์มาจากไหน เมื่อสแนปช็อตอยู่ในหลายที่ ในเครื่อง เร็วที่สุด
- อะไร: ทั้งหมด หรือ ไฟล์แต่ละไฟล์ ซึ่งคุณติ๊กไฟล์และโฟลเดอร์ที่ต้องการ
-
ไปที่ไหน: ปลายทาง ตัวเลือกขึ้นกับชนิดของรายการ
ปลายทาง ทำอะไร ข้างต้นฉบับ ค่าเริ่มต้น คอนเทนเนอร์กลับมาเป็นคอนเทนเนอร์ตัวที่สองชื่อ <name>-restoredพร้อมพอร์ตของตัวเอง ดิสก์และ NVRAM ของ VM ไปอยู่ในโฟลเดอร์ชื่อ<folder>-restoredและชุดโฟลเดอร์กลับมาเป็น<path>-restoredต้นฉบับไม่เปลี่ยนแปลงแทนที่ต้นฉบับ เขียนทับสิ่งที่อยู่ตอนนี้ เมื่อเปิด สำรองสถานะปัจจุบันก่อน ซึ่งเปิดอยู่โดยค่าเริ่มต้น BombVault จะสำรองสถานะของวันนี้ก่อน คุณจะย้อนกลับได้ ถ้าการสำรองนั้นล้มเหลว การกู้คืนจะไม่เริ่ม วิธีนี้ใช้ได้กับคอนเทนเนอร์หรือ VM ที่ไม่อยู่บนเซิร์ฟเวอร์แล้วด้วย โดยโฟลเดอร์ที่การกู้คืนจะเขียนทับจะถูกสำรองแยกไว้ ไปยังโฟลเดอร์ เฉพาะไฟล์ สำหรับเปิดดู ดาวน์โหลดเป็น ZIP แฟลชไดรฟ์ สำหรับแฟลชตัวใหม่ BombVault ไม่เคยเขียนลงแฟลชไดรฟ์ที่กำลังใช้งาน ไปยังชุดข้อมูลใหม่ และ กู้คืนกลับเข้าชุดข้อมูล ชุดข้อมูล ZFS ดู ชุดข้อมูล ZFS -
สิ่งที่จะเกิดขึ้น บอกเป็นคำพูดว่าการกู้คืนจะทำอะไร และภาพจะแสดงปลายทางที่คุณเลือก
ก่อนที่ กู้คืน จะปลดล็อก หน้าต่างจะตรวจว่าที่เก็บตอบสนอง คีย์เปิดมันได้ สแนปช็อตอยู่ที่นั่น และปลายทางมีที่ว่างพอ ขณะที่การตรวจใดล้มเหลว ปุ่มจะล็อกอยู่ และ (i) ในปุ่มบอกว่าอันไหน
หน้าต่างยังแสดงสิ่งที่การกู้คืนเปลี่ยนเทียบกับสิ่งที่มีอยู่ตอนนี้ ได้แก่ ไฟล์ใหม่ ไฟล์ที่ถูกแทนที่ และไฟล์ที่ไม่เปลี่ยน โดยมีรายการให้เปิดดูได้ และไฟล์ที่ปลายทางซึ่งไม่อยู่ในข้อมูลสำรองและจะอยู่ที่เดิม restic คำนวณเป็นการรันทดลองจากขนาดและเวลาแก้ไข โดยไม่อ่านไฟล์ และต้นไม้ที่ใหญ่มากจะหยุดหลัง 30 วินาทีและแจ้งไว้ สำหรับคอนเทนเนอร์และ VM มันเปรียบเทียบการตั้งค่าที่การกู้คืนสร้างใหม่กับที่กำลังรันอยู่ ได้แก่ image และแท็ก พอร์ต ชื่อตัวแปรและวอลุ่ม หรือหน่วยความจำ vCPU ดิสก์ และเครือข่าย
บางอย่างหยุดการกู้คืนได้ก่อนที่มันจะเปลี่ยนอะไร IP คงที่และพอร์ตที่เผยแพร่ของคอนเทนเนอร์ต้องว่าง และเครือข่ายของมันต้องมีอยู่ บน Unraid การกู้คืนทับที่เดิมทุกครั้งจะปฏิเสธโฟลเดอร์ที่ไม่ได้อยู่บน pool หรือ share ที่เมานต์อยู่ เพราะไฟล์จะไปอยู่ในหน่วยความจำและหายไปหลังรีบูต การกู้คืนทับที่เดิมจะระบุคอนเทนเนอร์อื่นทุกตัวที่ bind mount ของมันเข้าถึงโฟลเดอร์ที่จะเขียน เช่น "พาธนี้ nextcloud-db ใช้ด้วย" แต่เป็นเพียงคำเตือน
บางตัวเลือกปรากฏเมื่อใช้ได้ ให้หยุดไว้หลังจากนั้น เพื่อดูคอนเทนเนอร์หรือ VM ก่อนที่มันจะรันอีก และ กู้คืนโดยไม่มี GPU และรันไทม์ บนโฮสต์ที่ไม่มี GPU หรือรันไทม์ที่ใช้ตอนสำรอง
การกู้คืนรันอยู่เบื้องหลัง คุณปิดหน้าต่างได้ และความคืบหน้าก็แสดงใต้ กำลังทำงานอยู่ ด้วย การกู้คืนที่นานจะแสดงเปอร์เซ็นต์และยกเลิกได้ และการกู้คืนที่ยกเลิกจะบันทึกเป็นยกเลิก ไม่ใช่ล้มเหลว การกู้คืนที่ถูกยกเลิกขณะคอนเทนเนอร์กำลังหยุด หรือการกู้คืนที่ลบคอนเทนเนอร์ไม่ได้ ยังไม่ได้กู้คืนอะไรเลย คอนเทนเนอร์จึงเริ่มทำงานอีกครั้ง คอนเทนเนอร์ที่รับวอลุ่มจากตัวอื่นด้วย --volumes-from จะเก็บวอลุ่มเหล่านั้นไว้ และการกู้คืนจะไม่เริ่มขณะที่คอนเทนเนอร์ตัวนั้นไม่มีอยู่

การกู้คืนไปยังโฟลเดอร์ไปที่ไหน¶
โฟลเดอร์สำหรับการกู้คืน ใต้ การตั้งค่า, การกู้คืน กำหนด โฟลเดอร์กู้คืนเริ่มต้น พร้อม โฟลเดอร์ย่อยต่อส่วน ถ้าต้องการ และ ข้อยกเว้น สำหรับหนึ่งส่วน ไฟล์ที่เลือกไปอยู่ในโฟลเดอร์ปลายทางโดยตรง ไฟล์เดียวกลับมาเป็นแค่ไฟล์นั้น โฟลเดอร์กลับมาเป็นโฟลเดอร์พร้อมเนื้อหา และที่เลือกจากหลายโฟลเดอร์จะเก็บเฉพาะพาธใต้โฟลเดอร์ที่ใช้ร่วมกัน BombVault ปฏิเสธปลายทางที่ไม่ได้อยู่บนที่เก็บข้อมูลที่เมานต์ เพราะบน Unraid โฟลเดอร์แบบนั้นอยู่ในหน่วยความจำและหายไปหลังรีบูต และมันไม่กู้คืนลงในโฟลเดอร์ข้อมูลของตัวเอง
ตัวอย่าง: กู้คืนไฟล์เดียว¶
เมื่อคืนมีคนแก้ config.php ของ Nextcloud และตอนนี้ Nextcloud ไม่เริ่มแล้ว การสำรองรายคืนเวลา 03:00 ยังมีไฟล์ที่ดีอยู่ คุณต้องการไฟล์นั้นไฟล์เดียว ไม่ใช่ทั้งคอนเทนเนอร์
- เปิด การกู้คืน เลือกไทล์ คอนเทนเนอร์ และพิมพ์
nextcloudใน ต้องการนำอะไรกลับมา? - คลิก
nextcloudหน้าต่างเปิดขึ้นพร้อมการสำรอง 03:00 ที่เลือกไว้ให้เป็นอันแนะนำ - คง แหล่งที่มา ไว้ที่ ในเครื่อง
- ใต้ อะไร เลือก ไฟล์แต่ละไฟล์ เปิดโฟลเดอร์ลงไปถึง
configแล้วติ๊กconfig.php - ใต้ ไปที่ไหน เลือก ไปยังโฟลเดอร์ และเลือกโฟลเดอร์ เช่น
user/restoreซึ่งคือ/mnt/user/restoreบนโฮสต์ - อ่าน สิ่งที่จะเกิดขึ้น: ไฟล์ไปอยู่ในโฟลเดอร์ปลายทาง และคอนเทนเนอร์ไม่เปลี่ยนแปลง กด กู้คืน
หน้าต่างจบด้วย เสร็จแล้ว: ไฟล์อยู่ใน /mnt/user/restore คุณจะพบไฟล์เป็น /mnt/user/restore/config.php โดยไม่มีโฟลเดอร์ด้านบน เปรียบเทียบกับไฟล์ที่พัง คัดลอกกลับไปที่โฟลเดอร์ appdata แล้วรีสตาร์ท Nextcloud
ถ้าอยากวางไฟล์กลับที่เดิมเลย ให้เลือก แทนที่ต้นฉบับ ในขั้นที่ 5 เปิด สำรองสถานะปัจจุบันก่อน ไว้ BombVault จะสำรองสถานะที่พังก่อนเขียน พิมพ์ nextcloud เพื่อยืนยันแล้วกด กู้คืน Nextcloud จะหยุดขณะที่ไฟล์ที่เลือกถูกเขียนกลับที่เดิมและเริ่มอีกครั้งหลังจากนั้น และเขียนเฉพาะไฟล์ที่คุณติ๊กไว้ การกู้คืนที่ล้มเหลวกลางทางจะปล่อย Nextcloud ไว้ในสถานะหยุด เพราะไฟล์ที่มันอ่านอาจถูกเขียนไปแค่ครึ่งเดียว และการรันจะบอกไว้

อะไรกลับมาบ้าง แยกตามชนิด¶
คอนเทนเนอร์ ถูกสร้างใหม่จากคำจำกัดความที่บันทึกไว้ผ่าน Docker API พร้อม entrypoint, hostname, การตั้งค่าการหยุด, วอลุ่มและ mount, ขีดจำกัดทรัพยากร, log driver, การตั้งค่า DNS และลิงก์แบบเก่า คอนเทนเนอร์กลับมาด้วย image ที่มันรันตอนสำรอง ไม่ใช่อันที่ใหม่กว่าที่ดึงมาภายหลัง และ image ที่ขาดไปจะถูกดึงก่อน โดยใช้การลงชื่อเข้าใช้จาก Registry ของ container ใต้ การตั้งค่า, การกู้คืน GPU หรือรันไทม์ของมัน (--gpus, --runtime=nvidia) ก็กลับมาด้วย บนโฮสต์ที่ไม่มีไดรเวอร์หรือรันไทม์นั้น การกู้คืนจะบอกและเสนอ กู้คืนโดยไม่มี GPU และรันไทม์ ลิงก์ไปยังคอนเทนเนอร์ที่ขาดไปหรือหยุดอยู่ตอนที่ตัวที่กู้คืนเริ่มจะถูกเว้นไว้ และประวัติการรันจะบอก การกู้คืนที่ล้มเหลวหลังลบคอนเทนเนอร์ไปแล้วจะวางมันกลับ ในสถานะหยุด
ข้อมูลสำรองอาจมีโฟลเดอร์ที่คอนเทนเนอร์ไม่ได้เลือกไว้แล้ว เช่นข้อมูลสำรองเก่าที่ทำไว้ก่อนโฟลเดอร์หายไป โฟลเดอร์ที่หายไปหรือว่างอยู่จะกลับมา โฟลเดอร์ที่ตอนนี้มีไฟล์อยู่จะคงไว้ตามเดิม เพราะคุณอาจเอาติ๊กออกเอง และการตรวจก่อนกู้คืนกับประวัติการรันจะระบุชื่อมัน ถ้าต้องการโฟลเดอร์นั้นคืน ให้ใช้ ไฟล์แต่ละไฟล์ หรือ ไปยังโฟลเดอร์
VM ได้ XML นิยามใหม่ผ่าน SSH และดิสก์กับ UEFI NVRAM ถูกต่อกลับ แม้ VM จะถูกลบไปแล้ว ดู การสำรอง VM สำหรับ VM ที่มีสแนปช็อต Unraid และดิสก์บน zvol
ชุดโฟลเดอร์ กลับมาพร้อมความเป็นเจ้าของ สิทธิ์ และเวลา ตามที่ restic เก็บไว้ ในที่ที่ปลายทางปฏิเสธแค่ความเป็นเจ้าของ อย่างที่ /mnt/user ทำ การรันจะจบพร้อมหมายเหตุที่บอกเรื่องนี้ จากนั้น BombVault จะเทียบไฟล์กับข้อมูลสำรอง และไฟล์ที่มาไม่ถึงจะทำให้การกู้คืนล้มเหลว
แฟลชไดรฟ์ ไม่แตะ /boot ที่ใช้งานอยู่เลย การกู้คืนเป็นการดาวน์โหลดชื่อ flash-<id>.zip พร้อมนำไปใส่ใน Unraid USB Creator ZIP มี APP_KEY อยู่ การดาวน์โหลดจึงต้องมีรหัสผ่านเข้าสู่ระบบและการลงชื่อเข้าใช้ที่อินสแตนซ์ หน้าต่างยังแสดงปลั๊กอินในข้อมูลสำรองแฟลชแต่ละชุดพร้อมเวอร์ชันและขนาด และวางปลั๊กอินเดียวกลับเข้าแฟลชที่ใช้งานอยู่ได้ ได้แก่ ไฟล์ .plg โฟลเดอร์ของมันใต้ config/plugins และไฟล์แพ็กเกจที่ข้อมูลสำรองมี Unraid จะติดตั้งในการบูตครั้งถัดไป หรือทันทีที่ Plugins, Install Plugin
ชุดข้อมูล ZFS มีปลายทางของตัวเองและเก็บคุณสมบัติ ZFS ไว้ ดู การกู้คืน
การสำรองตัวเอง กลับมาผ่านตัวช่วยฉุกเฉินเท่านั้น ซึ่งรีสตาร์ท BombVault ฐานข้อมูลที่ใช้งานอยู่จึงไม่ถูกเขียนทับขณะที่ยังเปิดอยู่
ไฟล์ดัมป์ฐานข้อมูล ไม่ถูกโหลดกลับเองเลย แถวใต้ ไฟล์ดัมป์ฐานข้อมูล ดาวน์โหลด บันทึกลงโฟลเดอร์ หรือนำเข้าไปยังฐานข้อมูลที่เพิ่งเริ่มใหม่ได้ ดู ไฟล์ดัมป์ฐานข้อมูล
กู้คืนหลายรายการพร้อมกัน¶
ในหน้าการกู้คืน เลือกรายการแบบเดียวกับที่เลือกแถวในรายการการสำรองข้อมูล คือ Ctrl+คลิก Shift+คลิก Ctrl+A การกดค้าง หรือ เลือก จากนั้น กู้คืน จะเปิดหน้าต่างเดียวสำหรับทั้งหมด
- ข้อมูลสำรองชุดไหน: แนะนำ ใช้สำหรับแต่ละรายการข้อมูลสำรองที่หน้าต่างของรายการนั้นจะแนะนำ ช่วงเวลาเดียวสำหรับทุกรายการ ใช้สำหรับแต่ละรายการข้อมูลสำรองใหม่สุดตั้งแต่ ช่วงเวลา ที่คุณเลือกลงไป เช่น เย็นก่อนที่จะมีอะไรผิดพลาด
- ไปที่ไหน: ข้างต้นฉบับ หรือ แทนที่ต้นฉบับ พร้อม สำรองสถานะปัจจุบันก่อน
แต่ละรายการถูกตรวจแบบเดียวกับการกู้คืนเดี่ยว แล้วรันทีละรายการ ทุกแถวแสดงว่ารายการของตัวเองเป็นอย่างไร: กำลังรอ, กำลังทำงาน, กู้คืนแล้ว, ล้มเหลว หรือ เว้นไว้ หยุดหลังรายการนี้ ให้การกู้คืนที่รันอยู่เสร็จและไม่เริ่มรายการต่อไป แฟลชไดรฟ์มาเป็น ZIP ให้ดาวน์โหลด ส่วนชุดข้อมูล ZFS และการสำรองตัวเองกู้คืนทีละรายการ

กู้คืนสแตก¶
คลิกสแตกในการ์ด สแตก เพื่อเปิด กู้คืนสแตก มันกู้คืนทุกสมาชิกจากข้อมูลสำรองล่าสุดพร้อมกัน และเมื่อเปิด เริ่มทำงานตามลำดับการพึ่งพาหลังการกู้คืน มันจะเริ่มตามลำดับ depends_on ของพวกมัน ฐานข้อมูลและแคชก่อน แล้วค่อยแอป ถ้าโฟลเดอร์โปรเจกต์ของสมาชิกไม่อยู่ที่ตำแหน่งที่คุณเลือก หน้าต่างจะเสนอสถานะจากในเครื่องแทน
BombVault ตรวจสมาชิกและโฟลเดอร์โปรเจกต์ก่อน และการกู้คืนที่ทำไม่ได้จะไม่เปลี่ยนอะไรเลย ถ้าทำได้ มันจะหยุดสมาชิกที่รันอยู่ โดยหยุดแอปก่อนฐานข้อมูลของมัน แล้วเขียนโฟลเดอร์โปรเจกต์ แล้วจึงกู้คืนสมาชิก ถ้าโฟลเดอร์โปรเจกต์ไม่กลับมา สมาชิกยังถูกกู้คืนแต่จะคงหยุดอยู่ เพราะโฟลเดอร์อาจถูกเขียนไปแค่ครึ่งเดียว และมักเป็นที่ที่ bind mount ของสมาชิกอยู่ การรันของสมาชิกแต่ละตัวจะบอกไว้
ฐานข้อมูลที่มีแค่ไฟล์ดัมป์ฐานข้อมูลและไม่มีการสำรองไฟล์ และคอนเทนเนอร์กับวอลุ่มแบบมีชื่อของมันหายไปแล้ว จะกลับมาโดยไม่มีข้อมูล การตรวจจะบอกเรื่องนี้ก่อนการกู้คืน ฐานข้อมูลนั้นจะคงหยุดอยู่ คอนเทนเนอร์ที่พึ่งพามันก็เช่นกัน แอปจึงไม่รันการตั้งค่าเริ่มต้นบนฐานข้อมูลว่าง ให้เริ่มมัน นำเข้าดัมป์ แล้วเริ่มตัวอื่น ดู ไฟล์ดัมป์ฐานข้อมูล
แหล่งอื่น¶
- จากโฟลเดอร์สำรองข้อมูลเก่า เปิดที่เก็บของ BombVault อีกเครื่องที่ไม่ได้รันแล้ว บนดิสก์หรือที่ปลายทางนอกสถานที่ ด้วยชุดกู้คืนของมันหรือ
APP_KEYที่พิมพ์ใส่ เซสชันเป็นแบบอ่านอย่างเดียวและอยู่ในหน่วยความจำเท่านั้น ดู จากโฟลเดอร์สำรองข้อมูลเก่า - นำเข้าจากปลั๊กอิน Appdata.Backup อ่านโฟลเดอร์สำรองข้อมูลของปลั๊กอิน อาร์ไคฟ์ของแต่ละคอนเทนเนอร์กลายเป็นจุดกู้คืนของคอนเทนเนอร์นั้น ลงวันที่ที่ปลั๊กอินสร้าง อาร์ไคฟ์ที่นำเข้าไปแล้วจะถูกข้าม และตัวอาร์ไคฟ์ถูกอ่านเท่านั้น คอนเทนเนอร์ต้องมีการสำรองใน BombVault ก่อนหนึ่งครั้ง เพื่อให้การกู้คืนมีคำจำกัดความ การเก็บรักษาไม่แตะจุดกู้คืนที่นำเข้า ดังนั้นเมื่อไม่ต้องการแล้วให้ลบเอง
หลังการกู้คืน¶
สำเนาที่กู้คืนข้างต้นฉบับจะอยู่ใต้ การสำรองข้อมูล ในสถานะยกเว้น จึงไม่นับเป็นงานที่ค้างอยู่ เพิ่มเข้าตารางเวลาถ้าอยากเก็บไว้ คอนเทนเนอร์หรือ VM ที่กำลังรันตอนสำรองจะกลับมาเป็นรันอยู่ ส่วนที่หยุดอยู่ก็ยังหยุด บน Unraid คอนเทนเนอร์ที่กู้คืนจะปรากฏในแท็บ Docker เป็นแอปปกติที่แก้ไขได้ และ VM ใน VM Manager พร้อมดิสก์และ NVRAM ที่ต่อไว้