שחזור אשכול AlloyDB Omni באמצעות Barman

בחירת גרסת תיעוד:

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

‫AlloyDB Omni תואם ל-PostgreSQL, ולכן פקודות וטכניקות שחזור הנתונים שמתוארות במדריך של Barman רלוונטיות גם ל-AlloyDB Omni. בדף הזה מוצגות כמה משימות שחזור נפוצות, עם דוגמאות לפקודות רלוונטיות.

מידע נוסף על הגדרת Barman לעבודה עם AlloyDB Omni זמין במאמר בנושא הגדרת Barman ל-AlloyDB Omni.

לפני שמתחילים

לפני שמשחזרים את הנתונים של AlloyDB Omni, צריך לוודא שיש לכם את הדברים הבאים:

  • שרת מסד נתונים יעד, שפועלת בו אותה גרסה ראשית של AlloyDB Omni כמו בשרת מסד הנתונים של המקור. מידע נוסף על התקנת AlloyDB Omni זמין במאמר התקנת AlloyDB Omni.

  • כלי השירות rsync, שמותקן בשרת היעד.

  • שרת גיבוי של Barman, עם גיבוי תקין אחד לפחות של Barman של מסד הנתונים המקורי של AlloyDB Omni.

  • קישוריות SSH בין שרת הגיבוי של Barman לבין שרת היעד.

  • מפתחות SSH מוגדרים כך שמשתמש barman בשרת Barman יוכל לבצע אימות בשרת היעד כמשתמש postgres שלו ללא סיסמה.

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

שחזור באמצעות גיבוי ספציפי

  1. בשרת היעד, עוצרים את AlloyDB Omni:

       sudo systemctl stop alloydbomni18
  2. בשרת Barman, בוחרים גיבוי לשחזור. כדי לראות את הגיבויים הזמינים, מריצים את הפקודה barman list-backups. כדי לראות פרטים על גיבוי מסוים, מריצים את הפקודה barman show-backup.

  3. כדי לשחזר את הגיבוי שנבחר לשרת היעד של AlloyDB Omni, מריצים את הפקודה barman recover.

    כשמריצים את הפקודה, צריך לכלול את הפרטים הבאים:

    בדוגמה הבאה מוצג שימוש בפקודה barman recover עם AlloyDB Omni:

    barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID DATA_PATH

    מחליפים את מה שכתוב בשדות הבאים:

    • TARGET_IP: כתובת ה-IP של שרת היעד.

    • TARGET_LABEL: התווית שהקציתם לשרת בקובץ ההגדרות של Barman.

    • BACKUP_ID: המזהה של הגיבוי שממנו רוצים לשחזר, שזיהיתם בשלב הקודם. לדוגמה: 20230810T210200.

    • DATA_PATH: הנתיב לספריית המשנה data של ספריית הנתונים של שרת היעד, לדוגמה /home/your-username/alloydb-data/data/18.

  1. בשרת מסד הנתונים של AlloyDB Omni, מפעילים את השירות:

    sudo systemctl start alloydbomni18

אחרי שהשירות יופעל מחדש, מתחברים לשרת AlloyDB Omni. אמורות להופיע מסדי הנתונים והנתונים ששוחזרו.

שחזור לנקודה ספציפית בזמן

כדי לבצע שחזור מערכת מנקודה מסוימת בזמן (PITR), פועלים לפי אותם השלבים שמפורטים בקטע הקודם, עם שינוי אחד. כשמריצים את הפקודה barman recover, צריך לציין גם אחת מאפשרויות שחזור מערכת מנקודה מסוימת בזמן (PITR) של Barman.

הפקודה הבאה מדגימה שימוש ב-barman recover עם AlloyDB Omni עם אפשרות לשחזור מערכת מנקודה מסוימת בזמן (PITR):

barman recover --remote-ssh-command "ssh postgres@TARGET_IP" TARGET_LABEL BACKUP_ID --target-time="TARGET_TIMESTAMP" DATA_PATH

מחליפים את מה שכתוב בשדות הבאים:

  • TARGET_IP: כתובת ה-IP של שרת היעד.

  • TARGET_LABEL: התווית שהקציתם לשרת בקובץ ההגדרות של Barman.

  • BACKUP_ID: המזהה של הגיבוי שממנו רוצים לשחזר, שזיהיתם בשלב הקודם. לדוגמה: 20230810T210200.

  • TARGET_TIMESTAMP: השעה שאליה רוצים לשחזר, בכל פורמט של PostgreSQL timestamp שמציין גם תאריך וגם שעה – לדוגמה, 2024-02-06 00:00:00.

  • DATA_PATH: הנתיב לספריית המשנה data של ספריית הנתונים של שרת היעד, לדוגמה /home/your-username/alloydb-data/data/18.