alloydbctl ו-Ansible כדי להחיל את ההגדרות האלה של קובץ המניפסט ולבצע אוטומציה של גיבויים ל-Cloud Storage, לקטגוריות רגילות של Amazon S3 או לתוכנה שתואמת ל-S3, כמו MinIO.
כדי להפעיל גיבוי ושחזור רציפים ב-AlloyDB Omni, צריך ליצור תוכנית גיבוי לכל אשכול של מסדי נתונים. הגיבויים מתבצעים על סמך לוחות הזמנים של הגיבויים שמוגדרים במשאב BackupPlan. אפשר לשחזר באמצעות משאב גיבוי או כל חותמת זמן בחלון השחזור ברמת פירוט של שניות.
ב-AlloyDB Omni, הגיבויים והשחזורים האוטומטיים מנוהלים באמצעות מניפסטים:
-
BackupPlan: לכל אשכול מסדי נתונים יכול להיות מניפסט אחד או יותר שלBackupPlanעם הגדרות ולוחות זמנים שונים ברמות גיבוי שונות. -
Backup: הפעלה של גיבויים מלאים, דיפרנציאליים או מצטברים על סמך המניפסטים שלBackupPlan. Restore: הפעלה של שחזור במקום של אשכול מסד הנתונים באמצעות גיבוי ספציפי או נקודת זמן ספציפית.
לפני שמתחילים
לפני שמגדירים את תוכנית הגיבוי, צריך לוודא שיש לכם את הדברים הבאים:
מיקום לאחסון הגיבויים: ב-AlloyDB Omni אפשר לאחסן גיבויים באחת מאפשרויות האחסון הבאות:
- Cloud Storage: קטגוריה של Cloud Storage. במאמר יצירת קטגוריה מוסבר איך יוצרים קטגוריות.
- Amazon S3: קטגוריה ב-Amazon S3. במאמר יצירת קטגוריה מוסבר איך ליצור קטגוריות S3.
- אחסון שתואם ל-S3: קטגוריה בתוכנה שתואמת ל-S3, כמו MinIO. במסמכי התיעוד של MinIO מוסבר איך יוצרים קטגוריות ב-MinIO.
פרטי כניסה לאימות: אם אפשרות האחסון שלכם דורשת מפתחות אימות כמו Amazon S3, MinIO או Cloud Storage עם חשבון שירות ספציפי, אתם צריכים ליצור משאב
Secretשמכיל את פרטי הכניסה האלה לפני שאתם יוצרים את תוכנית הגיבוי. להוראות, ראו יצירת משאב Secret לאימות האחסון.
יצירת משאב Secret לאימות אחסון
אם האחסון שבו אתם משתמשים דורש אימות, אתם צריכים ליצור משאב Secret לפני שאתם יוצרים את תוכנית הגיבוי.
יצירת משאב סודי ל-Cloud Storage
- יוצרים חשבון שירות כדי להוסיף גיבויים לדלי.
- מקצים לחשבון השירות את התפקיד
roles/storage.objectAdminבממשק לניהול זהויות והרשאות גישה (IAM) בקטגוריה. - יצירת מפתח לחשבון שירות בפורמט JSON.
- מקודדים את התוכן של קובץ מפתח ה-JSON שהורדתם בקידוד base64. מריצים את הפקודה
base64 -w 0או מוודאים שהטקסט המקודד הוא שורה אחת רציפה. יוצרים
Secretמניפסט של משאבים. שם המפתח בקטעdataחייב להיותkey.json.Secret: metadata: name: SECRET_NAME spec: type: Opaque data: key.json: "BASE64_ENCODED_JSON_KEY"מחליפים את מה שכתוב בשדות הבאים:
-
SECRET_NAME: השם של משאבSecret. -
BASE64_ENCODED_JSON_KEY: התוכן בקידוד base64 של קובץ מפתח ה-JSON של חשבון השירות.
-
יצירת משאב Secret לאחסון ב-S3 או לאחסון תואם S3
- מקודדים את המזהה של מפתח הגישה ל-S3 ב-base64.
- מקודדים את מפתח הגישה הסודי של S3 בקידוד Base64.
יוצרים
Secretמניפסט של משאבים. שמות המפתחות בקטעdataצריכים להיותaccess-key-idו-access-key.Secret: metadata: name: SECRET_NAME spec: type: Opaque data: access-key-id: "BASE64_ENCODED_ACCESS_KEY_ID" access-key: "BASE64_ENCODED_SECRET_ACCESS_KEY"מחליפים את מה שכתוב בשדות הבאים:
-
SECRET_NAME: השם של המשאב ב-Secret. -
BASE64_ENCODED_ACCESS_KEY_ID: מזהה מפתח הגישה ל-S3 בקידוד base64. -
BASE64_ENCODED_SECRET_ACCESS_KEY: מפתח הגישה הסודי של S3 בקידוד base64.
-
החלת מקור הסוד
מחילים את מניפסט המשאבים Secret לפני שמחילים את מניפסט BackupPlan.
אפשר להחיל את מניפסט המשאבים Secret באחת מהשיטות הבאות:
alloydbctl
כדי להחיל את מניפסט המשאבים של Secret באמצעות alloydbctl, מריצים את הפקודה הבאה:
alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"מחליפים את המשתנים הבאים:
-
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni. -
SECRET_MANIFEST: הנתיב למניפסט המשאבים שלSecretשיצרתם.
Ansible
כדי להחיל את מניפסט המשאבים Secret באמצעות Ansible, מבצעים את הפעולות הבאות:
יצירת מדריך הפעלה למניפסט המשאבים
Secret:- name: Create Secret hosts: localhost become: true vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupמחליפים את המשתנים הבאים:
-
ANSIBLE_USER: משתמש במערכת ההפעלה שמשמש את Ansible כדי להתחבר לצמתים של AlloyDB Omni. -
ANSIBLE_SSH_PRIVATE_KEY_FILE: המפתח הפרטי שמשמש את Ansible לחיבור לצמתים של AlloyDB Omni באמצעות SSH.
-
מחילים את מניפסט המשאבים של
Secret:ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="SECRET_MANIFEST"מחליפים את המשתנים הבאים:
-
SECRET_PLAYBOOK: הנתיב ל-playbook שיצרתם עבור מניפסט המשאבים שלSecret. -
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni. -
SECRET_MANIFEST: הנתיב למניפסט המשאבים שלSecretשיצרתם.
-
יצירת תוכנית גיבוי
יוצרים מניפסט של
BackupPlanבפורמט שמתאים לאפשרות האחסון:Cloud Storage
השדה
gcsOptionsהוא חובה.BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"מחליפים את המשתנים הבאים:
BACKUP_PLAN_NAME: השם של קובץ המניפסטBackupPlan. לדוגמה,my-backup-plan-1.
DBCLUSTER_NAME: השם של אשכול מסד הנתונים שהגדרתם בשלב יצירת אשכול.
BUCKET_NAME: השם של הקטגוריה שיצרתם ב-Cloud Storage.
BUCKET_PATH: הנתיב לספרייה ב-Cloud Storage שאליה ייכתבו הגיבויים. חובה לציין נתיב מוחלט שמתחיל ב-/. לדוגמה,/backups.
SECRET_NAME(אופציונלי): שם המשאב ב-Secretשבו מאוחסנים מפתחות האימות.RETAIN_DAYS(אופציונלי): מספר הימים לשמירת הגיבויים לפני שהם נמחקים באופן אוטומטי.FULL_SCHEDULE(אופציונלי): ביטוי לתזמון cron של גיבויים מלאים. לדוגמה,0 2 * * *.DIFF_SCHEDULE(אופציונלי): ביטוי לתזמון cron לגיבויים דיפרנציאליים. לדוגמה,0 2 * * *.INC_SCHEDULE(אופציונלי): ביטוי לוח זמנים של cron לגיבויים מצטברים. לדוגמה,0 2 * * *.
Amazon S3 או תאימות ל-S3
השדה
s3Optionsהוא חובה.BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: S3 s3Options: bucket: BUCKET_NAME key: BUCKET_PATH endpoint: ENDPOINT_URL region: REGION secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"מחליפים את המשתנים הבאים:
BACKUP_PLAN_NAME: השם של קובץ המניפסטBackupPlan. לדוגמה,my-backup-plan-1.
DBCLUSTER_NAME: השם של אשכול מסד הנתונים שהגדרתם ביצירת אשכול.
BUCKET_NAME: השם של קטגוריית ה-S3 שיצרתם.
BUCKET_PATH: הנתיב לספרייה בקטגוריית S3 שאליה צריך לכתוב את הגיבויים. צריך לציין נתיב מוחלט שמתחיל ב-/. לדוגמה,/backups.
ENDPOINT_URL: כתובת URL של נקודת קצה בהתאמה אישית לחיבור לתוכנה שתואמת ל-S3, כמו MinIO. לדוגמה,http://minio.example.com:9000. לקטגוריות של Amazon S3 לא צריך לספק כתובת URL של נקודת קצה.
REGION_(אופציונלי): האזור של קטגוריית האחסון. נדרש כשמתחברים לקטגוריות רגילות של Amazon S3 או לתוכנה שתואמת ל-S3 שבה מתבצע אימות אזור.
SECRET_NAME: הפניה למשאבSecretשיצרתם קודם, שמכיל אתACCESS_KEY_IDו-SECRET_ACCESS_KEY.RETAIN_DAYS(אופציונלי): מספר הימים לשמירת הגיבויים לפני שהם נמחקים באופן אוטומטי.FULL_SCHEDULE(אופציונלי): ביטוי לתזמון cron של גיבויים מלאים. לדוגמה,0 2 * * *.DIFF_SCHEDULE(אופציונלי): ביטוי לתזמון cron לגיבויים דיפרנציאליים. לדוגמה,0 2 * * *.INC_SCHEDULE(אופציונלי): ביטוי לוח זמנים של cron לגיבויים מצטברים. לדוגמה,0 2 * * *.
מפעילים את תוכנית הגיבוי באחת מהשיטות הבאות:
alloydbctlהחלת המשאב של
BackupPlan:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"מחליפים את המשתנים הבאים:
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_PLAN_MANIFEST: הנתיב למניפסט שלBackupPlanשיצרתם קודם.
מוודאים ששדה הסטטוס,
status.phase, של קובץ המניפסטBackupPlanהואReady. אם המניפסט לא מוכן, צריך לחכות עד שהוא יהיה מוכן:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
יוצרים מדריך הפעלה למניפסט
BackupPlan:- name: BACKUP_PLAN_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupמחליפים את המשתנים הבאים:
BACKUP_PLAN_PLAYBOOK_NAME: השם של קובץ ה-playbook של Ansible. לדוגמה,My BackupPlan. שימו לב לנתיב של ה-playbook, כי תצטרכו אותו בשלב הבא.
ANSIBLE_USER: שם המשתמש במערכת ההפעלה שמשמש את Ansible כדי להתחבר לצומתי AlloyDB Omni.
ANSIBLE_SSH_PRIVATE_KEY_FILE: המפתח הפרטי שמשמש את Ansible לחיבור לצמתים של AlloyDB Omni באמצעות SSH.
החלת המשאב של
BackupPlan:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"מחליפים את המשתנים הבאים:
BACKUP_PLAN_PLAYBOOK: הנתיב לפלייבוק שיצרתם קודם למניפסט שלBackupPlan.
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_PLAN_MANIFEST: הנתיב למניפסט שלBackupPlanשיצרתם קודם.
יוצרים
status.yamlplaybook אם עדיין לא עשיתם את זה. במאמר הצגת הסטטוס והרשימה של משאבי הגיבוי מוסבר איך ליצור את הפלייבוק.מוודאים ששדה הסטטוס
status.phaseשל המניפסטBackupPlanהואReady. אם המניפסט לא מוכן, צריך לחכות עד שהוא יהיה מוכן:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
עדכון של תוכנית גיבוי
כדי לעדכן תוכנית גיבוי ולשנות את לוח הזמנים של הגיבוי, לשנות את תקופת השמירה או להשהות גיבויים מתוזמנים, צריך לשנות את קובץ המניפסט BackupPlan ואז להחיל אותו מחדש.
פותחים את המניפסט של
BackupPlanשיצרתם ביצירת תוכנית גיבוי.משנים את השדות שרוצים לעדכן.
- כדי לעדכן את תזמוני הגיבוי, משנים את ביטויי ה-cron בקטע
backupSchedules. - כדי לעדכן את תקופת השמירה, משנים את הערך
backupRetainDays. - כדי להשהות גיבויים מתוזמנים, מוסיפים את השדה
pausedלקטעspecומגדירים אותו כ-true. כדי להמשיך את הגיבויים, צריך להגדיר את השדה לערךfalseאו להסיר את השדה.
לדוגמה, בדוגמה הבאה מעדכנים את ימי השמירה ל-
30, משנים את לוחות הזמנים שלfullו-differential, מוסיפים לוח זמנים שלincrementalומשהים את תוכנית הגיבוי:BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: 30 backupSchedules: full: "0 4 * * *" differential: "0 0 * * 0" incremental: "0 12 * * *" paused: true- כדי לעדכן את תזמוני הגיבוי, משנים את ביטויי ה-cron בקטע
כדי להחיל את תוכנית הגיבוי המעודכנת, משתמשים באחת מהשיטות הבאות:
alloydbctlהחלת המשאב של
BackupPlan:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"מחליפים את המשתנים הבאים:
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_PLAN_MANIFEST: הנתיב למניפסטBackupPlanששיניתם.
מוודאים ששדה הסטטוס,
status.phase, של קובץ המניפסטBackupPlanהואReady. אם המניפסט לא מוכן, צריך לחכות עד שהוא יהיה מוכן:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
מחילים את המשאב המעודכן של
BackupPlanבאמצעות הפלייבוק שיצרתם בקטע יצירת תוכנית גיבוי:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"מחליפים את המשתנים הבאים:
BACKUP_PLAN_PLAYBOOK: הנתיב לפלייבוק שיצרתם למניפסט שלBackupPlan.
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_PLAN_MANIFEST: הנתיב למניפסטBackupPlanששיניתם.
יוצרים
status.yamlplaybook אם עדיין לא עשיתם את זה. מידע על יצירת תוכנית הפעולה מופיע במאמר הצגת הסטטוס ורשימת משאבי הגיבוי.מוודאים ששדה הסטטוס,
status.phase, של קובץ המניפסטBackupPlanהואReady. אם המניפסט לא מוכן, צריך לחכות עד שהוא יהיה מוכן לפני האימות:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
מחיקה של תוכנית גיבוי
כדי למחוק תוכנית גיבוי, משתמשים באחת מהשיטות הבאות:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAMEמחליפים את המשתנים הבאים:
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_PLAN_NAME: השם של המניפסט שלBackupPlanשרוצים למחוק.
Ansible
צור פלייבוק למחיקת המניפסט של
BackupPlan.- name: BACKUP_PLAN_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.deleteמחליפים את המשתנים הבאים:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: השם של ה-playbook ב-Ansible.
ANSIBLE_USER: משתמש במערכת ההפעלה ש-Ansible משתמש בו כדי להתחבר לצמתים של AlloyDB Omni.
ANSIBLE_SSH_PRIVATE_KEY_FILE: המפתח הפרטי שמשמש את Ansible כדי להתחבר לצומתי AlloyDB Omni באמצעות SSH.
מריצים את
ansible-playbookכדי למחוק את המניפסטBackupPlan.ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAMEמחליפים את המשתנים הבאים:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: הנתיב לפלייבוק שיצרתם למחיקת המניפסט שלBackupPlanבשלב הקודם.
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_PLAN_NAME: השם שלBackupPlanהמניפסט שרוצים למחוק.
יצירת גיבוי
כדי ליצור גיבוי ולהתחיל אותו, משתמשים באחת מהשיטות הבאות:
alloydbctl
יוצרים מניפסט של
Backupבפורמט הבא:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullמחליפים את המשתנים הבאים:
BACKUP_NAME: השם של מניפסטBackup. לדוגמה,my-backup-1.
BACKUP_PLAN_NAME: השם שלBackupPlanהמאניפסט שיצרתם קודם. לדוגמה:my-backup-plan-1.
DBCLUSTER_NAME: השם של אשכול מסד הנתונים שהגדרתם ביצירת אשכול.
type(אופציונלי): סוג הגיבוי, שיכול להיותfull, diffאוincr. ברירת המחדל היאfull.
מחילים את המניפסט של
Backup:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"מחליפים את המשתנים הבאים:
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_MANIFEST: הנתיב אלBackupהמניפסט שיצרתם קודם.
מוודאים ששדה הסטטוס
status.phaseשל המניפסטBackupהואSucceeded. אם המניפסט לא הצליח, צריך לחכות עד שהוא יצליח:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yamlמוודאים שקובצי הגיבוי זמינים בקטגוריה, על ידי בדיקה אם התיקייה
/backup/dbקיימת.
Ansible
יוצרים מניפסט של
Backupבפורמט הבא:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullמחליפים את המשתנים הבאים:
BACKUP_NAME: השם של מניפסטBackup. לדוגמה,my-backup-1.
BACKUP_PLAN_NAME: שם המניפסט שלBackupPlanשיצרתם קודם. לדוגמה:my-backup-plan-1.
DBCLUSTER_NAME: השם של אשכול מסד הנתונים שהגדרתם ביצירת אשכול.type(אופציונלי): סוג ההפעלה של הגיבוי, שאפשר להגדיר אותו כ-full,diffאוincr. ברירת המחדל היאfull.
יוצרים פלייבוק למניפסט של
Backup:- name: BACKUP_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backupמחליפים את המשתנים הבאים:
BACKUP_PLAYBOOK_NAME: השם של ה-playbook ב-Ansible. לדוגמה,My Backup.
ANSIBLE_USER: השם של משתמש מערכת ההפעלה שמשמש את Ansible כדי להתחבר לצמתים של AlloyDB Omni.
ANSIBLE_SSH_PRIVATE_KEY_FILE: המפתח הפרטי שמשמש את Ansible כדי להתחבר לצומתי AlloyDB Omni באמצעות SSH.
מחילים את המניפסט של
Backup:ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_MANIFEST"מחליפים את המשתנים הבאים:
BACKUP_PLAYBOOK: הנתיב ל-playbook שיצרתם עבור מניפסטBackupשיצרתם קודם.
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבים של AlloyDB Omni.
BACKUP_MANIFEST: הנתיב למניפסט שלBackupשיצרתם קודם.
יוצרים
status.yamlplaybook אם עדיין לא עשיתם את זה. במאמר הצגת הסטטוס והרשימה של משאבי הגיבוי מוסבר איך ליצור את הפלייבוק.מוודאים ששדה הסטטוס,
status.phase, במניפסטBackupהואSucceeded. אם המניפסט לא הצליח, צריך להמתין עד שהוא יצליח לפני האימות:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEכדי לוודא שקובצי הגיבוי זמינים בדלי, בודקים אם התיקייה
/backup/dbקיימת.
מחיקת גיבוי
כדי למחוק גיבוי, מריצים אחת מהפקודות הבאות:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAMEמחליפים את המשתנים הבאים:
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_NAME: השם של המניפסט שלBackupשרוצים למחוק.
Ansible
צור פלייבוק למחיקת המניפסט של
Backup.- name: BACKUP_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.deleteמחליפים את המשתנים הבאים:
BACKUP_DELETE_PLAYBOOK_NAME: השם של ה-playbook ב-Ansible.
ANSIBLE_USER: משתמש במערכת ההפעלה ש-Ansible משתמש בו כדי להתחבר לצומתי AlloyDB Omni.
ANSIBLE_SSH_PRIVATE_KEY_FILE: המפתח הפרטי שמשמש את Ansible לחיבור לצמתים של AlloyDB Omni באמצעות SSH.
מריצים את
ansible-playbookכדי למחוק את המניפסטBackup.ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEמחליפים את המשתנים הבאים:
BACKUP_DELETE_PLAYBOOK: הנתיב ל-playbook שיצרתם למחיקת המניפסט שלBackupבשלב הקודם.
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
BACKUP_NAME: שם המניפסט שלBackupשרוצים למחוק.
שחזור מגיבוי או מנקודת זמן (PITR)
כדי לשחזר נתונים מגיבוי, צריך להחיל מניפסט Restore. התזמור של RPM מבצע שחזור במקום, שמשנה את אשכול מסד הנתונים של היעד ישירות בלי להפעיל אשכול משוכפל או לדרוש הפעלה ידנית של סקריפט.
כדי לשחזר מגיבוי, משתמשים באחת מהשיטות הבאות:
alloydbctl
יוצרים מניפסט של
Restoreבפורמט הבא:- כדי לשחזר מהרצת גיבוי ספציפית עם שם:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEכדי לבצע שחזור לנקודה בזמן (PITR):
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
מחליפים את המשתנים הבאים:
RESTORE_NAME: שם למניפסטRestoreהזה. לדוגמה,my-restore-1.
DBCLUSTER_NAME: השם של אשכול מסד הנתונים של היעד לשחזור במקום.
BACKUP_NAME: שם המניפסט המלא שלBackupשממנו רוצים לשחזר.
TIMESTAMP: חותמת זמן RFC 3339 שמזהה את הנקודה המדויקת בזמן שאליה רוצים לשחזר. לדוגמה,2026-06-19T14:30:00Z.
החלת מניפסט
Restore:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"מחליפים את המשתנים הבאים:
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה שיצרתם בקטע התקנת רכיבי AlloyDB Omni.
RESTORE_MANIFEST: הנתיב לקובץ המפרט של המניפסט שלRestoreשיצרתם בשלב 1.
מוודאים שהערך של
status.phaseבמניפסט שלRestoreמשתנה ל-Succeeded:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml
Ansible
יוצרים קובץ
Restoreמניפסט בפורמט הבא:- כדי לשחזר מהרצת גיבוי ספציפית עם שם:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEכדי לבצע שחזור לנקודה בזמן (PITR):
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
מחליפים את המשתנים הבאים:
RESTORE_NAME: שם למניפסטRestoreהזה. לדוגמה,my-restore-1.
DBCLUSTER_NAME: השם של אשכול מסד הנתונים של היעד לשחזור במקום.
BACKUP_NAME: שם המניפסט המלא שלBackupשממנו רוצים לשחזר.
TIMESTAMP: חותמת זמן לפי RFC 3339 שמזהה את הנקודה המדויקת בזמן שאליה רוצים לשחזר. לדוגמה,2026-06-19T14:30:00Z.
יוצרים פלייבוק למניפסט של
Restore:- name: RESTORE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.restoreמחליפים את המשתנים הבאים:
RESTORE_PLAYBOOK_NAME: השם של קובץ ה-playbook של Ansible.
ANSIBLE_USER: משתמש במערכת ההפעלה ש-Ansible משתמש בו כדי להתחבר לצמתים של AlloyDB Omni.
ANSIBLE_SSH_PRIVATE_KEY_FILE: המפתח הפרטי שמשמש את Ansible לחיבור לצמתים של AlloyDB Omni באמצעות SSH.
מחילים את המניפסט של
Restore:ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="RESTORE_MANIFEST"מחליפים את המשתנים הבאים:
RESTORE_PLAYBOOK: הנתיב לפלייבוק שיצרתם למניפסט שלRestoreבשלב 2.
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה.
RESTORE_MANIFEST: הנתיב לקובץ מפרט המניפסטRestoreשיצרתם בשלב 1.
אם עדיין לא עשיתם את זה, צרו פלייבוק של
status.yaml. במאמר הצגת הסטטוס והרשימה של משאבי הגיבוי מוסבר איך ליצור את הפלייבוק.מוודאים ש-
status.phaseבמניפסט שלRestoreמשתנה ל-Succeeded:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \ -e resource_name=RESTORE_NAME
הצגת הסטטוס ורשימת משאבי הגיבוי
כדי להציג את הסטטוס של המשאבים BackupPlan, Backup ו-Restore או להציג אותם ברשימה, אפשר להשתמש באחת מהשיטות הבאות:
alloydbctl
כדי להציג רשימה של כל המשאבים מסוג מסוים, מריצים את הפקודה alloydbctl get:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPEכדי לראות את הסטטוס של משאב ספציפי, מריצים את הפקודה alloydbctl get עם שם המשאב ופורמט הפלט שמוגדר ל-yaml:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yamlמחליפים את המשתנים הבאים:
-
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה. -
RESOURCE_TYPE: סוג המשאב. מגדירים את הערךBackupPlan, BackupאוRestore. -
RESOURCE_NAME: השם של המשאב שרוצים לראות את הסטטוס שלו.
Ansible
כדי לראות את הסטטוס של משאבים או לפרט אותם באמצעות Ansible, משתמשים בתפקיד google.alloydbomni_orchestrator.status.
יוצרים פלייבוק, לדוגמה
status.yaml, בפורמט הבא:- name: Get resource status hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.statusמחליפים את המשתנים הבאים:
-
ANSIBLE_USER: משתמש במערכת ההפעלה ש-Ansible משתמש בו כדי להתחבר לצמתים. -
ANSIBLE_SSH_PRIVATE_KEY_FILE: המפתח הפרטי שמשמש את Ansible כדי להתחבר לצמתים באמצעות SSH.
-
מפעילים את הפלייבוק.
כדי להציג רשימה של כל המשאבים מסוג מסוים, מריצים את פלייבוק עם המשתנה
resource_type:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPEכדי לראות את הסטטוס של משאב ספציפי, מריצים את ה-playbook עם המשתנים
resource_typeו-resource_name:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \ -e resource_name=RESOURCE_NAMEמחליפים את המשתנים הבאים:
-
DEPLOYMENT_SPEC_PATH: הנתיב למפרט הפריסה. -
RESOURCE_TYPE: סוג המשאב. מגדירים את הערךBackupPlan, BackupאוRestore. -
RESOURCE_NAME: שם המשאב שאת הסטטוס שלו רוצים לראות.
-
מגבלות
- אם הסטטוס
BackupPlanמופיע עםConfigurationFailedfailed to create stanza(קוד יציאה39), אפשר להמשיך את תהליך ההתאמה על ידי הקצאת התפקידroles/storage.objectAdminבדלי והחלה מחדש של המניפסט. אין צורך למחוק אתBackupPlan.