כדי לטפל בתנועת נתונים משתנה במסד הנתונים או לאחסן מחיצות נוספות, אפשר לשנות את מספר צמתי השרת בסביבת המכונה הווירטואלית. אפשר להשתמש בהליכים האלה כדי לנהל פריסות של מכונות וירטואליות.
לפני שמתחילים
כדי לשנות את גודל הפריסה של מכונה וירטואלית, מבצעים את השלבים הבאים:
מורידים ומתקינים את Spanner Omni CLI.
כדאי לקרוא את המאמר יצירת פריסה של Spanner Omni במכונות וירטואליות, כי פעולות שינוי הגודל משתמשות בדפוסי CLI דומים של Spanner Omni.
כשיטה מומלצת, כדאי להרחיב אנכית עד 32 GB של זיכרון לכל שרת לפני שמוסיפים עוד שרתים כדי להרחיב אופקית.
הוספת שרתי בסיס
כדי להוסיף שרת Root חדש לפריסת מכונה וירטואלית:
מתחילים שרת חדש במכונה וירטואלית חדשה באזור קיים. מאחלים את השרת באמצעות הפקודה
spanner start. בדוגמה הבאה מופעל שרת root:spanner start \ --root \ --server-address=HOSTNAME \ --zone=ZONE \ --base-dir=BASE_DIRמחליפים את מה שכתוב בשדות הבאים:
-
HOSTNAME: שם הדומיין המוגדר במלואו (FQDN) או שם המארח של המכונה הווירטואלית החדשה שאפשר לפתור את הבעיה שלהם. לדוגמה,new-root-server.example.com. -
ZONE: אזור היעד, לדוגמהus-central1-a. -
BASE_DIR: נתיב הספרייה שבה מאוחסנים הנתונים, לדוגמה/spanner.
-
מוסיפים את השרת לפריסה הקיימת. רושמים את שרת הבסיס החדש בפריסה הראשית. מוודאים שהארגומנטים של שם המארח והיציאה (port) תואמים לפרמטרים שבהם נעשה שימוש בפקודה
spanner start, ומציינים את האזור להקצאה לשרת הבסיסי.spanner deployment servers create SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTמחליפים את מה שכתוב בשדות הבאים:
-
SERVER_ENDPOINT: הכתובת של שרת הבסיס החדש, לדוגמהnew-root-server.example.com:15000. -
ZONE: אזור היעד, לדוגמהus-central1-a. -
ENDPOINT: נקודת הקצה של הפריסה הראשית, לדוגמהmy-spanner-deployment:15000.
הפקודה
spanner deployment servers createמפעילה פעולה ארוכת טווח כדי להוסיף את השרת לפריסה. יכול להיות שיידרש זמן רב כדי להשלים פעולות ממושכות. מידע נוסף זמין במאמר בנושא ניהול פעולות ממושכות ומעקב אחריהן במסמכי Spanner.-
מוודאים שהשרת הצטרף לפריסה. מפרטים את השרתים כדי לוודא שהשרת נרשם ועבר למצב
Ready:spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT
הוספת שרתים שאינם שרתי הבסיס
כדי להוסיף שרת שאינו שרת root, מפעילים את התהליך spanner במכונה וירטואלית ומגדירים אותו להתחבר לשרת root אחד או יותר באשכול כדי להצטרף לפריסה.
בדוגמה הזו מופעל שרת שאינו שרת הבסיס והוא מתווסף לפריסה:
spanner start \
--server-address=HOSTNAME \
--join-servers=JOIN_SERVERS \
--zone=ZONE \
--base-dir=BASE_DIR
מחליפים את מה שכתוב בשדות הבאים:
-
HOSTNAME: שם המארח של המכונה הווירטואלית החדשה, לדוגמהnew-non-root-server.example.com. -
JOIN_SERVERS: רשימה מופרדת בפסיקים של נקודות קצה קיימות של שרתים ראשיים – לדוגמה,root-server1.example.com:15000. -
ZONE: שם האזור, לדוגמהus-central1-a. -
BASE_DIR: נתיב הספרייה שבה מאוחסנים הנתונים, לדוגמה/spanner.
הסרת שרתים
כדי להסיר שרת בסיס או שרת שאינו שרת בסיס, פועלים לפי אותם השלבים. אם מסירים שרת בסיס, צריך לוודא שמספר שרתי הבסיס הכולל בפריסה הוא אי-זוגי (בין 1 ל-9).
כדי להוציא משימוש שרת VM, פועלים לפי השלבים הבאים:
מוחקים את השרת מהפריסה:
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINTמחליפים את מה שכתוב בשדות הבאים:
-
SERVER_ENDPOINT: כתובת השרת להסרה – לדוגמה,server-to-remove:15000. -
ZONE: האזור שבו נמצא השרת, לדוגמהus-central1-a. -
ENDPOINT: נקודת הקצה של הפריסה הראשית, לדוגמהmy-spanner-deployment:15000.
-
ממתינים עד להשלמת העברת הנתונים. הזמן שנדרש להעברת המחיצה תלוי בגודל של מאגר הנתונים שמארח השרת. עוקבים אחרי סטטוס השרת עד שהשרת לא מופיע יותר בפלט:
spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINTמשביתים את תהליך השרת. נכנסים למכונה הווירטואלית ומפסיקים את התהליך
spanner.כדי להימנע מהשחתת נתונים או מגרימה לשרתים מנותקים לתעד עדכונים סותרים, אל תפעילו מחדש את התהליך
spannerבמכונה הווירטואלית הזו באמצעות אותוbase_dirבלי לנקות קודם את תיקיות הנתונים הישנות.