במאמר הזה מתוארות אפשרויות מתקדמות להגדרת העברות של מערכות קבצים, כולל:
- העתקת נתונים בכרכים של CIFS או SMB
- שימוש בפרטי כניסה של חשבון שירות
- שינוי הזיכרון המקסימלי של הסוכן
- הגבלת הגישה לספריית הסוכנים
- תיאום בין סוכנים באמצעות Kubernetes
- שימוש בשרת proxy קדמי
- העתקה לקטגוריה עם מדיניות שמירת נתונים
- אפשרויות להגדלת רוחב הפס ברשת
העתקת נתונים בכרכים של CIFS או SMB
סוכני העברה לא נתמכים ישירות בשרתי Windows. עם זאת, אפשר להעביר נתונים שמאוחסנים במערכת קבצים שתואמת ל-POSIX על ידי טעינתה בשרת Linux או במכונה וירטואלית (VM), ולאחר מכן הפעלת סוכן משרת Linux או מהמכונה הווירטואלית כדי להעתיק את הנתונים ל-Cloud Storage.
כדי להעביר נתונים מנפח CIFS או SMB:
מקצים שרת או מכונה וירטואלית של Linux.
מערכות ההפעלה הנתמכות מפורטות במאמר דרישות מוקדמות.
מריצים את הפקודה הבאה בשרת או במכונה הווירטואלית של Linux שהקציתם כדי לטעון את אמצעי האחסון:
sudo mount -t cifs -o username=WINDOWS-SHARE-USER,password=WINDOWS-SHARE-PASSWORD //IP-ADDRESS/SHARE-NAME /mnt
מחליפים את מה שכתוב בשדות הבאים:
-
IP-ADDRESS: כתובת ה-IP של שרת Microsoft Windows שבו נמצא נפח ה-CIFS או ה-SMB. -
SHARE-NAME: שם השיתוף שאתם מטמיעים. -
WINDOWS-SHARE-USER: משתמש מורשה לגישה לנפח CIFS או SMB. -
WINDOWS-SHARE-PASSWORD: הסיסמה של המשתמש המורשה בנפח CIFS או SMB.
-
מריצים את הפקודה הבאה כדי לוודא שנפח ה-CIFS מותקן:
findmnt -l
מריצים את הפקודות הבאות כדי לוודא שהמשתמש שיריץ את הסוכן יכול להציג קבצים ולהעתיק אותם בנפח האחסון המותקן:
sudo -u USERNAME cp /mnt/FILE1 /mnt/FILE2
מחליפים את מה שכתוב בשדות הבאים:
-
USERNAME: המשתמש שיפעיל את הסוכן. -
FILE1: הקובץ שממנו מעתיקים. -
FILE2: שם הקובץ שאליו רוצים להעתיק.
-
שימוש בפרטי כניסה לחשבון שירות
אתם יכולים להשתמש בפרטי הכניסה של חשבון שירות כדי להריץ את הסוכן. שימוש בפרטי הכניסה של חשבון השירות מאפשר לאמת את סוכן ההעברה בלי להסתמך על חשבון משתמש יחיד. מידע נוסף על סוגי חשבונות זמין במאמר בנושא חשבונות משתמש.
יוצרים מפתח לחשבון השירות. מידע נוסף זמין במאמר יצירה וניהול של מפתחות לחשבונות שירות.
מעבירים את המיקום של מפתח לנותני שירות לפקודה ליצירת הסוכן:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \ --mount-directories=MOUNT_DIRECTORIES \ --creds-file=RELATIVE_PATH_TO/KEY_FILE.JSONקובץ האישורים נטען אוטומטית על ידי
gcloud transferואין צורך לציין אותו באמצעות הדגל--mount-directories.
התאמת הזיכרון המקסימלי של הסוכן
כברירת מחדל, סוכני ההעברה משתמשים בזיכרון מערכת של עד 8GiB. אתם יכולים לשנות את כמות הזיכרון המקסימלית שבה נעשה שימוש על ידי הסוכנים בהתאם לסביבה שלכם. לשם כך, מעבירים את --max-physical-mem=MAXIMUM-MEMORY ומחליפים את MAXIMUM-MEMORY בערך שמתאים לסביבה שלכם.
הסימון הבוליאני הזה נתמך רק בפקודה
docker run.
- זיכרון מינימלי: 1GiB
- הזיכרון המינימלי שנדרש כדי לתמוך בהעלאות עם ביצועים גבוהים: 6GiB
מומלץ להשתמש בברירת המחדל של 8GiB.
בטבלה הבאה מפורטות דוגמאות לפורמטים קבילים של MAXIMUM-MEMORY:
ערך של max-physical-mem |
הגדרת זיכרון מקסימלית |
|---|---|
6g |
6 ג'יגה-בייט |
6gb |
6 ג'יגה-בייט |
6GiB |
6 ג'יביבייט |
הגבלת הגישה לספריית הסוכנים
משתמשים שיש להם הרשאה ליצור משימות העברה יכולים לאחזר נתונים מכל ספרייה במערכת הקבצים שהסוכן יכול לגשת אליה, ולהוריד אליה נתונים.
אם סוכנים מופעלים כ-root ויש להם גישה לכל מערכת הקבצים, גורם זדוני עלול להשתלט על המארח. מומלץ מאוד להגביל את הגישה של הסוכן רק לספריות הנדרשות.
כדי להגביל את הגישה של נציג לספריות מסוימות:
gcloud
כדי לציין ספריות שהסוכן יכול לגשת אליהן במערכת קבצים, משתמשים בדגל --mount-directories עם gcloud transfer agents install:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
--mount-directories=MOUNT_DIRECTORIES
כדי לציין כמה ספריות, צריך להפריד ביניהן באמצעות פסיק ללא רווח:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
--mount-directories=MOUNT_DIRECTORY_1,MOUNT_DIRECTORY_2
אם מציינים קובץ פרטי כניסה באמצעות הדגל --creds-file, gcloud transfer יטען את קובץ פרטי הכניסה באופן אוטומטי. קבצים אחרים באותה ספרייה של קובץ פרטי הכניסה לא מותקנים.
docker run
כדי לציין ספריות שהסוכן יכול לגשת אליהן בזמן ביצוע העברה, מעבירים את הערך -v HOST_DIRECTORY:CONTAINER_DIRECTORY לסוכן ומציינים את הפרטים הבאים:
-
HOST_DIRECTORYהיא הספרייה במחשב המארח שממנה רוצים להעתיק. -
CONTAINER_DIRECTORYהיא הספרייה שממופה בתוך מאגר הסוכנים.
הערכים של HOST_DIRECTORY ושל CONTAINER_DIRECTORY צריכים להיות זהים כדי שהסוכן יוכל לאתר את הקבצים להעתקה.
כשמשתמשים באפשרות הזו:
- אל תציינו את הערך
--enable-mount-directory. - אל תתחילו את נתיב הקובץ ב-
/transfer_root.
האפשרות --enable-mount-directory מטעינה את כל מערכת הקבצים בספרייה /transfer_root במאגר התגים. אם מציינים את --enable-mount-directory, לא מוחלות הגבלות על הספרייה.
אפשר להשתמש ביותר מדגל -v אחד כדי לציין ספריות נוספות להעתקה. לדוגמה:
sudo docker run --ulimit memlock=64000000 -d -rm --volumes-from gcloud-config \ -v /usr/local/research:/usr/local/research \ -v /usr/local/billing:/usr/local/billing \ -v /tmp:/tmp \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
אם אתם משתמשים בחשבון שירות, ודאו שאתם מטמיעים את קובץ פרטי הכניסה במאגר ומעבירים את --creds-file=CREDENTIAL_FILE. לדוגמה:
sudo docker run --ulimit memlock=64000000 -d -rm \ -v HOST_DIRECTORY:CONTAINER_DIRECTORY \ -v /tmp:/tmp \ -v FULL_CREDENTIAL_FILE_PATH:FULL_CREDENTIAL_FILE_PATH \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --creds-file=CREDENTIAL_FILE \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
מחליפים את מה שכתוב בשדות הבאים:
-
HOST_DIRECTORY: הספרייה במחשב המארח שרוצים להעתיק ממנה. -
CONTAINER_DIRECTORY: הספרייה שממופה בקונטיינר של הסוכן. -
FULL_CREDENTIAL_FILE_PATH: הנתיב המלא לקובץ פרטי הכניסה. -
PROJECT_ID: מזהה הפרויקט שבו מתארחים המשאבים להעברה, שנוצרים ומחויבים. -
CREDENTIAL_FILE: קובץ של פרטי כניסה לחשבון שירות בפורמט JSON. מידע נוסף על יצירת קובץ פרטי כניסה לחשבון שירות זמין במאמר יצירה וניהול של מפתחות לחשבונות שירות. -
ID_PREFIX: התחילית שמופיעה לפני מזהה הסוכן כדי לעזור לזהות את הסוכן או את המכונה שלו במסוף Google Cloud . כשמשתמשים בקידומת, מזהה הסוכן מעוצב כ-prefix + hostname + Docker container ID.
תיאום בין סוכנים לבין Kubernetes
Docker הוא זמן ריצה נתמך של קונטיינרים ל-Kubernetes. אתם יכולים להשתמש ב-Kubernetes כדי לתזמר הפעלה ועצירה של הרבה סוכנים בו-זמנית. מנקודת המבט של Kubernetes, קונטיינר הסוכן נחשב לאפליקציה ללא מצב (stateless), ולכן אפשר לפעול לפי ההוראות של Kubernetes לפריסת אפליקציה ללא מצב.
שימוש בנקודות קצה פרטיות של API ב-Cloud Interconnect
כדי להשתמש בנקודות קצה פרטיות של API ב-Cloud Interconnect:
מתחברים למארח המקומי שבו רוצים להריץ את הסוכן.
הגדרת גישה פרטית ל-Google. מידע נוסף זמין במאמר הגדרת גישה פרטית ל-Google למארחים מקומיים.
מוודאים שאפשר להתחבר לממשקי Cloud Storage API:
- כדי לבדוק את ההעברה של קובץ לקטגוריה של Cloud Storage באמצעות ממשקי Cloud Storage API, מריצים את הפקודה הבאה מאותו מחשב שבו מותקן סוכן ההעברה:
gcloud storage cp test.txt gs://MY-BUCKETכאשרMY-BUCKETהוא השם של הקטגוריה של Cloud Storage. אם ההעברה פועלת, הבדיקה הצליחה.
- כדי לבדוק את ההעברה של קובץ לקטגוריה של Cloud Storage באמצעות ממשקי Cloud Storage API, מריצים את הפקודה הבאה מאותו מחשב שבו מותקן סוכן ההעברה:
שימוש בשרת proxy קדימה
סוכני ההעברה תומכים בשימוש ב-forward proxy ברשת שלכם באמצעות העברת משתנה הסביבה HTTPS_PROXY.
לדוגמה:
sudo docker run -d --ulimit memlock=64000000 --rm \ --volumes-from gcloud-config \ -v /usr/local/research:/usr/local/research \ --env HTTPS_PROXY=PROXY\ gcr.io/cloud-ingest/tsop-agent:latest \ --enable-mount-directory \ --project-id=PROJECT_ID \ --hostname=$(hostname) \ --agent-id-prefix=ID_PREFIX
מחליפים את מה שכתוב בשדות הבאים:
-
PROXY: כתובת URL מסוג HTTP והיציאה של שרת ה-Proxy. כדי למנוע כפילות של בקשות בהצפנת TLS, חשוב לציין את כתובת ה-URL מסוג HTTP ולא כתובת URL מסוג HTTPS. בקשות עם עטיפה כפולה מונעות משרת ה-proxy לשלוח בקשות יוצאות תקינות. -
PROJECT_ID: מזהה הפרויקט שבו מתארחים המשאבים להעברה, שנוצרים ומחויבים. -
ID_PREFIX: התחילית שמופיעה לפני מזהה הסוכן כדי לעזור לזהות את הסוכן או את המכונה שלו במסוף Google Cloud . כשמשתמשים בקידומת, מזהה הסוכן מעוצב כ-prefix + hostname + Docker container ID.
העתקה לקטגוריה עם מדיניות שמירת נתונים
כדי להעביר לקטגוריה עם מדיניות שמירת נתונים, מומלץ לבצע את התהליך הבא:
יוצרים קטגוריה של Cloud Storage באותו אזור שבו נמצאת הקטגוריה הסופית. מוודאים שאין מדיניות שמירת נתונים בקטגוריית היעד הזמנית.
מידע נוסף על אזורים זמין במאמר מיקומי קטגוריות.
משתמשים ב-Storage Transfer Service כדי להעביר את הנתונים לקטגוריה הזמנית שיצרתם בלי מדיניות שמירת נתונים.
מבצעים העברה מקטגוריה לקטגוריה כדי להעביר את הנתונים לקטגוריה עם מדיניות שמירת נתונים.
מוחקים את הקטגוריה של Cloud Storage שיצרתם כדי לאחסן את הנתונים באופן זמני.
אפשרויות להגדלת רוחב הפס ברשת
יש כמה אפשרויות להגדלת רוחב הפס ברשת להעברות של מערכת קבצים. הגדלת רוחב הפס של הרשת תעזור לקצר את זמני ההעברה, במיוחד כשמדובר במערכי נתונים גדולים.
קישור בין רשתות שכנות (peering) עם Google – קישור בין רשתות שכנות (peering) הוא חיבור ישיר עם Google כדי לתמוך בהחלפת תנועה. יש לנו מיקומי קישור ישיר בין רשתות שכנות (direct peering) ברחבי העולם. מידע על היתרונות ועל המדיניות שלנו זמין במאמר בנושא Peering.
Cloud Interconnect – Cloud Interconnect דומה ל-peering, אבל משתמשים בחיבור Interconnect כדי להתחבר ל-Google. יש שני סוגים של חיבורים בין רשתות שאפשר לבחור מביניהם:
Dedicated Interconnect – אתם מתחברים ישירות ממרכז הנתונים שלכם למרכז נתונים של Google באמצעות חיבור פרטי ייעודי. מידע נוסף זמין במאמר בנושא סקירה כללית של Dedicated Interconnect.
Partner Interconnect – אתם עובדים עם ספק שירות כדי ליצור חיבור למרכז נתונים של Google דרך הרשת של שותף שירות. מידע נוסף זמין במאמר סקירה כללית של Partner Interconnect.
קבלת רוחב פס מספק האינטרנט – יכול להיות שספק האינטרנט יוכל להציע לכם רוחב פס גדול יותר בהתאם לצרכים שלכם. כדאי ליצור איתם קשר ולברר מהן האפשרויות הזמינות.