PostgreSQL היא מערכת חזקה של מסד נתונים יחסי מונחה-עצמים בקוד פתוח, שמבוססת על שפת SQL ומרחיבה אותה, וכוללת תכונות רבות שמאפשרות לאחסן בצורה בטוחה ולהרחיב את עומסי העבודה המורכבים ביותר של נתונים.
PostgreSQL backup API שמשמש את Backup and DR
גיבויים ברמת עוצמת הקול (מעקב אחר שינוי בלוקים ב-Linux ותמונת מצב של LVM): Backup and DR משתמש בפקודות
pg_start_backup(label)ו-pg_stop_backup()של PostgreSQL כשמבצעים גיבויים עם מעקב אחר שינוי בלוקים ב-Linux ותמונת מצב של LVM.גיבויים מלאים + מצטברים (מסורתיים מבוססי-קבצים): Backup and DR משתמש בפקודות הגיבוי מבוססות-קבצים של PostgreSQL
pg_dump. לפקודהpg_dumpאין אפשרות ללכידת שינויים מצטברים של מסד נתונים, ולכן כל גיבוי הוא גיבוי מלא של מסד הנתונים.שחזור מסד הנתונים מתבצע על ידי החלפה פיזית של אזור הנתונים.
גיבוי של יומני PostgreSQL: במהלך גיבוי של יומנים, Backup and DR מעתיק פיזית את כל יומני ה-WAL של PostgreSQL (
WriteAheadLog). כדי למחוק יומנים, Backup and DR משתמש בפקודה ברמת מערכת ההפעלה.
איך זה עובד: גיבוי מבוסס-נפח של Backup and DR עם CBT ב-Linux
רק בלוקים שהשתנו נרשמים במפת הסיביות: אין העתקה בעת כתיבה, אין פעולות שדורשות הרבה קלט/פלט.
השלבים הבאים מתארים את תהליך הגיבוי והשחזור של הנתונים:
לסוכן Backup and DR יש CBT למעקב אחרי בלוקים שהשתנו באזור הנתונים של מסד הנתונים.
הסוכן קורא ל-API של מסד הנתונים כדי להקפיא או להשהות את מסד הנתונים לצורך גיבוי נתונים.
הסוכן יוצר תמונת מצב של LVM של אזור הנתונים במסד הנתונים ומבצע סינתזה של מפת סיביות.
הסוכן שולח קריאה ל-API של מסד הנתונים כדי לבטל את ההקפאה של מסד הנתונים.
הסוכן מעתיק בלוקים שהשתנו למכשיר גיבוי/שחזור, ואז מוחק את התמונה ומקטלג את הגיבוי.
ההתקן יוצר תמונת מצב פנימית ומבצע סינתזה של גיבוי וירטואלי מלא לנקודת זמן מסוימת.
לצורך שחזור נתונים, Backup and DR יוצר באופן מיידי דיסק זמני שאפשר לכתוב בו, ומעביר את מסד הנתונים למצב אונליין.
הפקודה להשהיה או להסרה של ההשהיה מופעלת בפרימרי עבור משימת צילום תמונת מצב ברמת עוצמת הקול:
select pg_start_backup(<label>);
select pg_stop_backup();
הפקודות quiesce ו-unquiesce מופעלות בצומת במצב המתנה עבור משימת צילום תמונת מצב ברמת עוצמת הקול:
אם גרסת PostgreSQL היא 10.x ואילך:
select pg_wal_replay_pause();
select pg_wal_replay_resume();
אם גרסת PostgreSQL היא 9.x:
select pg_xlog_replay_pause();
select pg_xlog_replay_resume();
איך זה עובד: גיבוי מבוסס-קבצים
בשלבים הבאים מוסבר איך לבצע גיבוי ושחזור של נתונים באמצעות גיבויים מבוססי-קבצים:
סוכן Backup and DR נפרס בשרת מסד הנתונים.
מבצעים Mount לדיסק ההכנה בשרת מסד הנתונים.
מפעילים גיבוי מלא באמצעות הפקודה dump backup, וכותבים את הגיבוי בדיסק המותקן.
Backup and DR יוצר תמונת מצב פנימית. גיבויים של יומנים מתבצעים באופן דומה ישירות ממערכת הקבצים לפי כל לוח זמנים שתגדירו.
לשחזור נתונים, Backup and DR מעלה באופן מיידי את דיסק הביניים לשרת מסד הנתונים ומתחילה את פעולת השחזור של מסד הנתונים. אחרי שמשחזרים את מסד הנתונים, אפשר להפעיל את היומנים בכל נקודת זמן.
המאמרים הבאים
הכנת מסד הנתונים ל-Backup and DR
מסמכים נוספים בנושא Backup and DR for PostgreSQL
- Backup and DR ל-PostgreSQL
- הכנת מסד הנתונים ל-Backup and DR
- הוספת מארח של מסד נתונים PostgreSQL וגילוי מסדי נתונים
- הגדרת תבניות של מדיניות ופרופילים של משאבים
- הגדרת הפרטים וההגדרות של האפליקציה
- בדיקת הפורמט של דיסק ההכנה והשיטה לגיבוי
- הגנה על מסד הנתונים של PostgreSQL והיומנים שלו
- איך מטמיעים מסד נתונים של PostgreSQL
- שחזור גיבויים של PostgreSQL
- יצירת תהליך עבודה של גיבוי ו-DR ב-PostgreSQL