הגדרת אחסון מקומי

בדף הזה מוסבר איך להגדיר נפחים מקומיים לאשכולות של Google Distributed Cloud.

באשכולות של Google Distributed Cloud יש שתי אפשרויות להגדרת PV מקומיים באשכול: שיתוף LVP והצמדות של צומת LVP. שיתוף LVP משתמש בספריות במערכת קבצים משותפת, בעוד שחיבור צומת LVP משתמש בדיסקים ייעודיים.

נתח LVP

בסוג האחסון הזה נוצר PV מקומי שמגובה על ידי ספריות משנה במערכת קבצים מקומית ושיתופית בכל צומת באשכול. ספריות המשנה האלה נוצרות אוטומטית במהלך יצירת האשכול. עומסי עבודה שמשתמשים במחלקת האחסון הזו ישתמשו באותו נפח אחסון ובאותם IOPS, כי ה-PV מגובים על ידי אותה מערכת קבצים משותפת. כדי לשפר את הבידוד, מומלץ להגדיר דיסקים באמצעות נקודות חיבור של צמתים ב-LVP.

הגדרת שיתוף של LVP

  1. אופציונלי: לפני יצירת האשכול, צריך לטעון דיסק באמצעות הנתיב שהוגדר כנקודת טעינה, כדי שה-PV שנוצרו ישתמשו בקיבולת הדיסק החדש ויהיו מבודדים מדיסק האתחול.

  2. מציינים את הפרטים הבאים בקובץ ה-CR של האשכול lvpShare:

    • path: הנתיב במחשב המארח בכל מארח שבו נוצרות ספריות משנה. לכל ספריית משנה נוצרת תצוגת דף מקומית. נתיב ברירת המחדל הוא /mnt/localpv-share.
    • storageClassName: סוג האחסון שבו נוצרים כרכי PV במהלך יצירת האשכול. ערך ברירת המחדל הוא local-shared.
    • numPVUnderSharedPath: מספר תיקיות המשנה שייווצרו בתיקייה path. ערך ברירת המחדל הוא 5.

    ההגדרה תיראה כך:

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: cluster1
      namespace: cluster-cluster1
    spec:
      storage:
        lvpShare:
          path: /mnt/localpv-share
          storageClassName: local-shared
          numPVUnderSharedPath: 5
    

ה-PV נוצר עם סוג האחסון שצוין ב-storageClassName. המספר הכולל של PV מקומי שנוצר באשכול הוא numPVUnderSharedPath כפול מספר הצמתים.

מתקני תלייה לצומת LVP

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

הגדרת טעינת צמתים של LVP

  1. בצמתים שיש בהם דיסקים נוספים ל-PV, צריך לפרמט כל דיסק ולהעלות אותו לנתיב. אפשר לעשות את זה גם לפני או אחרי יצירת האשכול. שיטות מומלצות

    1. מציגים את רשימת הדיסקים ומאתרים את הדיסק שרוצים לטעון:

      sudo lsblk
      
    2. מפרמטים את הדיסק, למשל עם מערכת קבצים יחידה מסוג ext4:

      sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_ID
      
    3. בנתיב שהוגדר, יוצרים ספרייה כנקודת הטעינה של הדיסק החדש:

      sudo mkdir -p /mnt/localpv-disk/MNT_DIR
      
    4. טוענים את הדיסק:

      sudo mount -o discard,defaults /dev/DEVICE_ID /mnt/localpv-disk/MNT_DIR &&
      sudo chmod a+w /mnt/localpv-disk/MNT_DIR
      
    5. מוסיפים את הדיסק לקובץ /etc/fstab, כדי שהמכשיר יתחבר שוב באופן אוטומטי כשהמכונה תופעל מחדש:

      # Backup of your current /etc/fstab file
      sudo cp /etc/fstab /etc/fstab.backup
      
      # Use the blkid command to find the UUID for the zonal persistent disk
      sudo blkid /dev/DEVICE_ID
      
      # Edit /etc/fstab file: create an entry that includes the UUID
      UUID=UUID_VALUE /mnt/localpv-disk/MNT_DIR ext4 discard,defaults,NOFAIL_OPTION 0 2
      
  2. מציינים את הערכים הבאים בקטע lvpNodeMounts ב-CR של האשכול:

    • path: הנתיב במחשב המארח לכל נקודת הרכבה שבה מתגלים דיסקים מורכבים ונוצר PV מקומי. נתיב ברירת המחדל הוא /mnt/localpv-disk.
    • storageClassName: סוג האחסון שבו נוצרים כרכי PV במהלך יצירת האשכול. ערך ברירת המחדל הוא local-disks.

    ההגדרה תיראה בערך כך:

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: cluster1
      namespace: cluster-cluster1
    spec:
      storage:
        lvpNodeMounts:
          path: /mnt/localpv-disk
          storageClassName: local-disks
    

    ה-PV נוצר עם סוג האחסון שצוין ב-storageClassName. המספר הכולל של PV שנוצרו הוא מספר הדיסקים שצורפו ל-path בכל הצמתים.

המאמרים הבאים