הגדרות¶
עמוד זה מכסה את משתני הסביבה של ה-container, את העיגונים שהתבנית מספקת, גיבוי VM דרך SSH, ואת הגדרת מחוץ לאתר. נתיבי מאגר הגיבוי מוגדרים בתוך האפליקציה (הגדרות, אחסון, נתיבי גיבוי), לא דרך משתני סביבה.
משתני סביבה¶
| משתנה | נדרש | תיאור |
|---|---|---|
APP_KEY |
כן | סוד hex באורך 32 בתים (64 תווי hex) המשמש לגזירת סיסמת מאגר ה-restic. צור עם openssl rand -hex 32. שמור עליו: אובדנו הופך את הגיבויים המוצפנים לבלתי ניתנים לשחזור. |
LIBVIRT_HOST |
ל-VMs | מארח Unraid שאליו מגיעים דרך SSH לגיבוי VM (ברירת מחדל host.docker.internal; התבנית ממלאה מראש placeholder של LAN-IP). השתמש בכתובת ה-LAN IP של Unraid שלך, נדרש ברשת br0.x מותאמת אישית. משמש גם לגיבוי מערכי נתונים של ZFS (שדה התבנית Host SSH: Address); ערך מציין המקום 192.168.x.x נחשב כלא מוגדר. |
LIBVIRT_SSH_PORT |
לא | פורט ה-SSH של המארח לגיבוי VM (ברירת מחדל 22). שדה התבנית Host SSH: Port, גם עבור מערכי נתונים של ZFS. |
LIBVIRT_SSH_USER |
לא | משתמש ה-SSH במארח לגיבוי VM (ברירת מחדל root). שדה התבנית Host SSH: User, גם עבור מערכי נתונים של ZFS. |
LIBVIRT_URI |
לא | URI מלא לחיבור libvirt, בשימוש כלשונו במקום בניית URI משלושת משתני LIBVIRT_* שלעיל (שבמקרה זה מתעלמים מהם לצורך מחרוזת החיבור). ברירת המחדל אינה מוגדרת. נדרש ב-TrueNAS Scale, שבו ה-libvirtd מאזין ל-socket לא סטנדרטי שצורת המחרוזת הבנויה אינה יכולה לבטא: qemu+ssh://<user>@<truenas-host>/system?socket=/run/truenas_libvirt/libvirt-sock. ראה את הפרק על TrueNAS Scale ב-docs/vm-backup-ssh-setup.md. אם זו כתובת qemu+ssh://, כל אחד מ-LIBVIRT_HOST, LIBVIRT_SSH_USER ו-LIBVIRT_SSH_PORT שאינו מוגדר נלקח ממנה, גם עבור פקודות ה-SSH של BombVault עצמו (העברת NVRAM, מערכי נתונים של ZFS). |
PORT |
לא | פורט HTTP (ברירת מחדל 3000; בשימוש רק עם HTTP_ONLY=true). |
HTTPS_PORT |
לא | פורט HTTPS (ברירת מחדל 3443; התבנית מפרסמת אותו 1:1, כך שה-WebUI עונה על https://<ip>:3443). |
HTTP_ONLY |
לא | קבע true כדי להשבית את מאזין ה-HTTPS בחתימה עצמית ולהגיש HTTP פשוט בלבד (לשימוש מאחורי reverse proxy מסיים-TLS). |
BIND_HOST |
לא | הכתובת שעליה ה-WebUI מאזין (ברירת מחדל 0.0.0.0, כל הממשקים). השאר אותה לא מוגדרת בקונטיינר, שהפורטים המפורסמים שלו צריכים את כל הממשקים; 127.0.0.1 מתאים להרצה מחוץ ל-Docker. ה-healthcheck פונה לאותה כתובת. |
TRUSTED_PROXY |
לא | כתובות או טווחי CIDR מופרדים בפסיקים של ה-reverse proxy שלפני BombVault (למשל 192.168.20.11 או 10.0.0.0/8). רק מהקפיצות האלה מאמינים לכותרת X-Forwarded-For, ואז בלם ההתחברות סופר כשלונות לפי לקוח אמיתי במקום לזרוק את כל מי שמאחורי ה-proxy לדלי אחד. ללא הגדרה (ברירת המחדל) לא מאמינים לאיש: כותרת שמאמינים לה ללא תנאי הייתה מאפשרת לכל פונה לבחור לעצמו דלי. |
HOST_SOURCE_ROOT |
לא | נתיב המארח המעוגן כHost Data (ברירת מחדל /mnt). BombVault מתרגמת את מקורות ה-bind-mount ש-Docker מדווח עליהם לנתיבים תחת עיגון זה. שנה רק אם עיגנת שורש מארח שונה. |
DATA_ROOT_SEGMENTS |
לא | שמות מקטעי-נתיב, מופרדים בפסיקים, שמסמנים מקור bind-mount כנתוני גיבוי (ברירת מחדל appdata, בהתאם למוסכמת Unraid /mnt/user/appdata/<container>). עיגון bind-mount של ה-container נבחר אוטומטית לגיבוי כאשר כל אחד מהמקטעים המפורטים מופיע כמקטע נתיב מלא במקור המארח שלו; לדוגמה, קביעת DATA_ROOT_SEGMENTS=appdata,config תופסת גם עיגון .../config. ראה זיהוי מקור הגיבוי לדרכים הנוספות, הפעילות תמיד, שבהן מאותרת תיקיית הנתונים של ה-container. |
PLATFORM |
לא | כופה על BombVault להתייחס לפלטפורמה מסוימת כאילו היא רצה עליה, במקום לזהות אוטומטית: unraid, generic או truenas (ברירת המחדל אינה מוגדרת; מזהה Unraid אוטומטית בבדיקת קיומו של סימן ה-dockerMan תחת עיגון ה-flash, אחרת generic; גם ערך לא מזוהה חוזר ל-generic, עם רישום ביומן). קבע אותו במפורש במארח Docker כללי או ב-TrueNAS Scale במקום להסתמך על הבדיקה האוטומטית הייחודית ל-Unraid. קובץ ה-compose הכללי עושה זאת. משנה את מוסכמת ה-fallback ל-appdata, את ברירות המחדל של יעד השחזור בין מופעים, ואת השאלה האם שלבי ההתראה/תוסף-הלוואי הייחודיים ל-Unraid מנוסים כלל (ראה internal/platform). |
BOMBVAULT_SELF_CONTAINER |
לא | שם ה-container של BombVault עצמה, כך שהיא לעולם אינה מגבה (ולכן עוצרת) את עצמה. |
BACKUP_MAX_HOURS |
לא | מספר שעות השעון המקסימלי שהרצת גיבוי בודדת רשאית להחזיק את נעילת הדומיין שלה לפני שהיא מבוטלת בכוח (שמירה כך שהרצה תקועה אינה יכולה לחסום את הדומיין לנצח). ריק (ברירת המחדל) משתמש ב-48. הגדל אותו לגיבויי ענן גדולים או איטיים מאוד (הרצה שמבוטלת בתקרה נכשלת עם context deadline exceeded). קבע 0 כדי להשבית את התקרה לחלוטין. |
BACKUP_STALL_HOURS |
לא | מספר השעות שגיבוי רשאי לעבור בלי שום התקדמות לפני שהוא מבוטל. ריק (ברירת המחדל) משתמש ב-2; קבע 0 כדי לעולם לא לבטל בגלל היתקעות. זו העדינה מבין שתי ההגנות ובדרך כלל זו שמופעלת: היא בודקת אם משהו עדיין קורה ולא כמה זמן ההרצה נמשכת, כך שגיבוי איטי אך תקין של כמה טרה-בייט נשאר בשקט, ואילו גיבוי שנתקע על שיתוף שאינו מגיב נעצר בתוך שעות ולא ימים. אזהרה נרשמת ביומן אחרי 30 דקות של שקט, לפני שמשהו מבוטל. סריקה נחשבת להתקדמות: restic אינו כותב בתים בזמן שהוא סורק עץ גדול, והשלב הזה נמדד לפי סכומי הקבצים והבתים שלו ולא לפי הבתים שנכתבו. שני המשתנים בלתי תלויים זה בזה, ו-BACKUP_MAX_HOURS עדיין תוחם את השלבים שאחרי הגיבוי עצמו (שמירה, סטטיסטיקה, עותק מחוץ לאתר), שבהם אין מונים לעקוב אחריהם. |
DB_DUMP_MAX_HOURS |
לא | מספר השעות שדאמפ אוטומטי אחד של מסד נתונים רשאי לרוץ לפני שהוא נעצר. ריק (ברירת המחדל) משתמש ב-6; הערכים המותרים הם 1 עד 48, והמגבלה נשמרת שעה מתחת ל-BACKUP_MAX_HOURS (או במחציתו, כשהוא קצר משעתיים), כדי שדאמפ ארוך ייחתך על ידי המגבלה שלו ויידווח ככזה במקום לגרור איתו את הגיבוי. דאמפ שאינו מתקדם נעצר מוקדם יותר, אחרי BACKUP_STALL_HOURS. דאמפ שנעצר נכשל בפני עצמו, וגיבוי הקונטיינר ממשיך. ב-Unraid מוסיפים את המשתנה לקונטיינר של BombVault דרך Add another Path, Port, Variable. |
TZ |
לא | אזור זמן למתזמן (למשל Europe/Berlin). אם לא מוגדר, כל התזמונים פועלים לפי UTC: תזמון שנקבע ל-02:30 יופעל אז ב-02:30 UTC ולא לפי השעון המקומי. ב-Unraid לעולם אין להגדיר זאת בעצמך: המערכת מעבירה את אזור הזמן שלה לכל מכולה. יומן האתחול מציין לאיזה אזור הוא נקבע. אזור עם שעון קיץ מדלג על הרצה אחת באביב ומריץ אחת פעמיים בסתיו, ואילו UTC לא עושה אף אחד מהם, אבל זז בשעה ביחס לשעון שלך פעמיים בשנה. |
עיגונים¶
עגן את ה-Docker socket, את ה-flash (/boot) ואת שורש Host Data (/mnt) כפי שמוצג בתבנית ה-CA. מקורות הגיבוי וגם היעדים חיים תחת Host Data, והוא מעוגן slave כך ששיתוף מרוחק שמתעגן לאחר שה-container מתחיל (למשל תחת /mnt/remotes) הופך גלוי ללא הפעלה מחדש.
גם גיבוי מערכי נתונים של ZFS צריך את המצב הזה: המארח מעגן את התצלום של מערך נתונים רק אחרי שהקונטיינר עלה. ראה מערכי נתונים של ZFS.
נתיבי מאגר הגיבוי מוגדרים כברירת מחדל ל-/mnt/user/bombvault/{container,vms,flash,config,files,zfs}, נוצרים בגיבוי הראשון. שנה את המיקום בכל עת בהגדרות, אחסון, נתיבי גיבוי. לכל שדה נתיב יש גם מתג מקומי / מרוחק מובנה: נתיב יכול להיות remote של restic (s3:..., rest:..., sftp:..., rclone:...) במקום תיקייה מקומית, והגיבוי נכתב ישירות אליו בלי עותק מקומי נפרד; ראה מאגרים ראשיים מרוחקים.
בדיקת שילוב מארח
פתח את /spike בממשק הווב לאחר שה-container מתחיל. הוא בודק כל עיגון ו-CLI (Docker socket, libvirt, restic, qemu-img, rclone) ומדווח על כל חלק חסר.
זיהוי מקורות הגיבוי¶
עבור כל מכולה בוחר BombVault בעצמו אילו עגינות bind ואילו כרכים בעלי שם ייכללו בגיבוי. נתיב נלקח ברגע שאחד מהתנאים הבאים מתקיים (אפשר תמיד לעקוף את התוצאה לכל מכולה בנפרד תחת תיקיות לגיבוי שלה):
- התאמה למקטע של שורש הנתונים: מקור העגינה בצד המארח מכיל אחד ממקטעי
DATA_ROOT_SEGMENTSכרכיב נתיב שלם (כברירת מחדל רקappdata). - כרכי Docker בעלי שם נכללים תמיד, מפני שאין להם מקבילה חד-פעמית ולכן אין מה לסנן, אך רק כאשר נתיב האחסון האמיתי של הכרך על המארח נגיש בעצמו דרך עגינת Host Data, בדיוק כמו כל נתיב מארח אחר ש-BombVault מגבה. מנהל ההתקן המשמש כברירת מחדל לכרכים מקומיים מניח כרך תחת שורש הנתונים של הדמון עצמו, כלומר
/var/lib/docker/volumes/<שם>/_dataאלא אם שינית זאת (בדוק עםdocker info -f '{{.DockerRootDir}}'). מקום זה אינו מכוסה על ידי עגינת Host Data הצרה, בעלת ספרייה יחידה, שקובץdocker-compose.ymlהכללי משתמש בה כברירת מחדל. כרך שאינו נגיש מדולג בשקט, וזו אינה שגיאה. כדי שכרכים בעלי שם יגובו באמת על מארח כללי, כוון את Host Data (ואתHOST_SOURCE_ROOT) לספריית אב משותפת שמכסה גם את שורש הנתונים של Docker: השיקול מתואר בהערת Host Data שבקובץ compose (Unraid עוקף זאת בכך שהוא מעגן את כל/mnt, המוסכמה הכללית שלו ברמה העליונה, מאותה סיבה בדיוק). - ספריית פרויקט של Docker Compose: אם המכולה נושאת את התווית המקובלת
com.docker.compose.project.working_dir(מוגדרת אוטומטית על ידיdocker compose up), נוספת גם אותה ספרייה, בלי קשר לשאלה אם עגינה כלשהי התאימה למקטע של שורש הנתונים. - עקיפה באמצעות התווית
bombvault.data: הצב על המכולה את התוויתbombvault.data=trueכדי לכלול את כל עגינות ה-bind שלה, עבור מבנה ששתי המוסכמות שלמעלה אינן תופסות (למשל עגינה בודדת/srv/plex/configללא פרויקט Compose). כל ערך שאינו ריק ואינוfalseנחשב אמת; היעדר תווית אוbombvault.data=falseאינם משנים דבר. - התווית
bombvault.dbdump: הגדר לקונטיינרbombvault.dbdump=falseכדי לכבות את הדאמפ האוטומטי של מסד הנתונים שלו (0,noו-offעושים אותו דבר), או ציין את המנוע (postgres,mysql,mariadb) כדי לקחת דאמפ מקונטיינר ש-BombVault אינו מזהה מעצמו. התווית גוברת על המתג בכרטיס הקונטיינר, שהוא הדרך הרגילה ב-Unraid.
מודל האבטחה¶
שליטה שוות-ערך ל-root על המארח
דרך ה-Docker socket, BombVault יכולה לעצור, להסיר וליצור מחדש containers ולקרוא/לכתוב appdata, ולגיבוי VM היא מתחברת למארח דרך SSH (qemu+ssh://, root כברירת מחדל) כדי להריץ virsh. כל מי שיכול להגיע לממשק הווב שלה שולט למעשה כ-root על המארח.
- הגנת סיסמה אופציונלית (הגדרות, אבטחה): הגדר סיסמה כדי לדרוש התחברות, נקה אותה כדי לכבות. כבויה כברירת מחדל לשימוש ברשת מקומית מהימנה. הסיסמה נשמרת עם Argon2id מעל ערך מפולפל ב-
APP_KEY, כך ש-/configמועתק חסר ערך בלי המפתח ואיטי לתקיפה איתו. סיסמה חדשה צריכה לפחות 12 תווים; סיסמה קצרה קיימת ממשיכה לעבוד עד שמשנים אותה. הפעלות חתומות (HMAC הנגזר מ-APP_KEY) ושינוי הסיסמה מבטל אותן; ההתחברויות מוגבלות לחמישה כשלונות בדקה לכל לקוח. - אימות דו-שלבי (הגדרות): קוד מבוסס זמן מאפליקציית אימות בנוסף לסיסמה, ועוד שמונה קודי שחזור חד-פעמיים הניתנים פעם אחת בהפעלה. הסוד המשותף נשמר מוצפן ב-
APP_KEY, וכיבוי דורש קוד עדכני. - מפתחות גישה (WebAuthn) מופיעים בכרטיס משלהם ברגע שמוגדרת סיסמה, לצד הסיסמה ולעולם לא במקומה, כך שהסרת כל מפתחות הגישה לא נועלת אף אחד בחוץ. הם צריכים שם דומיין אמיתי ותעודה שהדפדפן סומך עליה. ברירת המחדל
https://<ip>:3443היא בדיוק מה ש-WebAuthn דוחה, והכרטיס אומר זאת במקום להציע כפתור שייכשל. - שינויים דורשים JSON. בקשה שמשנה משהו חייבת לשלוח
Content-Type: application/jsonואסור שהדפדפן יסמן אותה כחוצת אתרים, כך שעמוד באתר אחר לא יכול לגרום לדפדפן שלך לשנות הגדרות בכתובת ברשת המקומית. סקריפט שמפעיל את ה-API שולח את הכותרת הזו; כל דבר אחר נדחה עם415. - מכיוון שהשער הוא הצטרפות מרצון, כשאינו מוגדר כל הממשק וה-API (כולל הגדרת מחוץ לאתר, נתיבי בדיקת החבלה וערכת השחזור) נגישים לכל מי שיכול להגיע לפורט. הפעל את השער ברגע שמחוץ לאתר, גיבויים בלתי-ניתנים-לשינוי או הצפנה נמצאים בשימוש.
- הרץ את BombVault רק ברשת מהימנה ולא חשופה. לגישה מרחוק הצב אותה מאחורי reverse proxy שמוסיף אימות ו-TLS. התגובות נושאות כותרות אבטחה בסיסיות (CSP,
nosniff,X-Frame-Options,Referrer-Policy). - מאחורי reverse proxy כל בקשה נושאת את כתובת ה-proxy, ולכן בלי
TRUSTED_PROXYהבלם סופר את כל הלקוחות בדלי אחד וכשלונות של תוקף נועלים גם אותך בחוץ. ציין את ה-proxy ב-TRUSTED_PROXYכדי לחזור לספירה לפי לקוח. - Reverse proxy לפני BombVault חייב להעביר את הכותרת
AuthorizationאוX-API-Keyאל/mcpואסור לו לאגור את התשובות בחוצץ, אחרת עוזרים לא יוכלו להתחבר. ראה שרת MCP. - נקודת הקצה של MCP
/mcpעונה404עד שקיים מפתח או שהתחברות דרך OAuth מופעלת, והיא דורשת מכל לקוח את המפתח או האסימון שלו גם כשסיסמת ההתחברות כבויה; אף כתובת אינה פטורה, אפילו לאlocalhost. אין לה כלים לשחזור או למחיקה, ושחזור של גיבוי תצורה מבטל את כל המפתחות. ראה שרת MCP. - עם
HTTP_ONLY=trueעוגיית ה-session מאבדת את דגל ה-Secureשלה (היא חייבת, כדי לעבוד מעל HTTP פשוט), כך שהפעל את הסיסמה מאחורי proxy מסיים-TLS רק אם סודיות חשובה. - חיבור ה-SSH של גיבוי ה-VM נותן אמון במפתח המארח בחיבור הראשון (TOFU) ומצמיד אותו לאחר מכן. אמת את מפתח המארח מחוץ-לפס אם הנתיב מה-container למארח שלך אינו מהימן.
- הגיבויים מוצפנים על ידי restic כשההצפנה מופעלת (הגדרות; מופעלת כברירת מחדל), עם המפתח נגזר מ-
APP_KEY.
שרת MCP¶
שרת ה-MCP לא צריך שום משתנה סביבה. מפעילים אותו על ידי יצירת מפתח ב-הגדרות, אינטגרציות, שרת MCP, והוא עונה בנתיב /mcp על אותה יציאה כמו ממשק האינטרנט (למשל https://192.168.1.10:3443/mcp). בלי מפתח פעיל הנתיב הזה עונה 404. לקוחות, תעודות ומגבלות מתוארים בדף שרת MCP.
גיבוי VM דרך SSH¶
BombVault מגבה מכונות KVM/libvirt מבלי לעגן שום נתיב libvirt. היא מריצה virsh במארח דרך SSH (qemu+ssh://), כך שהיא לעולם אינה יכולה להשפיע על ה-VM Manager של המארח שלך.
עיגון ה-socket של libvirt של המארח לתוך container הוא שביר ב-Unraid: הנתיבים האלה שייכים ל-VM Manager, והחלפת "Enable VMs" עלולה להשאיר את libvirt בלי יכולת לעלות. מפתח ה-SSH מעניק root במארח, אותה רמת אמון כמו ה-Docker socket ש-BombVault כבר משתמשת בו.
הגדרה מהירה:
- הגדרות, אינטגרציות, SSH למארח: העתק את המפתח הציבורי המוצג.
- הוסף אותו אל
/root/.ssh/authorized_keysשל Unraid (גם נשמר ל-flash כך שהוא שורד אתחולים). - לחץ בדוק חיבור.
התבנית מוסיפה --add-host=host.docker.internal:host-gateway כך שה-container יכול להגיע למארח. קבע את LIBVIRT_HOST לכתובת ה-LAN IP של Unraid שלך אם השם הזה אינו נפתר (למשל כאשר ה-container רץ ברשת br0.x מותאמת אישית). אם שינית את פורט ה-SSH של Unraid, קבע את LIBVIRT_SSH_PORT בהתאמה. תמונות מצב חיות דורשות בנוסף את qemu guest agent ב-VM ואת הדיסק על /mnt/cache (לא /mnt/user).
מדריך מלא להגדרת VM ורשת
המדריך המלא שלב-אחר-שלב (הפעלת SSH, אישור מפתח מתמיד, ניתוב רשת מותאמת אישית ו-VLAN, שיטה לכל VM ופתרון בעיות בצד המארח) נמצא בכתובת docs/vm-backup-ssh-setup.md ב-GitHub.
הגדרת מחוץ לאתר¶
הגדר רפליקה מחוץ לאתר בעמוד הגדרות, מחוץ לאתר. ראה מחוץ לאתר והתאוששות לזרימת העבודה המלאה (בלתי-ניתן-לשינוי/append-only, בדיקת חבלה ותרגולי DR). בקצרה:
- Backends: SMB/CIFS ו-NFS (עגן את השיתוף והפנה אליו נתיב גיבוי), backends מקוריים של restic ללא rclone (
s3:...,rest:http://host:8000/repo,sftp:user@host:/repo), או כל remote של rclone (rclone:<remote>:<bucket>/path). ל-Backblaze B2 אין כאן backend מקורי: מגיעים אליה דרך נקודת הקצה שלה ב-S3 (s3:https://s3.<region>.backblazeb2.com/<bucket>/<path>), כאשר מזהה המפתח ומפתח היישום משמשים כפרטי ההתחברות ל-S3. - פרטי גישה משותפים לענן נשמרים מוצפנים תחת הגדרות, גישה לענן, פרטי גישה משותפים לענן.
- יעדי SSH אינם דורשים דבר מותקן בצד השני.
sftp:דורש רק שרת SSH. הוסף את המפתח הציבורי מ-הגדרות, אינטגרציות, SSH למארח (גם ב-/config/ssh/id_ed25519.pub) אל ה-~/.ssh/authorized_keysשל משתמש היעד. - עותק מחוץ לאתר: BombVault משכפלת תמונות מצב חדשות עם
restic copyעל בסיס מאמץ-מיטבי, בנוסף למאגר ראשי (בדרך כלל מקומי). לכל דומיין יש לוח זמנים משלו מחוץ לאתר, בתוספת כפתור שכפל עכשיו. - מספר יעדים מחוץ לאתר לכל דומיין: כל דומיין יכול לשכפל למספר יעדים מחוץ לאתר בבת אחת. הוסף יעדים נוספים ב-הגדרות, מחוץ לאתר, כל אחד עם מאגר משלו, מחלקת אחסון S3, דגל append-only, שמירה ותקציב גדילה; כולם משוכפלים בלוח הזמנים מחוץ לאתר של אותו דומיין. הגדרת מחוץ לאתר יחידה קיימת מועברת כיעד הראשון.
- יעדים: יעדים מחוץ לאתר מוגדרים פעם אחת תחת הגדרות, מחוץ לאתר, יעדים, באמצעות אשף שמפרט כל שירות נתמך. ראה יעדים.
- מיקום לכל פריט: כל container, VM וקבוצת קבצים מדליקים את מקומי ואת היעדים שמקבלים את הגיבויים שלהם. הגדרות, אחסון, ברירות מחדל של מיקום קובע זאת לכל דומיין עבור פריטים בלי בחירה משלהם. ראה מיקום לכל פריט.
- שמירה לכל מקור: המדיניות המקומית ומדיניות מחוץ לאתר חיות שתיהן ב-הגדרות, שמירה (השאר את מדיניות מחוץ לאתר אפס-לגמרי כדי לעולם לא לגזום אוטומטית תמונות מצב מחוץ לאתר). בכל אחד מהכרטיסים שמירה מקומית ושמירה מחוץ לאתר יש כללי שמירה לפי מקור, שנותן לקונטיינרים, למכונות וירטואליות, ל-flash, לתיקיות, ל-ZFS או לגיבוי העצמי כללי שמירה משלהם, לגיבויים המקומיים שלהם ולמאגר שלהם מחוץ לאתר. מקור בלי כללים משלו פועל לפי המשותפים, והשמירה אחרי כל גיבוי, ההעתקה אל מחוץ לאתר, ניקוי ידני ותצוגה מקדימה של השמירה משתמשים כולם בכללים של המקור שבו הם עוסקים. יעדים נוספים מחוץ לאתר שומרים על הכללים שנקבעו להם ב-הגדרות, מחוץ לאתר.
- מגבלות רוחב פס: הגבל את קצב ההעלאה/הורדה של restic תחת הגדרות, מחוץ לאתר.
- סטרימינג קודם: תחת הגדרות, מחוץ לאתר, בחר את שרתי המדיה (Plex, Jellyfin ו-Emby נבחרים מראש לפי שם האימג'), את קצב השליחה שממנו שרת נחשב כמשדר, את מגבלת ההעלאה בזמן השידור וכמה זמן אחרי שידור המגבלה הרגילה חוזרת.
- מחלקת אחסון קרה וארכיונית (S3): למאגר S3 מקורי מחוץ לאתר, בחר שכבה שקריאה-לשחזור (Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval). remotes של rclone קובעים את המחלקה שלהם בתצורת ה-rclone.
- ראשי מרוחק במקום מקומי: נתיב הגיבוי של דומיין יכול בעצמו להיות אחד מה-backends שלמעלה, בלי עותק מקומי ובלי שלב שכפול. על מתג מקומי/מרוחק המובנה ועל הגדרות הבטיחות שלו (רוחב פס, append-only, תקציב גדילה) ראה מאגרים ראשיים מרוחקים.
חריגות¶
זיהוי חריגות מוגדר בכרטיס חריגות תחת הגדרות, שלמות. כל פקד נשמר ברגע שאתה משנה אותו, ושלושת הפקדים שמתחת למתג מוסתרים כל עוד הזיהוי כבוי.
| הגדרה | ברירת מחדל | מה היא עושה |
|---|---|---|
| לזהות חריגות | פועל | משווה כל גיבוי להיסטוריה של הפריט. כשהוא כבוי שום דבר חדש לא נבדק והפריט חריגות יוצא מהסרגל הצדדי; הכרטיס עדיין מקשר לממצאים קודמים. |
| רגישות | מאוזנת | מחמירה מדווחת גם על שינויים קטנים יותר, מקלה רק על גדולים. |
| לשלוח התראה עבור | רק ממצאים קריטיים | החומרה הנמוכה ביותר ששולחת הודעה דרך הערוצים שהוגדרו תחת התראות. כשלים חוזרים של גיבויים ו-dump ובדיקות שחזור מתוזמנות שנכשלו כבר שולחים הודעה משלהם ולא נשלחים פעמיים. |
| לשמור גיבויים ישנים כשמקור מתכווץ בחדות או נכתב מחדש | פועל | כל עוד לפריט יש ממצא פתוח על מקור כמעט ריק, התכווצות חזקה או רוב הנתונים שנשמרו מחדש, השמירה והניקוי לא נוגעים בגיבויים הישנים שלו. אשר את הממצא או סמן אותו כצפוי כדי לשחרר אותם. |
לכל פריט יכולים להיות רגישות ומינימום התראות משלו. הגדר אותם בעמוד חריגות, שבו לפריט עם ממצאים פתוחים הם נמצאים תחת ניטור בכרטיס שלו, וכל פריט אחר פותח אותם מהכרטיס אין דבר פתוח, או בחלונית של הפריט עצמו: באזור התיקיות של קונטיינר ובהגדרות של מכונה וירטואלית (שניהם במצב מתקדם), בעורך התיקיות של ערכת תיקיות ובעמודים Flash ו-גיבוי עצמי. בפריט ZFS הן נמצאות בעורך של הפריט בעמוד ZFS וחלות על כל מערך נתונים בעץ שלו.
הגדרות ניידות (ייצוא וייבוא)¶
כרטיס ייצוא / ייבוא הגדרות בעמוד ההגדרות, מערכת כותב את כל תצורת BombVault שלך (הגדרות דומיין, יעדים מחוץ לאתר, לוחות זמנים, שמירה, התראות) לקובץ JSON נייד שאתה יכול לייבא במופע אחר, כך שמעבר לתיבה חדשה או שכפול התקנה אינו אומר להזין הכול מחדש ביד. הייבוא מציג תצוגה מקדימה ומבקש אישור, והוא לעולם אינו נוגע בנתוני הגיבוי או ההיסטוריה שלך.
הייצוא יכול להכיל פרטי התחברות
אתה בוחר האם לכלול את פרטי ההתחברות מחוץ לאתר, ההתראות ומתווך ה-MQTT בקובץ. עם פרטי התחברות כלולים, הייצוא רגיש כמו ערכת השחזור שלך, אז אחסן אותו במקום בטוח. בלעדיהם, הקובץ מחזיק רק הגדרות שאינן סודיות.