לדלג לתוכן

לוחות זמנים

הגדרות, לוח זמנים מחזיק כל תוכנית: הגיבוי המלא שמכסה הכול, תוכנית משלה לתחום, ההעתקות מחוץ לאתר, אילו פריטים משתתפים ובאיזה סדר. פריט בודד יכול לקבל תוכנית משלו בדף שלו. הדף הזה מסביר איך הם משתלבים ועובר על הגדרה אופיינית.

תוכניות שנקראות כמשפטים

כל תוכנית היא כפתור שנקרא כמשפט, כמו יומי ב-03:00 או כל יומיים ב-01:30. לחיצה פותחת אותו עם חמישה מצבים:

מצב מה קובעים
כבוי שום דבר לא רץ בתוכנית הזאת.
יומי שעה
שבועי ימים ושעה
כל N ימים כל כך וכך ימים, והשעה. הספירה מתחילה מהריצה המתוזמנת האחרונה, כך שגיבוי של פריט אחד ביד לא דוחה את התוכנית.
Cron ביטוי של חמישה שדות, כמו 0 */6 * * * לכל 6 שעות. דוגמאות מציע כמה, והחלון מראה את הריצות הבאות.

כל השעות הן באזור הזמן של השרת. ב-Unraid זה אזור הזמן של המערכת עצמה. במקומות אחרים קובעים TZ, אחרת כל תוכנית רצה ב-UTC, ראו משתני סביבה.

שבוע

הכרטיס שבוע מצייר כל ריצה מתוכננת מיום שני עד יום ראשון, שורה ליום: גיבויים, העתקות מחוץ לאתר ובדיקות. מצביעים על קו כדי לקרוא מה מתחיל שם. היכן ששלוש תוכניות מתחילות בתוך שעתיים, הקטע מסומן, כך שאפשר לפזר אותן.

הגדרות, לוח זמנים: רצועת השבוע למעלה, ואחריה הגיבוי המלא והתוכניות לכל תחום. הגדרות, לוח זמנים: רצועת השבוע למעלה, ואחריה הגיבוי המלא והתוכניות לכל תחום.

גיבוי מלא

הגיבוי המלא הוא תוכנית ברירת המחדל לכל דבר. מתי הגיבויים רצים קובע אותו: מעבר אחד שמגבה כל תחום בתורו, קונטיינרים, מכונות וירטואליות, flash, תיקיות, מערכי נתונים של ZFS והגיבוי העצמי אחרון. השורה מתחתיו אומרת אילו תחומים הוא כולל. כבוי מכבה אותו, ואז רץ רק מה שיש לו תוכנית משלו.

  • השלם גיבויים שהוחמצו לאחר ההפעלה: כשהשרת היה כבוי בשעה מתוכננת, BombVault מריצה את הגיבוי הזה כשתי דקות אחרי שהיא מתחילה. תוכנית משלו של פריט ותוכנית מחוץ לאתר ממתינות לזמן המתוכנן הבא שלהן, וכך גם תוכנית שעוד לא הצליחה אף פעם.
  • פקודות לפני ואחרי: פקודה לפני הגיבוי המלא רצה בשרת עם sh -c לפני שהמעבר מתחיל, למשל סקריפט שעוצר שירות. אם היא נכשלת, הגיבוי המלא עדיין רץ. פקודה אחרי הגיבוי המלא רצה פעם אחת אחרי שכל תחום נוסה, גם אם אחד מהם נכשל, וזה מתאים ל-ping שמאשר שהשרת כולו מוגן. פקודות לקונטיינר בודד נמצאות בדף שלו.

גיבוי הכול עכשיו בדף הגיבויים מתחיל את אותו מעבר ביד, על כל תחום מופעל.

תוכניות לפי תחום

תחום יכול לצאת מהגיבוי המלא ולרוץ בשעה משלו. בלוחות זמנים לפי תחום, חריג מוסיף תחום עם תוכנית משלו, והסרת חריג מחזירה אותו. השורה בכרטיס אומרת מה האחרים עושים, כמו כל שאר התחומים רצים בגיבוי המלא.

תחום עם תוכנית משלו אינו מגובה שוב בגיבוי המלא, ולכן שום דבר לא מגובה פעמיים. אותו דבר נכון לפריט בודד עם תוכנית משלו.

עותקים מחוץ לאתר לפי תחום עובד באותה דרך להעתקות. כברירת מחדל כל תחום מעתיק ליעדים שלו מחוץ לאתר מיד אחרי כל גיבוי. חריג נותן לתחום אחד תוכנית העתקה משלו, למשל כדי שהמכונות הווירטואליות יועתקו ל-Backblaze B2 רק בליל ראשון. גם לכרטיס העתקה של יעד אפשר לקבוע מתי להעתיק, ראו עותקים מחוץ לאתר.

פריטים מתוזמנים

פריטים מתוזמנים אומר לכל תחום כמה פריטים משתתפים, כמו 38 מתוך 41 מתוזמנים. פריטים פותח את הרשימה עם מתג בלוח הזמנים לכל פריט. פריט שהמתג שלו כבוי מגובה רק כשמתחילים אותו ביד. הוא נחשב לא מוגן אלא אם סימנת אותו לא לגבות.

סדר

סדר קובע את הסדר שבו ריצות מתוזמנות והגיבוי המלא מגבים קונטיינרים ומכונות וירטואליות. גוררים פריט למקום או משתמשים בחצים, וכל מהלך נשמר מיד. פריטים שלא סידרת מגובים לפי מי שהכי מאחר. גיבוי בודד ביד לא מושפע.

הפעלה מחדש לאחר הגיבוי באותו כרטיס מכסה את הקונטיינרים שעצירת מכולות אחרות הורידה בזמן גיבוי. הם מופעלים שוב לפי סדר התלות שלהם, ועם המתנה עד שהתלויות יהיו תקינות לפני הפעלת הבאה כל אחד צריך לדווח שהוא תקין או רץ לפני שהבא מתחיל. פסק זמן תקינות לכל מכולה (שניות) תוחם את ההמתנה, 120 כברירת מחדל, בטווח של 5 עד 3600.

תצלום במקום עצירה

לעצור מכלים ב-ZFS רק לצורך תצלום מופעל כברירת מחדל. קונטיינר שהנתונים שלו נמצאים ב-ZFS נעצר רק בזמן ש-BombVault לוקחת תצלום של הנתונים האלה, בדרך כלל כמה שניות, ואז הגיבוי נקרא מהתצלום. זה צריך את חיבור ה-SSH למארח שבו משתמשים מערכי הנתונים של ZFS. קונטיינר שחלק מהנתונים שלו במקום אחר נעצר לאורך כל הגיבוי כמו קודם, והריצה שלו אומרת למה, ואילו קונטיינר ששום דבר מהנתונים שלו לא ב-ZFS נעצר בלי הערה. זה עובד על Unraid user share שנמצא על מאגר ZFS יחיד. ב-TrueNAS האפליקציה צריכה גם את היכולת SYS_CHROOT, ראו TrueNAS SCALE. אפשר לקבוע קונטיינר בודד אחרת בדף שלו.

הגיבוי נוחת באותם נתיבים ותגיות כמו גיבוי שנעשה כשהקונטיינר עצור, ולכן שחזורים ובדיקות מתייחסים לשניהם באותו אופן. הפקודה לפני הגיבוי והדאמפ של מסד הנתונים עדיין רצים קודם, הקונטיינרים האחרים לעצירה יורדים וחוזרים איתו, והפקודה אחרי הגיבוי רצה ברגע שהקונטיינר למעלה שוב. עדכון אחרי הגיבוי עדיין ממתין עד שהגיבוי נגמר. הריצות שלו מציגות תצלום וכמה שניות הקונטיינר היה למטה. אם BombVault נעצרת באמצע גיבוי של קונטיינר כלשהו, היא מפעילה שוב את הקונטיינרים שהחזיקה למטה בפעם הבאה שהיא מתחילה.

עדכונים אחרי הגיבוי

  • עדכון קונטיינרים לאחר גיבוי מוצלח מושך image חדש רק אחרי שהגיבוי שלפניו הסתיים, כך שתמיד קיימת קודם נקודת שחזור טרייה. הוא כבוי כברירת מחדל, ואפשר לקבוע קונטיינר בודד אחרת בדף שלו תחת עדכון לאחר גיבוי מוצלח. רק מה שקבעת עובר ל-image החדש: משתנים, תוויות, הפקודה, המשתמש וה-healthcheck שעדיין נראים כמו ב-image הישן הולכים לפי החדש. אם אי אפשר ליצור או להפעיל את ה-image החדש, הקונטיינר חוזר ל-image שעליו רץ, העדכון מוצג כנכשל, והגיבוי הבא מנסה שוב. קונטיינר שנשאר למטה בגלל זה מצוין בריצה של הגיבוי ובהתראה.
  • הסרת ה-image הישן לאחר עדכון מוחקת את ה-image שהקונטיינר עזב. image בסיס שקונטיינרים אחרים חולקים לעולם לא נמחק.
  • רענון סטטוס העדכונים של Unraid לאחר עדכון מכולה מנקה את שורת העדכון של Unraid לקונטיינר הזה.

הודעה לכל קונטיינר מעודכן נקבעת תחת הגדרות, התראות עם התראה על עדכון container.

שקט לפני גיבוי

הכרטיס שקט לפני גיבוי קובע מתי אפליקציה נחשבת שקטה לקונטיינר שהגיבוי המתוזמן שלו ממתין לה: CPU מתחת ל- (% מליבה), תעבורה מתחת ל- (Mbit/s) ולפחות (דק'). שרת מדיה נחשב שקט כשהוא לא משדר, ולקונטיינר ברשת המארח רק ה-CPU נחשב. ההמתנה עצמה נקבעת בכל קונטיינר, ראו כשהאפליקציה עסוקה.

תוכנית משלה לפריט אחד

לכל פריט יש תוכנית משלה בכרטיס לוח זמנים ויעד בלשונית ההגדרות שלו. עם תוכנית שם הפריט רץ בשעות משלו ויוצא מהגיבוי המלא ומהתוכנית של התחום שלו. בלי תוכנית הוא עוקב אחריהם.

דוגמה: שלוש תוכניות שמתאימות זו לזו

תיבת Unraid אופיינית: את רוב הקונטיינרים אפשר לגבות בלילה, המכונות הווירטואליות גדולות ומשתנות לאט, ו-Immich מקבל תמונות חדשות כל היום.

  1. גיבוי מלא ב-03:00. פותחים הגדרות, לוח זמנים. בגיבוי מלא קובעים מתי הגיבויים רצים ליומי ב-03:00. מפעילים השלם גיבויים שהוחמצו לאחר ההפעלה, כך שלילה שבו השרת היה כבוי מתכסה.
  2. מכונות וירטואליות פעם בשבוע. בלוחות זמנים לפי תחום לוחצים חריג, בוחרים VMs וקובעים את התוכנית שלו לשבועי, ימים ראשון, שעה 04:00. הכרטיס אומר עכשיו שכל שאר התחומים רצים בגיבוי המלא.
  3. גם המכונות הווירטואליות מועתקות מחוץ לאתר בראשון. בעותקים מחוץ לאתר לפי תחום לוחצים חריג, בוחרים VMs וקובעים שבועי, ראשון ב-06:00, אחרי שלגיבוי שלהם היה זמן להסתיים.
  4. Immich כל 6 שעות. פותחים גיבויים, אחר כך immich, ואת לשונית הגדרות שלו. קובעים תוכנית משלה ל-Cron עם 0 */6 * * *.

מה רץ עכשיו:

מתי מה
כל יום ב-03:00 קונטיינרים חוץ מ-immich, flash, תיקיות, מערכי נתונים של ZFS והגיבוי העצמי, תחום אחרי תחום
ראשון ב-04:00 VMs
ראשון ב-06:00 העותק מחוץ לאתר של המכונות הווירטואליות
00:00, 06:00, 12:00 ו-18:00 immich לבדו

הכרטיס שבוע מראה את קו 03:00 בכל יום, את הקווים של 04:00 ו-06:00 בראשון, וארבעה קווים ביום ל-immich. immich לא מגובה פעם שנייה ב-03:00, כי פריט עם תוכנית משלו יוצא מהגיבוי המלא. העותקים של שאר התחומים עדיין רצים מיד אחרי כל גיבוי.

כשתסיר בהמשך את התוכנית של immich, הוא יצטרף שוב לריצה של 03:00 עם התחום שלו.