AlloyDB Omni תואם ל-PostgreSQL, ולכן פקודות וטכניקות שחזור הנתונים שמתוארות במדריך pgBackRest רלוונטיות גם ל-AlloyDB Omni. בדף הזה מוצגות כמה משימות שחזור נפוצות, עם דוגמאות לפקודות רלוונטיות.
מידע נוסף על הגדרת pgBackRest לעבודה עם AlloyDB Omni זמין במאמר הגדרת pgBackRest ל-AlloyDB Omni.
במאמר גיבוי ושחזור ב-Kubernetes מוסבר על מידע שמבוסס על Kubernetes.
לפני שמתחילים
לפני שמגדירים את AlloyDB Omni לעבודה עם pgBackrest, צריך להתקין את AlloyDB Omni ולהפעיל אותו בשרת שבשליטתכם.
שרת של מסד נתונים לטירגוט, שבו פועלת אותה גרסה ראשית של AlloyDB Omni כמו הגיבוי שרוצים לשחזר. מידע נוסף על התקנת AlloyDB Omni זמין במאמר התקנת AlloyDB Omni.
מאגר גיבוי של pgBackRest שמכיל לפחות גיבוי אחד של מסד הנתונים של AlloyDB Omni.
מספיק מקום בכונן בשרת היעד כדי להכיל את מסד הנתונים ששוחזר.
סקירה כללית
כדי לבצע שחזור של AlloyDB Omni באמצעות pgBackRest, מריצים את הפקודה pgbackrest restore. הפרמטרים שאתם מספקים לפקודה משתנים בהתאם למצב.
באופן כללי, מריצים את הפקודה pgbackrest restore עם דגלים שמספקים את המידע הבא:
- המיקום של קובץ ה-
pgbackrest.conf. - השם של מאגר הגיבויים של pgBackRest שרוצים לשחזר אליו. המאגרים האלה מוגדרים ונקראים בקובץ
pgbackrest.conf. - המיקום במערכת הקבצים המקומית שאליו ייכתבו הנתונים ששוחזרו.
- מזהה של הגיבוי הספציפי או של נקודת הזמן שרוצים לשחזר ממנה.
כשמריצים את הפקודות של pgbackrest restore בקונטיינר, חשוב להשתמש בנתיבים של מערכת הקבצים מנקודת המבט של הקונטיינר. לדוגמה, הנתיב לספריית הנתונים של AlloyDB Omni הוא תמיד /var/lib/postgresql/data, לא משנה איפה היא נמצאת בשרת המארח. מידע נוסף זמין במאמר בנושא הערה לגבי נתיבים במערכת הקבצים.
ביצוע שחזור לנקודת זמן
בדוגמה הזו מתבצע שחזור של נתונים ממאגר pgBackRest, ומוגדרת נקודת זמן ספציפית לשחזור. אם הגדרתם כמה מאגרים בקובץ pgbackrest.conf של סביבת היעד, pgBackRest בוחר את המאגר שממנו יתבצע השחזור על סמך הזמינות, המהירות הצפויה וגורמים אחרים.
בדוגמה הזו מניחים את הדברים הבאים:
יש לכם קובץ
pgbackrest.confברמה העליונה של ספריית הנתונים של AlloyDB Omni. כך הקובץ יהיה זמין ל-pgbackrestשמופעל בתוך קונטיינר בתור/var/lib/postgresql/data.הפעלתם גיבויים רציפים בהגדרות של pgBackRest.
בסביבת היעד, מבצעים שחזור PITR ומציינים חותמת זמן לשחזור:
Docker
docker exec CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/data \ --stanza=STANZA \ --type=time \ --pg1-path=/var/lib/postgresql/data/data-RESTORED \ --target="TIMESTAMP" \ restoreמחליפים את מה שכתוב בשדות הבאים:
CONTAINER_NAME: השם שהקציתם לקונטיינר של AlloyDB Omni כשהתקנתם אותו, לדוגמהmy-omni.
STANZA: בית התצורה, שמוגדר על ידי הקובץpgbackrest.conf, שצריך להחיל על השחזור הזה – לדוגמה,omni.
TIMESTAMP: הזמן שאליו רוצים לשחזר, לדוגמה2024-02-22 19:50:00.
Podman
podman exec CONTAINER_NAME pgbackrest \ --config-path=/var/lib/postgresql/data \ --stanza=STANZA \ --type=time \ --pg1-path=/var/lib/postgresql/data/data-RESTORED \ --target="TIMESTAMP" \ restoreמחליפים את מה שכתוב בשדות הבאים:
CONTAINER_NAME: השם שהקציתם לקונטיינר של AlloyDB Omni כשהתקנתם אותו, לדוגמהmy-omni.
STANZA: בית התצורה, שמוגדר על ידי הקובץpgbackrest.conf, שצריך להחיל על השחזור הזה – לדוגמה,omni.
TIMESTAMP: הזמן שאליו רוצים לשחזר, לדוגמה2024-02-22 19:50:00.
בסביבת היעד, עוצרים את הקונטיינר באמצעות הפקודה הבאה:
Docker
docker container stop CONTAINER_NAMEPodman
podman container stop CONTAINER_NAMEמשנים את השם של ספריית המשנה
dataשל ספריית הנתונים, כאמצעי בטיחות:cd DATA_DIRsudo mv data data-OLDמחליפים את הערך
DATA_DIRבנתיב של מערכת הקבצים לספריית הנתונים של AlloyDB Omni.מעבירים את הנתונים ששוחזרו למקום שלהם ומנקים את
postgresql.auto.conf:sudo mv data-RESTORED datasudo sed -i 's|data-RESTORED|data|' data/postgresql.auto.confמפעילים את מאגר AlloyDB Omni עם שרת מסד הנתונים:
Docker
docker container start CONTAINER_NAMEPodman
podman container start CONTAINER_NAME
עכשיו אפשר להתחבר למסד הנתונים באמצעות psql ולוודא שהנתונים שוחזרו כמו שצריך. אם כן, אפשר למחוק את העותק data-OLD של ספריית המשנה data שיצרתם קודם.
מידע נוסף על PITR ב-pgBackRest מופיע במאמר שחזור מערכת מנקודה מסוימת בזמן (PITR).
מידע נוסף על הכנת קובץ pgbackrest.conf לשימוש ב-AlloyDB Omni מופיע במאמר הגדרת pgBackRest ל-AlloyDB Omni.
אפשרויות אחרות
הפקודה pgbackrest restore היא גמישה מאוד, עם מגוון אפשרויות ותכונות שאפשר לשלוט בהן על ידי העברת אפשרויות שונות בשורת הפקודה. למשל:
- הגבלת השחזור רק לקבצים שהשתנו.
- שחזור רק של מסדי נתונים נבחרים.
במדריך המלא לביצוע שחזורים ב-pgBackRest, אפשר לקרוא את המאמר שחזור.