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

การแก้ปัญหา

FAQ สั้นๆ สำหรับตารางการแก้ปัญหาฝั่งโฮสต์ของ VM ผ่าน SSH ฉบับเต็ม (permission-denied, host-key verification, ตัวแปรเทมเพลตที่ขาดหายไป และอื่นๆ) ดู คู่มือการสำรองข้อมูล VM ผ่าน SSH บน GitHub

มีบางอย่างเชื่อมต่อไม่ถูกต้อง

เปิด /spike ในเว็บ UI การตรวจสอบการผสานรวมโฮสต์จะตรวจสอบทุกการเมานต์และ CLI (Docker socket, libvirt, restic, qemu-img, rclone) และรายงานส่วนที่ขาดหายไป เริ่มที่นี่ก่อนที่จะสันนิษฐานว่าเป็นข้อบกพร่อง: การเมานต์ที่ขาดหายไปหรือโฮสต์ที่เข้าถึงไม่ได้จะปรากฏขึ้นทันที

ฉันเข้าถึงเว็บ UI ไม่ได้

BombVault ให้บริการ HTTPS พร้อมใช้งานทันทีบนพอร์ต 3443 (ใบรับรองแบบ self-signed) ดังนั้นเปิด https://<your-unraid-ip>:3443 ยอมรับคำเตือนใบรับรองแบบ self-signed หรือวาง BombVault ไว้หลัง reverse proxy ด้วยใบรับรองของคุณเอง หากคุณรันด้วย HTTP_ONLY=true มันจะให้บริการ HTTP ธรรมดาบนพอร์ต 3000 แทน (มีไว้สำหรับใช้หลัง proxy ที่ terminate TLS)

ฉันทำ APP_KEY หาย

APP_KEY นำมาสร้างรหัสผ่านของรีพอสิทอรี restic หากไม่มีมัน (และไม่มีชุดกู้คืนคีย์เข้ารหัส) การสำรองข้อมูลที่เข้ารหัสไว้จะไม่สามารถกู้คืนได้ นี่คือเหตุผลที่แดชบอร์ดจ้ำจี้ให้คุณดาวน์โหลดชุดกู้คืน ดู Off-site & recovery สร้างคีย์ด้วย openssl rand -hex 32 แล้วเก็บไว้นอกเซิร์ฟเวอร์ก่อนที่คุณจะพึ่งพาการสำรองข้อมูลใดๆ

การสำรองข้อมูล VM เชื่อมต่อไม่ได้

การสำรองข้อมูล VM ติดต่อ libvirt ผ่าน SSH ไม่เคยผ่านการเมานต์

  • ยืนยันว่า SSH ถูกเปิดใช้งานบนโฮสต์และคีย์สาธารณะของ BombVault ได้รับอนุญาตใน /root/.ssh/authorized_keys (การตั้งค่า, การเชื่อมต่อ, SSH ของโฮสต์ แสดงคีย์และปุ่ม ทดสอบการเชื่อมต่อ)
  • บนเครือข่าย br0.x ที่กำหนดเอง ให้ตั้ง LIBVIRT_HOST เป็น LAN IP ของ Unraid ของคุณ (container ไม่สามารถเข้าถึงโฮสต์ผ่าน host.docker.internal ที่นั่นได้) เปิดใช้งาน Settings, Docker, Host access to custom networks
  • หากคุณเปลี่ยนพอร์ต SSH ของ Unraid ให้ตั้ง LIBVIRT_SSH_PORT ให้ตรง
  • การวินิจฉัยทีละขั้นตอนฉบับเต็ม (การทดสอบการเข้าถึง, การกำหนดเส้นทาง VLAN, Permission denied (publickey), Host key verification failed) อยู่ใน คู่มือการสำรองข้อมูล VM ผ่าน SSH

สแนปช็อต VM ขณะทำงานไม่ได้รัน

สแนปช็อตขณะทำงานต้องการ qemu guest agent ที่ติดตั้งใน VM และดิสก์อยู่บน /mnt/cache (หรือ /mnt/diskX) ไม่ใช่ /mnt/user บน VM ที่ปิดอยู่ ขณะทำงานจะย้อนกลับไปใช้แบบราบรื่นโดยอัตโนมัติ การสำรองข้อมูลแบบราบรื่นจะปิด VM, สำรองข้อมูลดิสก์ แล้วรีสตาร์ทมัน ดังนั้นจึงสอดคล้องเสมอ

การสำรองข้อมูลล้มเหลวด้วย "repository is already locked"

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

สำเนานอกสถานที่ของฉันไม่เกิดขึ้นหลังการสำรองข้อมูล

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

การกู้คืนถูกยกเลิกก่อนที่จะเริ่ม

ก่อนที่จะมีการหยุดหรือลบอะไร การกู้คืนจะรันการตรวจสอบความขัดแย้งก่อนเริ่ม: มันตรวจสอบว่า IP แบบสแตติกและพอร์ตโฮสต์ที่เผยแพร่ของ container ว่างอยู่ หาก container อื่นถือครองอันหนึ่งอยู่แล้ว มันจะยกเลิกพร้อมข้อความที่ชัดเจนและนำไปปฏิบัติได้แทนที่จะทิ้งการกู้คืนที่ทำค้างไว้ครึ่งทาง ปลดพอร์ตหรือ IP ที่ขัดแย้ง แล้วลองใหม่

การส่งออกแบบธรรมดาล้มเหลวแทนที่จะเขียนไฟล์

หากเปิดการเข้ารหัส age (การตั้งค่า) แต่ไม่ได้ตั้งผู้รับที่ถูกต้อง การส่งออกจะล้มเหลวพร้อมข้อผิดพลาดที่ชัดเจนแทนที่จะเขียนข้อความธรรมดา เพิ่มผู้รับที่ถูกต้อง (คีย์สาธารณะ age หรือคีย์สาธารณะ SSH) หรือปิดการเข้ารหัสหากคุณตั้งใจให้การส่งออกเป็นข้อความธรรมดา ดู Features

การดัมป์ฐานข้อมูลล้มเหลว

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

  • ถูกปฏิเสธการเข้าสู่ระบบ ดัมป์เข้าสู่ระบบด้วยตัวแปรรหัสผ่านของคอนเทนเนอร์เอง (POSTGRES_PASSWORD, MARIADB_ROOT_PASSWORD, MYSQL_ROOT_PASSWORD หรือรุ่น _FILE ของตัวแปรเหล่านี้) ตรวจสอบที่คอนเทนเนอร์ฐานข้อมูล ตัวแปร _FILE ที่ชี้ไปยังความลับซึ่งผู้ใช้ของคอนเทนเนอร์เองอ่านไม่ได้ ก็ล้มเหลวแบบเดียวกัน
  • สิทธิ์ไม่พอ เมื่อรหัสผ่าน root เป็นแบบสุ่ม ดัมป์จะเข้าสู่ระบบได้เพียงในฐานะผู้ใช้ของแอป จึงได้เฉพาะฐานข้อมูลนั้นฐานเดียว และ MySQL 8.4 ขึ้นไปอาจปฏิเสธไปเลย ให้ตั้งรหัสผ่าน root จริงให้คอนเทนเนอร์ หรือปิดการดัมป์ของมัน
  • ตารางระบบต้องอัปเกรด MariaDB จะปฏิเสธการดัมป์เมื่อตารางระบบของมันมาจากเวอร์ชันที่เก่ากว่า (ข้อผิดพลาด 1558) ให้เพิ่มตัวแปร MARIADB_AUTO_UPGRADE=1 แล้วรีสตาร์ทคอนเทนเนอร์ หรือรัน mariadb-upgrade ภายในคอนเทนเนอร์หนึ่งครั้ง
  • ไม่มีเครื่องมือดัมป์ อิมเมจแบบบางหรือที่สร้างเองซึ่งไม่มี pg_dump, mysqldump หรือ mariadb-dump จะดัมป์ไม่ได้ ให้ใช้อิมเมจทางการ หรือปิดการดัมป์
  • ขีดจำกัดเวลา ดัมป์หนึ่งครั้งได้ DB_DUMP_MAX_HOURS (ค่าเริ่มต้น 6) การสำรองข้อมูลรอบตัวมันได้ BACKUP_MAX_HOURS และดัมป์ที่หยุดคืบหน้าจะถูกตัดหลังจาก BACKUP_STALL_HOURS กรณีหลังมักเกิดจากล็อกที่แอปพลิเคชันถืออยู่ ให้เพิ่มขีดจำกัดที่ทำงาน หรือดัมป์ตอนที่แอปพลิเคชันว่าง
  • คอนเทนเนอร์ถูกพักหรือกำลังรีสตาร์ท ดัมป์คุยกับเซิร์ฟเวอร์ที่กำลังทำงาน ถ้าคอนเทนเนอร์รีสตาร์ทซ้ำๆ บันทึกของมันเองจะบอกเหตุผล
  • ลบดัมป์ที่เสียหายไม่ได้ ดัมป์ที่ BombVault ทำไม่สำเร็จจะถูกลบทิ้ง เมื่อการลบนั้นล้มเหลว ดัมป์จะค้างอยู่ในรายการพร้อมเครื่องหมายว่าเสียหาย และคุณลบมันได้จากตรงนั้น

การนำเข้าล้มเหลว

การนำเข้าจะหยุดคอนเทนเนอร์ ย้ายโฟลเดอร์ข้อมูลไปไว้ข้างๆ แล้วให้อิมเมจสร้างโฟลเดอร์เปล่าขึ้นแทนที่ ถ้าขั้นตอนก่อนการนำเข้าจริงล้มเหลว โฟลเดอร์เดิมจะถูกวางกลับเองโดยอัตโนมัติ ถ้าการนำเข้าเองล้มเหลว คอนเทนเนอร์จะเหลือโฟลเดอร์ใหม่ไว้ ส่วนโฟลเดอร์เดิมจะอยู่ข้างๆ ในชื่อ <โฟลเดอร์ข้อมูล>.bombvault-before-import-<เวลา> ข้อความแสดงข้อผิดพลาดของการทำงานจะบอกเส้นทางที่แน่นอน

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

การสำรองชุดข้อมูล ZFS ล้มเหลวหรือข้ามชุดข้อมูลไป

ทุกปัญหามีรหัสเหตุผลในวงเล็บเหลี่ยม และหน้า ชุดข้อมูล ZFS มีรายการทั้งหมดพร้อมวิธีแก้ สามกรณีที่พบบ่อยที่สุด:

  • snapshot-loop: สแนปช็อตไปไม่ถึง BombVault เพราะ Host Data ไม่ส่งต่อการเมานต์ใหม่ แก้ไขคอนเทนเนอร์ ตั้ง Access Mode ของ Host Data เป็น Read/Write - Slave แล้วรีสตาร์ต BombVault
  • key-not-loaded: ชุดข้อมูลที่เข้ารหัสและยังไม่ได้โหลดคีย์จะถูกข้าม โหลดคีย์ด้วย zfs load-key แล้วเมานต์ชุดข้อมูล การสำรองครั้งถัดไปจะรวมเข้าไปด้วย
  • ssh-auth: เซิร์ฟเวอร์ปฏิเสธคีย์ของ BombVault การ์ดการเชื่อมต่อในหน้า ZFS แสดงคำสั่งที่อนุญาตคีย์นี้ ให้รันหนึ่งครั้งบนเซิร์ฟเวอร์

รายการค้างอยู่ที่ "กำลังเรียนรู้ N/10"

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

การเก็บรักษาไม่ลบการสำรองข้อมูลเก่าของรายการหนึ่งอีกต่อไป

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

การล้างด้วยตนเองแจ้งว่าบางรายการถูกเก็บไว้

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

การนำเข้าประวัติแจ้งว่าอ่านรีโพสิทอรีไม่ได้

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

คำเตือนพื้นที่ดิสก์ไม่ตรงกับแดชบอร์ดของ Unraid

บนแชร์ผู้ใช้ของ Unraid (/mnt/user) พื้นที่ว่างเป็นของทั้งอาร์เรย์ ไม่ใช่ของดิสก์ลูกเดียว รีโพสิทอรีระยะไกลจะวัดได้ผ่าน rclone remote ที่รายงานพื้นที่ว่างเท่านั้น รีโพสิทอรี S3, B2, REST และ SFTP ไม่มีค่า และแสดงเป็นไม่ได้วัดในการ์ด ความผิดปกติ

ผู้ช่วย AI เชื่อมต่อไม่ได้

หน้า เซิร์ฟเวอร์ MCP อธิบายว่ารหัสสถานะและการปฏิเสธแต่ละแบบของปลายทาง MCP หมายถึงอะไร และควรทำอย่างไร

container รีสตาร์ทซ้ำๆ หรือดูไม่สมบูรณ์

BombVault รายงานสมบูรณ์/ไม่สมบูรณ์จาก /api/health ของตัวเอง เครื่องมือ auto-heal (เช่น Autoheal) สามารถรีสตาร์ทมันได้โดยอัตโนมัติหากเอนจินติดขัด ตรวจสอบบันทึกของ container และรายงาน /spike เพื่อหาสาเหตุที่แท้จริง

ยังติดขัดอยู่?