אפשרויות מתקדמות

במאמר הזה מתוארות אפשרויות מתקדמות להגדרת העברות של מערכות קבצים, כולל:

העתקת נתונים בכרכים של CIFS או SMB

סוכני העברה לא נתמכים ישירות בשרתי Windows. עם זאת, אפשר להעביר נתונים שמאוחסנים במערכת קבצים שתואמת ל-POSIX על ידי טעינתה בשרת Linux או במכונה וירטואלית (VM), ולאחר מכן הפעלת סוכן משרת Linux או מהמכונה הווירטואלית כדי להעתיק את הנתונים ל-Cloud Storage.

כדי להעביר נתונים מנפח CIFS או SMB:

  1. מקצים שרת או מכונה וירטואלית של Linux.

    מערכות ההפעלה הנתמכות מפורטות במאמר דרישות מוקדמות.

  2. מריצים את הפקודה הבאה בשרת או במכונה הווירטואלית של 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.
  3. מריצים את הפקודה הבאה כדי לוודא שנפח ה-CIFS מותקן:

    findmnt -l
    
  4. מריצים את הפקודות הבאות כדי לוודא שהמשתמש שיריץ את הסוכן יכול להציג קבצים ולהעתיק אותם בנפח האחסון המותקן:

    sudo -u USERNAME cp /mnt/FILE1 /mnt/FILE2
    

    מחליפים את מה שכתוב בשדות הבאים:

    • USERNAME: המשתמש שיפעיל את הסוכן.
    • FILE1: הקובץ שממנו מעתיקים.
    • FILE2: שם הקובץ שאליו רוצים להעתיק.
  5. התקנת סוכן ההעברה

שימוש בפרטי כניסה לחשבון שירות

אתם יכולים להשתמש בפרטי הכניסה של חשבון שירות כדי להריץ את הסוכן. שימוש בפרטי הכניסה של חשבון השירות מאפשר לאמת את סוכן ההעברה בלי להסתמך על חשבון משתמש יחיד. מידע נוסף על סוגי חשבונות זמין במאמר בנושא חשבונות משתמש.

  1. יוצרים מפתח לחשבון השירות. מידע נוסף זמין במאמר יצירה וניהול של מפתחות לחשבונות שירות.

  2. מעבירים את המיקום של מפתח לנותני שירות לפקודה ליצירת הסוכן:

    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:

  1. מתחברים למארח המקומי שבו רוצים להריץ את הסוכן.

  2. הגדרת גישה פרטית ל-Google. מידע נוסף זמין במאמר הגדרת גישה פרטית ל-Google למארחים מקומיים.

  3. מוודאים שאפשר להתחבר לממשקי Cloud Storage API:

    1. כדי לבדוק את ההעברה של קובץ לקטגוריה של Cloud Storage באמצעות ממשקי Cloud Storage API, מריצים את הפקודה הבאה מאותו מחשב שבו מותקן סוכן ההעברה: gcloud storage cp test.txt gs://MY-BUCKET כאשר MY-BUCKET הוא השם של הקטגוריה של Cloud Storage. אם ההעברה פועלת, הבדיקה הצליחה.

שימוש בשרת 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.

העתקה לקטגוריה עם מדיניות שמירת נתונים

כדי להעביר לקטגוריה עם מדיניות שמירת נתונים, מומלץ לבצע את התהליך הבא:

  1. יוצרים קטגוריה של Cloud Storage באותו אזור שבו נמצאת הקטגוריה הסופית. מוודאים שאין מדיניות שמירת נתונים בקטגוריית היעד הזמנית.

    מידע נוסף על אזורים זמין במאמר מיקומי קטגוריות.

  2. משתמשים ב-Storage Transfer Service כדי להעביר את הנתונים לקטגוריה הזמנית שיצרתם בלי מדיניות שמירת נתונים.

  3. מבצעים העברה מקטגוריה לקטגוריה כדי להעביר את הנתונים לקטגוריה עם מדיניות שמירת נתונים.

  4. מוחקים את הקטגוריה של 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.

  • קבלת רוחב פס מספק האינטרנט – יכול להיות שספק האינטרנט יוכל להציע לכם רוחב פס גדול יותר בהתאם לצרכים שלכם. כדאי ליצור איתם קשר ולברר מהן האפשרויות הזמינות.