במאמר הזה מוסבר איך להגדיר שכפול אסינכרוני. שכפול אסינכרוני שימושי להתאוששות מאסון עם RPO נמוך ו-RTO נמוך.
כדי להפעיל שכפול אסינכרוני של דיסקים, מבצעים את השלבים הבאים:
- מגדירים זוג שכפול דיסקים כדי להגדיר שכפול אסינכרוני.
- מפעילים שכפול ידני כדי להתחיל לשכפל נתונים בין הדיסק הראשי לדיסק המשני.
מגבלות
- כשיוצרים דיסקים משניים, הם צריכים להיות ריקים. אי אפשר ליצור אותם מתמונות, מתמונות מצב או מדיסקים אחרים.
- אין תמיכה בשכפול אסינכרוני ב-Hyperdisk ML או ב-Hyperdisk Throughput.
לפני שמתחילים
- בוחרים צמד אזורים .
- אפשר ליצור קבוצת עקביות.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 .
הגדרה של צמד רפליקציה של דיסקים
כדי לשכפל נתונים בין דיסקים, צריך להגדיר שכפול. לשם כך, מבצעים את המשימות הבאות:
- בוחרים צמד אזורים ואת האזורים הראשי והמשני.
- אופציונלי: אם אתם צריכים לתאם שכפול בין קבוצה של דיסקים, צרו קבוצת עקביות באזור הראשי. צריך להוסיף דיסקים ראשיים לקבוצת עקביות לפני שמתחילים בשכפול.
- יוצרים או בוחרים את הדיסקים הראשיים. אפשר גם להוסיף את הדיסקים האלה לקבוצת העקביות.
- יוצרים דיסקים משניים חדשים וריקים.
דרישות לגבי הדיסק
כדי להשתמש בדיסקים כראשיים או כמשניים לשכפול אסינכרוני, הם צריכים לעמוד בדרישות הבאות:
- סוג הדיסק: צריך להשתמש באחד מסוגי הדיסקים הבאים:
- דיסק אחסון מתמיד מאוזן
- דיסק אחסון מתמיד (persistent disk) שמבוסס על ביצועים (SSD)
- Hyperdisk Balanced
- Hyperdisk Balanced High Availability
- Hyperdisk Extreme
- גודל: עד 64 TiB.
- סוג ההצפנה: Google-owned and Google-managed encryption keys או מפתחות הצפנה בניהול הלקוח (CMEK).
- מצב ריבוי כותבים: אפשר להפעיל שכפול אסינכרוני לדיסקים מסוג Hyperdisk Balanced ו-Hyperdisk Balanced High Availability שנמצאים במצב ריבוי כותבים. בכל שאר סוגי הדיסקים, הדיסק צריך להיות במצב קריאה-כתיבה.
- מיקום: נמצאים באזור נתמך (או באזור בתוך אזור נתמך).
יצירה או בחירה של דיסק ראשי
הדיסק הראשי הוא דיסק האתחול או דיסק הנתונים שמצורף ל-VM שבו פועלת עומס העבודה. אתם יכולים להשתמש בכל דיסק קיים שעומד בדרישות הדיסק כדיסק ראשי, או ליצור דיסק חדש. אם רוצים להשתמש בדיסק קיים כבדיסק ראשי, לא צריך לבצע הגדרה נוספת בדיסק. ממשיכים ליצירת דיסק משני כדי להשלים את ההגדרה של שכפול אסינכרוני.
יצירת דיסק ראשי
יוצרים דיסק ראשי באמצעות השיטות שמתוארות באחד מהמסמכים הבאים.
יצירת דיסק אתחול ראשי במהלך יצירת מכונה וירטואלית אפשר להוסיף את הדיסק לקבוצת עקביות על ידי יצירת ה-VM באמצעות gcloud CLI או REST וציון אחת מהאפשרויות הבאות:
אם יוצרים את המכונה הווירטואלית באמצעות ה-CLI של gcloud, צריך לציין את הדגל
--create-disk:--create-disk=disk-resource-policy=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
אם יוצרים את המכונה הווירטואלית באמצעות REST, צריך לציין את המאפיין
resourcePolicies:"disks": { … "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME" }
יצירת דיסק ראשי של נתונים במהלך יצירת מכונה וירטואלית אפשר להוסיף את הדיסק לקבוצת עקביות על ידי יצירת ה-VM באמצעות gcloud CLI או REST וציון אחת מהאפשרויות הבאות:
אם יוצרים את המכונה הווירטואלית באמצעות ה-CLI של gcloud, צריך לציין את הדגל
--create-disk:--create-disk=disk-resource-policy=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
אם יוצרים את המכונה הווירטואלית באמצעות REST, צריך לציין את המאפיין
resourcePolicies:"disks": { … "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME" }
יצירת דיסק נתונים ראשי בלי ליצור מכונה וירטואלית אפשר להוסיף את הדיסק לקבוצת עקביות על ידי יצירת מכונה וירטואלית באמצעותGoogle Cloud המסוף, gcloud CLI או REST, וציון אחת מהאפשרויות הבאות:
אם יוצרים את הדיסק באמצעות Google Cloud המסוף, בוחרים את קבוצת העקביות מהתפריט הנפתח קבוצת עקביות.
אם יוצרים את הדיסק באמצעות ה-CLI של gcloud, מציינים את הדגל
--resource-policies:--resource-policies=projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME
אם יוצרים את הדיסק באמצעות REST, מציינים את המאפיין
resourcePolicies:"disks": { … "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME" }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: הפרויקט שמכיל את קבוצת אפליקציות עקביות -
REGION: האזור שבו נמצאת קבוצת האפליקציות העקביות -
CONSISTENCY_GROUP_NAME: השם של קבוצת העקביות שאליה רוצים להוסיף את הדיסק
יצירת דיסק משני
הדיסק המשני הוא דיסק נתונים באזור נפרד מהדיסק הראשי, שמקבל נתונים משוכפלים מהדיסק הראשי וכותב אותם. כשמגדירים שכפול אסינכרוני, צריך ליצור דיסק משני חדש וריק שמפנה לדיסק הראשי.
כדי ליצור דיסק משני עם אותם מאפיינים כמו הדיסק הראשי, פועלים לפי השלבים במאמר יצירת דיסק משני זהה לדיסק הראשי.
כדי ליצור דיסק משני ששונה מהדיסק הראשי, אפשר לעיין במאמר בנושא יצירת דיסק משני בהתאמה אישית.
יצירת דיסק משני זהה לדיסק הראשי
בקטע הזה מוסבר איך ליצור דיסק משני זהה לדיסק הראשי.
- כדי ליצור דיסק משני בשביל שכפול אסינכרוני של Persistent Disk, אפשר להשתמש במסוףGoogle Cloud , ב-CLI של gcloud או ב-REST.
כדי להשתמש בשכפול אסינכרוני של Hyperdisk, אפשר להשתמש במסוף Google Cloud , ב-CLI של gcloud, ב-Terraform או ב-REST.
המסוף
כדי ליצור דיסק משני ולהתחיל רפליקציה, מבצעים את הפעולות הבאות:
נכנסים לדף Disks במסוף Google Cloud .
לוחצים על השם של הדיסק הראשי. ייפתח הדף ניהול הדיסק.
לוחצים על Create secondary disk.
בשדה Name, מזינים שם לדיסק.
בקטע מיקום, מבצעים אחת מהפעולות הבאות:
כדי ליצור דיסק אזורי:
- בוחרים באפשרות אזורי.
- בשדה Region, בוחרים אזור שמתאים לאזור של הדיסק הראשי.
- בשדה Zone, בוחרים את האזור הראשי.
- בשדה Replica zone (אזור העתקה), בוחרים את אזור ההעתקה.
כדי ליצור דיסק אזורי:
- בוחרים באפשרות Single zone (אזור יחיד).
- בשדה Region, בוחרים אזור שמתאים לאזור של הדיסק הראשי.
- בשדה Zone, בוחרים אזור.
לוחצים על יצירה. Compute Engine יוצר את הדיסק ומתחיל את השכפול.
gcloud
יוצרים דיסק משני באמצעות הפקודה gcloud compute disks create:
gcloud compute disks create SECONDARY_DISK_NAME \
--SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \
--size=SIZE \
--primary-disk=PRIMARY_DISK_NAME \
--PRIMARY_DISK_LOCATION_FLAG=PRIMARY_LOCATION \
--primary-disk-project=PRIMARY_DISK_PROJECT
כדי ליצור דיסק משני אזורי, צריך לציין גם את הדגל --replica-zones:
--replica-zones=ZONE_1,ZONE_2
מחליפים את מה שכתוב בשדות הבאים:
-
SECONDARY_DISK_NAME: השם של הדיסק המשני. -
SECONDARY_LOCATION_FLAG: דגל המיקום של הדיסק המשני. כדי ליצור דיסק משני אזורי, משתמשים ב---region. כדי ליצור דיסק משני אזורי, משתמשים ב---zone. -
SECONDARY_LOCATION: האזור או האזור הזמין של הדיסק המשני.- כדי ליצור דיסק אזורי, צריך להשתמש באזור שמתאים לאזור של הדיסק הראשי.
- כדי ליצור דיסק אזורי, צריך להשתמש באזור בתוך האזור שתואם לאזור של הדיסק הראשי.
-
SIZE: הגודל של הדיסק החדש ב-GB. הגודל צריך להיות זהה לגודל של הדיסק הראשי. הגדלים המקובלים הם בין 10GB ל-2, 000GB, במרווחים של 1GB. -
PRIMARY_DISK_NAME: השם של הדיסק הראשי שממנו הדיסק המשני מקבל נתונים. -
PRIMARY_LOCATION_FLAG: דגל המיקום של הדיסק הראשי.- לדיסק ראשי אזורי, משתמשים ב-
--primary-disk-region. - לדיסק ראשי אזורי, משתמשים ב-
--primary-disk-zone.
- לדיסק ראשי אזורי, משתמשים ב-
-
PRIMARY_LOCATION: האזור או האזור של הדיסק הראשי.- במקרה של דיסק אזורי, משתמשים באזור.
- בדיסקים אזוריים, משתמשים באזור.
-
PRIMARY_PROJECT: הפרויקט שמכיל את הדיסק הראשי. -
ZONE_1: אחד מהאזורים שאליהם מתבצעת השכפול של הדיסק האזורי. הערך צריך להיות אזור בתוך האזור שצוין, והוא צריך להיות שונה מ-ZONE_2. -
ZONE_2: אחד מהאזורים שאליהם מתבצעת השכפול של הדיסק האזורי. הערך צריך להיות אזור בתוך האזור שצוין, והוא צריך להיות שונה מ-ZONE_1.
המשך
יוצרים דיסק משני אזורי או אזורי באמצעות אחת מדוגמאות הקוד הבאות:
יצירת דיסק משני אזורי
יצירת דיסק משני אזורי
Java
יוצרים דיסק משני אזורי או אזורי באמצעות אחת מדוגמאות הקוד הבאות:
יצירת דיסק משני אזורי
יצירת דיסק משני אזורי
Node.js
יוצרים דיסק משני אזורי או אזורי באמצעות אחת מדוגמאות הקוד הבאות:
יצירת דיסק משני אזורי
יצירת דיסק משני אזורי
Python
יוצרים דיסק משני אזורי או אזורי באמצעות אחת מדוגמאות הקוד הבאות:
יצירת דיסק משני אזורי
יצירת דיסק משני אזורי
REST
יוצרים דיסק משני אזורי או אזורי באמצעות אחת מהשיטות הבאות:
כדי ליצור דיסק משני אזורי, משתמשים ב-method
disks.insert:POST https://compute.googleapis.com/compute/v1/projects/SECONDARY_DISK_PROJECT/zones/SECONDARY_DISK_LOCATION/disks { "name": "SECONDARY_DISK_NAME", "sizeGb": "DISK_SIZE", "type": "DISK_TYPE" "asyncPrimaryDisk": { "disk": "projects/PRIMARY_DISK_PROJECT/PRIMARY_DISK_LOCATION_PARAMETER/PRIMARY_DISK_LOCATION/disks/PRIMARY_DISK_NAME" } }כדי ליצור דיסק משני אזורי, משתמשים ב-method
regionDisks.insert:POST https://compute.googleapis.com/compute/v1/projects/SECONDARY_DISK_PROJECT/regions/SECONDARY_DISK_LOCATION/disks { "name": "SECONDARY_DISK_NAME", "sizeGb": "DISK_SIZE", "type": "DISK_TYPE" "asyncPrimaryDisk": { "disk": "projects/PRIMARY_DISK_PROJECT/PRIMARY_DISK_LOCATION_PARAMETER/PRIMARY_DISK_LOCATION/disks/PRIMARY_DISK_NAME" } }
מחליפים את מה שכתוב בשדות הבאים:
-
SECONDARY_DISK_PROJECT: הפרויקט של הדיסק המשני. -
SECONDARY_DISK_LOCATION: האזור או האזור הזמין של הדיסק המשני.- במקרה של דיסק אזורי, משתמשים באזור.
- במקרה של דיסק אזורי, משתמשים באזור.
-
SECONDARY_DISK_NAME: השם של הדיסק המשני. -
DISK_SIZE: הגודל של הדיסק המשני. חייב להיות זהה לגודל הדיסק הראשי. -
PRIMARY_DISK_PROJECT: הפרויקט שמכיל את הדיסק הראשי. -
PRIMARY_DISK_LOCATION_PARAMETER: פרמטר המיקום של הדיסק הראשי.- לדיסק ראשי אזורי, משתמשים ב-
regions. - לדיסק ראשי אזורי, משתמשים ב-
zones.
- לדיסק ראשי אזורי, משתמשים ב-
-
PRIMARY_DISK_LOCATION: האזור של הדיסק הראשי. לדיסקים אזוריים, משתמשים באזור. בדיסקים אזוריים, משתמשים באזור. -
PRIMARY_DISK_NAME: השם של הדיסק הראשי שממנו הדיסק המשני מקבל נתונים.
Terraform
כדי ליצור דיסק משני זהה לדיסק הראשי, משתמשים במשאב compute_disk.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
יצירת דיסק משני בהתאמה אישית
בקטע הזה מוסבר איך ליצור דיסק משני בהתאמה אישית, כלומר דיסק משני שהמאפיינים שלו שונים מהדיסק הראשי.
אם הדיסק הראשי הוא דיסק אתחול, אי אפשר לשנות או להסיר אף אחת מהתכונות של מערכת ההפעלה של האורח בדיסק הראשי. אפשר להוסיף רק תכונות נוספות של מערכת ההפעלה האורחת. מידע נוסף זמין במאמר בנושא התאמה אישית של דיסק משני.
אפשר ליצור דיסק משני בהתאמה אישית באמצעות ה-CLI של gcloud, REST או Terraform. אי אפשר להתאים אישית את הדיסק המשני ממסוף Google Cloud .
gcloud
כדי ליצור דיסק משני בהתאמה אישית, משתמשים בפקודה gcloud compute disks create כמו שמתואר במאמר יצירת דיסק משני זהה לדיסק הראשי.
אפשר להשתמש בדגלים נוספים כדי להתאים אישית את המאפיינים של הדיסק המשני.
הנה כמה דוגמאות לאופן שבו אפשר להתאים אישית את הדיסק המשני:
- כדי לציין תכונות נוספות של מערכת ההפעלה לאורחים, משתמשים בפרמטר
--guest-os-features.--guest-os-features=UEFI_COMPATIBLE,GVNIC,MULTI_IP_SUBNET
- כדי להקצות תוויות נוספות לדיסק המשני, משתמשים בפרמטר
--labels.--labels=secondary-disk-for-replication=yes
המשך
Java
Node.js
Python
REST
כדי ליצור דיסק משני בהתאמה אישית, משתמשים באותה שיטה שמתוארת במאמר בנושא יצירת דיסק משני זהה לדיסק הראשי. מציינים שדות נוספים כדי להתאים אישית את המאפיינים של הדיסק המשני.
הנה כמה דוגמאות לאופן שבו אפשר להתאים אישית את הדיסק המשני:
- כדי לציין תכונות נוספות של מערכת ההפעלה האורחת, משתמשים בשדה
guestOsFeatures. אפשר לציין רק תכונות נוספות של מערכת ההפעלה האורחת. אי אפשר לשנות או להסיר תכונות של מערכת ההפעלה האורחת שהועתקו מהדיסק הראשי."guestOsFeatures": [ { "type": "NEW_FEATURE_ID_1" }, { "type": "NEW_FEATURE_ID_1" } ] - כדי להקצות תוויות נוספות לדיסק המשני, משתמשים בשדה
labels."labels": [ { "key": "value" }, ]
Terraform
כדי ליצור דיסק משני בהתאמה אישית, משתמשים באותה שיטה שמתוארת במאמר בנושא יצירת דיסק משני זהה לדיסק הראשי. אתם יכולים לציין שדות נוספים כדי להתאים אישית את המאפיינים של הדיסק המשני.
הנה כמה דוגמאות לאופן שבו אפשר להתאים אישית את הדיסק המשני:
- כדי לציין תכונות נוספות של מערכת ההפעלה האורחת, משתמשים בשדה
guest_os_features. אפשר לציין רק תכונות נוספות של מערכת ההפעלה האורחת. אי אפשר לשנות או להסיר תכונות של מערכת ההפעלה האורחת שהועתקו מהדיסק הראשי.guest_os_features { type = "SECURE_BOOT" } guest_os_features { type = "MULTI_IP_SUBNET" } guest_os_features { type = "WINDOWS" } - כדי להקצות תוויות נוספות לדיסק המשני, משתמשים בשדה
labels.labels = { environment = "dev" }
התחלת השכפול
אחרי שיוצרים דיסק ראשי ודיסק משני, צריך להתחיל שכפול כדי להתחיל לשכפל נתונים מהדיסק הראשי לדיסק המשני.
המאמרים הבאים
- איך מנהלים דיסקים שמשתמשים בשכפול אסינכרוני
- איך מנהלים שכפול
- איך מנהלים קבוצות עקביות
- איך עוקבים אחרי הביצועים של שכפול אסינכרוני