במאמר הזה נסביר איך להתחיל ולהפסיק שכפול אסינכרוני.
שכפול אסינכרוני שימושי להתאוששות מאסון עם RPO נמוך ו-RTO נמוך. מידע נוסף על שכפול אסינכרוני
מגבלות
- אפשר לשכפל דיסק ראשי רק לדיסק משני אחד בכל פעם.
- אחרי שהשכפול מפסיק, אי אפשר להמשיך את השכפול לאותו דיסק. תצטרכו ליצור דיסק משני חדש ולהפעיל מחדש את השכפול.
- אי אפשר לצרף, למחוק או ליצור תמונת מצב של דיסקים משניים בזמן שהם בתהליך השכפול.
- אם משתמשים בדיסק אזורי כבדיסק משני, ומתרחש הפסקת חשמל אזורית באחד מהאזורים של הדיסק המשני, השכפול מהדיסק הראשי לדיסק המשני נכשל.
לפני שמתחילים
- אם אתם צריכים ליישר את השכפול בין כמה דיסקים, אתם יכולים ליצור קבוצת עקביות.
- יצירת דיסק ראשי.
- יצירת דיסק משני
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
תפקידים והרשאות נדרשים
כדי לקבל את ההרשאות שדרושות להפעלה או להפסקה של שכפול, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- מנהל מכונות של Compute (גרסה 1) (
roles/compute.instanceAdmin.v1) -
כדי להתחבר למופע שמצורף אליו חשבון שירות:
משתמש בחשבון שירות (גרסה 1) (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות להפעלה או להפסקה של שכפול. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להתחיל או להפסיק שכפול, נדרשות ההרשאות הבאות:
-
כדי להתחיל שכפול:
compute.disks.startAsyncReplication -
כדי להפסיק את השכפול של דיסק אחד:
compute.disks.stopAsyncReplication -
כדי להפסיק את השכפול של כל הדיסקים בקבוצת עקביות:
compute.disks.stopGroupAsyncReplication
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
התחלת השכפול
מתחילים את השכפול באמצעות מסוף Google Cloud , Google Cloud CLI, REST או Terraform.
המסוף
נכנסים לדף Asynchronous replication במסוף Google Cloud .
לוחצים על השם של הדיסק המשני שאליו רוצים להתחיל לשכפל.
לוחצים על התחלת השכפול. נפתח החלון התחלת שכפול.
לוחצים על התחלת השכפול.
gcloud
מתחילים את השכפול באמצעות הפקודה gcloud compute disks start-async-replication:
gcloud compute disks start-async-replication PRIMARY_DISK_NAME \
--PRIMARY_LOCATION_FLAG=PRIMARY_LOCATION \
--secondary-disk=SECONDARY_DISK_NAME \
--SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \
--secondary-disk-project=SECONDARY_PROJECT
מחליפים את מה שכתוב בשדות הבאים:
-
PRIMARY_DISK_NAME: השם של הדיסק הראשי. -
PRIMARY_LOCATION_FLAG: דגל המיקום של הדיסק הראשי. לדיסקים אזוריים, צריך להשתמש ב---region. לדיסקים אזוריים, צריך להשתמש ב---zone. -
PRIMARY_LOCATION: האזור או האזור הזמין של הדיסק הראשי. לדיסקים אזוריים, משתמשים באזור. לדיסקים אזוריים, משתמשים באזור. -
SECONDARY_DISK_NAME: השם של הדיסק המשני. -
SECONDARY_LOCATION_FLAG: דגל המיקום של הדיסק המשני. לדיסקים אזוריים, צריך להשתמש ב---secondary-disk-region. לדיסקים אזוריים, משתמשים ב---secondary-disk-zone. -
SECONDARY_LOCATION: האזור או התחום של הדיסק המשני. לדיסקים אזוריים, משתמשים באזור. לדיסקים אזוריים, משתמשים באזור. -
SECONDARY_PROJECT: הפרויקט שמכיל את הדיסק המשני.
המשך
Java
Node.js
Python
REST
מתחילים את השכפול באחת מהשיטות הבאות:
מתחילים שכפול של דיסקים אזוריים באמצעות השיטה
disks.startAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/zones/PRIMARY_LOCATION/disks/PRIMARY_DISK_NAME/startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME" }מתחילים שכפול של דיסקים אזוריים באמצעות השיטה
regionDisks.startAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/regions/PRIMARY_LOCATION/regionDisks/PRIMARY_DISK_NAME/startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME" }
מחליפים את מה שכתוב בשדות הבאים:
-
PRIMARY_DISK_PROJECT: הפרויקט שמכיל את הדיסק הראשי. -
PRIMARY_LOCATION: האזור או האזור הזמין של הדיסק הראשי. לדיסקים אזוריים, משתמשים באזור. לדיסקים אזוריים, משתמשים באזור. -
PRIMARY_DISK_NAME: השם של הדיסק הראשי. -
SECONDARY_DISK_PROJECT: הפרויקט שמכיל את הדיסק המשני. -
SECONDARY_LOCATION_PARAMETER: פרמטר המיקום של הדיסק המשני. לדיסקים אזוריים, צריך להשתמש ב-regions. לדיסקים אזוריים, משתמשים ב-zones. -
SECONDARY_LOCATION: האזור או התחום של הדיסק המשני. לדיסקים אזוריים, משתמשים באזור. לדיסקים אזוריים, משתמשים באזור. -
SECONDARY_DISK_NAME: השם של הדיסק המשני.
Terraform
כדי להתחיל שכפול בין דיסקים ראשיים ומשניים, משתמשים במשאב compute_disk_async_replication.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
הפסקת השכפול
אפשר להפסיק את השכפול של דיסק ראשי או משני יחיד, או של כל הדיסקים בקבוצת עקביות. אם מפסיקים את השכפול של דיסק יחיד בקבוצת עקביות, זמן השכפול של הדיסק הזה לא מסונכרן עם הדיסקים האחרים בקבוצת העקביות.
הפסקת השכפול מתבצעת בתרחישים של מעבר לגיבוי פעיל וחזרה מגיבוי פעיל. אם מפסיקים את השכפול, אי אפשר להפעיל אותו מחדש לאותו דיסק משני. אם רוצים להפעיל מחדש את השכפול, צריך ליצור דיסק משני חדש ולהתחיל מחדש.
כשמפסיקים את השכפול בדיסק, מצב השכפול של הדיסק משתנה ל-STOPPED. מצב השכפול של הדיסק השני בצמד השכפול של הדיסק (הדיסק הראשי או המשני התואם) מתעדכן ל-STOPPED בשלב מאוחר יותר. אם רוצים להימנע מהפער בזמן ולעדכן את מצב השכפול של הדיסק השני ל-STOPPED באופן מיידי, צריך להפסיק את השכפול גם בדיסק השני באופן ידני. הפסקת השכפול בשני הדיסקים לא משפיעה על הזמן שבו השכפול מפסיק, אלא רק על מצבי השכפול של הדיסקים.
הפסקת השכפול של דיסק יחיד
אפשר להפסיק את השכפול של דיסק יחיד באמצעות מסוף Google Cloud , Google Cloud CLI או REST.
המסוף
כדי להפסיק את השכפול:
נכנסים לדף Asynchronous replication במסוף Google Cloud .
לוחצים על השם של הדיסק הראשי או המשני שרוצים להפסיק את השכפול שלו. ייפתח הדף ניהול הדיסק.
לוחצים על הפסקת השכפול. נפתח החלון סיום השכפול.
לוחצים על הפסקת השכפול.
gcloud
מפסיקים את השכפול באמצעות הפקודה gcloud compute disks stop-async-replication:
gcloud compute disks stop-async-replication DISK_NAME \
--LOCATION_FLAG=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: שם הדיסק. -
LOCATION_FLAG: דגל המיקום של הדיסק. לדיסק אזורי, משתמשים ב---region. לדיסק אזורי, משתמשים ב---zone. -
LOCATION: האזור או התחום של הדיסק. לדיסקים אזוריים, משתמשים באזור. לדיסקים אזוריים, משתמשים באזור.
המשך
Java
Node.js
Python
REST
כדי להפסיק את השכפול, משתמשים באחת מהשיטות הבאות:
כדי להפסיק את השכפול של דיסקים אזוריים באמצעות השיטה
disks.stopAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/stopAsyncReplication { }כדי להפסיק את השכפול של דיסקים אזוריים באמצעות השיטה
regionDisks.stopAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication { }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: הפרויקט שמכיל את הדיסק. -
DISK_NAME: שם הדיסק. -
LOCATION: האזור או האזור של הדיסק. בדיסקים אזוריים, משתמשים באזור. לדיסקים אזוריים, משתמשים באזור.
Terraform
כדי להפסיק את השכפול בדיסקים הראשיים והמשניים, מסירים את המשאב compute_disk_async_replication.
הפסקת השכפול של קבוצת אפליקציות עקביות
כדי להפסיק את השכפול של כל הדיסקים בקבוצת עקביות, משתמשים במסוףGoogle Cloud , ב-Google Cloud CLI או ב-REST.
המסוף
כדי להפסיק את השכפול של כל הדיסקים בקבוצת עקביות, מבצעים את הפעולות הבאות:
נכנסים לדף Consistency Groups במסוף Google Cloud .
בכרטיסייה קבוצות עקביות של דיסקים, לוחצים על השם של קבוצת העקביות שרוצים להפסיק את השכפול שלה. ייפתח הדף ניהול קבוצת עקביות.
לוחצים על הפסקת השכפול. נפתח החלון סיום השכפול.
לוחצים על הפסקת השכפול.
gcloud
כדי להפסיק את השכפול של כל הדיסקים בקבוצת עקביות, משתמשים בפקודה gcloud compute disks stop-group-async-replication:
gcloud compute disks stop-group-async-replication CONSISTENCY_GROUP \ --LOCATION_FLAG=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
CONSISTENCY_GROUP: כתובת ה-URL של קבוצת העקביות. לדוגמה,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME. -
LOCATION_FLAG: דגל המיקום של הדיסקים בקבוצת אפליקציות עקביות. לדיסקים אזוריים, צריך להשתמש ב---region. לדיסקים אזוריים, משתמשים ב---zone. -
LOCATION: האזור או התחום של הדיסק. בדיסקים אזוריים, משתמשים באזור. לדיסקים אזוריים, משתמשים באזור.
המשך
Java
Node.js
Python
REST
כדי להפסיק את השכפול של כל הדיסקים בקבוצת עקביות, משתמשים באחת מהשיטות הבאות:
כדי להפסיק את השכפול של דיסקים אזוריים באמצעות השיטה
disks.stopGroupAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/stopGroupAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP" }כדי להפסיק את השכפול של דיסקים אזוריים באמצעות השיטה
regionDisks.stopGroupAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP" }
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: שם הדיסק -
LOCATION: האזור או האזור של הדיסק. בדיסקים אזוריים, משתמשים באזור. לדיסקים אזוריים, משתמשים באזור. -
CONSISTENCY_GROUP: כתובת ה-URL של קבוצת העקביות. לדוגמה,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME.
המאמרים הבאים
- איך מבצעים מעבר לגיבוי (failover) וחזרה מגיבוי (failback)
- איך עוקבים אחרי הביצועים של שכפול אסינכרוני