הוספת אחסון קבצים מסוג NFS לסביבת Bare Metal Solution

במדריך הזה מוסבר איך להגדיר ולהשתמש ב-Network File System ‏(NFS) לאחסון קבצים בסביבת Bare Metal Solution. במסמך הזה מניחים שיש לכם היכרות בסיסית עם שימוש במערכות קבצים של NFS וידע בסיסי בניהול מערכות Linux.

הסבר על אחסון קבצים ב-NFS ב-Bare Metal Solution

אתם יכולים להשתמש ב-NFS כאחסון קבצים מקומי ושיתופי עבור סקריפטים נפוצים, קובצי התקנה וקובצי גיבוי. נפח NFS מספק אחסון לשרת אחד או יותר של Bare Metal Solution דרך ספרייה שמוגדרת ב-NFS. אחרי שטוענים את נפח ה-NFS בשרתים של Bare Metal Solution, אפשר לגשת לאחסון כמו לכל מערכת קבצים אחרת.

כדי להשתמש באחסון קבצים מסוג NFS ב-Bare Metal Solution, צריך לבצע 2 שלבים:

  1. קובעים את ההגדרות הרצויות לנפח NFS ומשתפים אותן עםGoogle Cloud.
  2. מבצעים Mount לנפח ה-NFS בשרת Bare Metal Solution.

ריכזנו כאן כמה טיפים ועובדות שיעזרו לכם להשתמש באחסון קבצים של NFS ב-Bare Metal Solution:

  • התקשורת בין השרתים של Bare Metal Solution לבין נפח ה-NFS מתבצעת דרך רשת משנה של שירותים ששמורה מרשתות הלקוח או הרשתות הפרטיות שהקציתם לסביבת Bare Metal Solution. ברשתות טיפוסיות מסוג ‎ /24, מומלץ להשתמש ברשת משנה מסוג ‎ /28 לשירותים כמו NFS.
  • אפשר להקצות נפח אחסון אחד של NFS לכל רשת משנה. כתוצאה מכך, אי אפשר לשתף נפחי אחסון של NFS בכמה רשתות VLAN.
  • ב-Google Cloud נעשה שימוש ב-NFS v3 בסביבת Bare Metal Solution.
  • אנחנו לא ממליצים להשתמש ב-NFS כדי לאחסן קובצי נתונים או קובצי יומן של Oracle.
  • ‫Google Cloud NFS מסופק באותו אזור שבו מתארח Bare Metal Solution. אחסון קבצים ב-NFS לא מתפרס על פני אזורים שונים של Google Cloud Google Cloud. אם אתם צריכים נפח אחסון שיתופי במספר אזורים, כדאי להשתמש ב-Filestore. אנחנו לא מספקים שכפול מבוסס-אחסון בין נפחי NFS או אזורים.
  • Google Cloud מצפין נתונים במצב מנוחה. הנתונים לא מוצפנים בזמן העברה בין שרת Bare Metal Solution לבין מכשיר האחסון. אם אתם צריכים להצפין את הנתונים של התנועה בזמן ההעברה, מומלץ להגדיר הצפנה ברמת האפליקציה. מידע נוסף זמין במאמר איך אפשר להצפין את התעבורה ב-Cloud Interconnect?
  • אחסון קבצים ב-NFS ל-Bare Metal Solution לא מספק הגבלת קצב העברת נתונים ברוחב פס של הרשת. מכיוון שעומסי עבודה של אצווה עם נפח גבוה וריבוי משימות בו-זמניות (כמו גיבויים) עשויים להשפיע על הביצועים של עומסי עבודה אחרים, כדאי להגביל את השימוש ברוחב הפס ואת העיבוד בו-זמנית של עומסי עבודה כאלה של אצווה.
  • אפשרויות נוספות לאחסון שיתופי שזמינות ב- Google Cloud כוללות את Filestore ואת קטגוריות של Google Cloud Storage שנטענו באמצעות FUSE בשרת Bare Metal Solution. אפשר להקצות את נפח האחסון הזה באופן דינמי ב- Google Cloud באמצעות מסוף Google Cloud , ולהשתמש ב-Cloud Interconnect כדי לצרף את התוסף האזורי לGoogle Cloud אזור.

מידע נוסף על NFS זמין במאמר בנושא Network File System.

למידע נוסף על שימוש באחסון קבצים ב-NFS עם מסד נתונים של Oracle, אפשר לעיין במאמרים הבאים (נדרש חשבון Oracle):

בקשה לאחסון קבצים ב-NFS עבור Bare Metal Solution

כדי להוסיף אחסון קבצים ב-NFS לסביבת Bare Metal Solution, צריך להזמין את נפחי ה-NFS דרך Google Cloud Sales. אחרי שמזמינים את נפחי ה-NFS ואנחנו מקצים אותם לכם, אפשר להגדיר אותם לפי השלבים במאמר יצירת נפח NFS.

אפשר לראות את מכסת הנפח הזמינה בקטע Volumes (נפחים) בGoogle Cloud טופס ההצטרפות למסוף, כמו בדוגמה הבאה:

ההודעה על המכסה הזמינה מודגשת בטופס הקליטה של מסוף Google Cloud

אם אין לכם מספיק נפח אחסון זמין להקצאה, תוכלו לפנות לGoogle Cloud מחלקת המכירות כדי להזמין נפח אחסון נוסף.

אחרי שהנפח שמוקצה לכם יהיה זמין, תצטרכו לאסוף ולספק את הפרטים הבאים כדי להקצות אחסון קבצים ב-NFS לסביבת Bare Metal Solution:

שדה תיאור דוגמה
מזהה הפרויקט ב-Google Cloud כדי למצוא את מזהה הפרויקט, עוברים אל דף קבלת הפנים של הפרויקט Google Cloud . הפרויקט שלי
אזור ‫Google Cloud region בקרבת התוסף האזורי שמארח את סביבת Bare Metal Solution. us-central1
רשתות פרטיות ורשתות לקוחות שתי רשתות המשנה שבחרתם כשאתם מגדירים את סביבת Bare Metal Solution. בדוגמאות במסמכים שלנו, 192.168.1.0/24 היא רשת הלקוח שמתחברת אל Google Cloud, ו-192.168.2.0/24 היא רשת פרטית שמשמשת לשירותים בתוך התוסף האזורי.
שם השם של נפח ה-NFS. בוחרים שם לנפח האחסון. אם לא בוחרים שם, Google Cloud המערכת יוצרת באופן אוטומטי את שם נפח ה-NFS. דוגמה לשם: at-1234567-nfs001.
סוג סוג האחסון שאתם מבקשים לשמור בו את הנתונים. האפשרויות כוללות All flash לבחירת כונן SSD ו-All disk לבחירת כונן HDD. הפלאש פועל
גודל בוחרים את גודל ה-Drive שרוצים. אפשר לבחור נפח אחסון מינימלי של 100GiB ועד נפח אחסון מקסימלי של 16TiB. ‫1TiB‏ (1,024GiB)
הפעלת תמונות מצב בוחרים באפשרות כן אם רוצים להפעיל צילום מצב יומי, או באפשרות לא כדי להשבית את התכונה.
  • אם מפעילים את התכונה הזו, Google Cloud מערכת Cloud Volumes יוצרת תמונת מצב של נפח ה-NFS מדי יום במשך 7 ימים. אחרי 7 ימים, תמונות מצב חדשות יותר מחליפות את הישנות. בנוסף, אנחנו שומרים 20% מאחסון ה-NFS המבוקש לתמונות המצב.
  • אם לא מפעילים את התכונה הזו, צריך לבצע גיבויים של נפח ה-NFS באופן עצמאי.
כן
פרוטוקול מציינים את פרוטוקול האחסון שבו רוצים להשתמש. בשדה הזה אפשר לציין שאתם צריכים NFS. ‫NFS (Network File System)
רשת רשת משנה שיכולה לגשת לנפח NFS. בדרך כלל זהו רשת הלקוח בסביבת Bare Metal Solution. משתמשים שוב בערך שבחרתם למעלה ברשתות לקוחות ורשתות פרטיות.
Target מאפשר גישה לנפח NFS משרת יחיד של Bare Metal Solution (שרת יחיד) או מכל השרתים ברשת משנה (CIDR). CIDR
שרת השם של שרת Bare Metal Solution שיכול לגשת לנפח האחסון של NFS. לדוגמה, at-7654321-svr001
טווח כתובות IP של השירות בוחרים קבוצת משנה של טווח כתובות ה-IP ברשת מהלקוח או מהרשת הפרטית לשימוש באחסון ובשירותים. Google Cloud שומרת את הטווח הזה לשירותים כמו NFS. בדרך כלל, טווח כתובות ה-IP של השירות משתמש ברשת משנה של ‎/26, ‏ ‎/27 או ‎ /28.

במקרה של התקנת Oracle, משתמשים ברשת הלקוח של Bare Metal Solution לאחסון קבצים ב-NFS, ושומרים את הרשת הפרטית לאפליקציות של Oracle.
בדוגמה הזו, 192.168.1.240/28 היא רשת משנה של רשת הלקוח.
הרשאות טעינה בוחרים הרשאות קריאה וכתיבה או הרשאות קריאה בלבד. קריאה-כתיבה
No root squash מומלץ להגדיר את האפשרות הזו ל-True עבור נפחי NFS חדשים. כברירת מחדל, לנפח NFS יש הרשאה 755 ובעלים root(0). אי אפשר לכתוב קבצים לנפחי NFS חדשים כשהאפשרות root squash מופעלת, כי הבעלים של כל נפחי ה-NFS החדשים הוא המשתמש root. לכן, קודם צריך ליצור נפח NFS עם no_root_squash=True, לבנות את מבנה הספריות, לשנות את ההרשאה או הבעלות של נפח ה-NFS, ואז לשנות את נפח ה-NFS עם no_root_squash=False על ידי הסרה והוספה מחדש של הלקוח המורשה. איך מעדכנים נפח NFS נכון
Allow SUID אם בוחרים באפשרות הזו, המשתמשים יכולים לקבל הרשאות בעלים של קובץ באופן זמני כשהם מריצים קובץ, תוכנה או פקודה. אם לא תבחרו באפשרות הזו, NFS לא יספק הרשאות זמניות לבעלי הקבצים. לא נכון
אישור למפתחים בחירה באפשרות הזו מאפשרת למערכת הקבצים לפרש מכשירים מיוחדים של תווים או בלוקים. אם לא בוחרים באפשרות הזו, המערכת עדיין יכולה לכתוב לנפח NFS, אבל היא לא יכולה ליצור מכשירים מיוחדים של תווים או בלוקים. נכון

אחרי ש- Google Cloud יעבד את ההזמנה, יישלח אליכם נתיב של נפח NFS. הוא מופיע בפורמט הבא:

NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME

לדוגמה, אם כתובת ה-IP של שרת ה-NFS היא 192.168.1.240 ושם שיתוף ה-NFS הוא at-1234567-nfs001, נתיב נפח ה-NFS שיתקבל ייראה כך:

192.168.1.240:/at-1234567-nfs001

הגדרת אחסון קבצים מסוג NFS ל-Bare Metal Solution

הדוגמה הבאה עוזרת להגדיר אחסון קבצים ב-NFS לשרתים של Bare Metal Solution, והיא מתבססת על פקודות של Red Hat Enterprise Linux. אם אתם משתמשים במערכת הפעלה אחרת, יכול להיות שהפקודות שבהן תצטרכו להשתמש יהיו שונות.

  1. לפני שמפעילים את אמצעי האחסון של NFS.

    1. מוודאים שיצרתם מכונה וירטואלית של מארח מעבר כדי לגשת לשרת Bare Metal Solution. מידע נוסף זמין במאמר בנושא יצירת מכונה וירטואלית של מארח מעבר ב-Google Cloud.
    2. צריך לספק גישה לאינטרנט לשרת Bare Metal Solution כדי שיוכל להוריד את חבילות ההתקנה הנדרשות. מידע על גישה לאינטרנט זמין במאמר גישה לאינטרנט.

    3. עוברים למסוף השרת של Bare Metal Solution.

      1. ב Google Cloud פרויקט, עוברים אל Compute Engine > VM instances.

      2. לוחצים על הלחצן SSH של מכונת ה-VM של מארח הניתור.

      3. משתמשים ב-SSH כדי להתחבר לשרת Bare Metal Solution ונכנסים באמצעות שם המשתמש והסיסמה.

        [USERNAME@INSTANCE_JUMP_HOST ~]$ ssh ADMIN_USER@BMS_SERVER_IP_ADDRESS
        ADMIN_USER@BMS_SERVER_IP_ADDRESS's password:
        Last login: Wed May 26 22:25:47 2021 from JUMP_HOST_IP_ADDRESS
        [ADMIN_USER@BMS_SERVER_NAME ~]$
        
    4. כדי לגשת ל-DNS, מוסיפים רשומה של שרת DNS בשרת Bare Metal Solution.

      sudo bash -c "echo \"nameserver DNS_SERVER_IP_ADDRESS\" >> /etc/resolv.conf"
      

      אפשר גם להשתמש ב-Cloud DNS ולציין נקודות כניסה של מעביר נכנס במקום כתובת ה-IP של שרת ה-DNS. מידע נוסף על Cloud DNS זמין במאמר סקירה כללית על Cloud DNS.

    5. מגדירים את מערכת ההפעלה כך שתאפשר עדכוני חבילות.

    6. מתקינים את חבילת ה-NFS בשרת Bare Metal Solution.

      sudo yum install -y nfs-utils
      
  2. מבצעים Mount לנפח ה-NFS.

    1. יוצרים ספריית טעינה בשרת Bare Metal Solution.

      sudo mkdir -p /mnt/DIRECTORY_NAME
      
    2. מחפשים את הנתיב של נפח האחסון ב-NFS שנשלח אליכם על ידי Google Cloud.

    3. מבצעים Mount לנפח ה-NFS. לשימוש כללי ב-NFS, משתמשים בפקודה הבאה:

       sudo mount -t nfs NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME
      
      בהתאם לעומס העבודה, אפשר להוסיף את האפשרות nconnect כדי להשיג את הביצועים הטובים ביותר. משתמשים בפקודה הבאה כדי לטעון נפח NFS עם האפשרות nconnect. ב-RHEL 7, כדי להשיג ביצועים דומים, צריך להשתמש בכמה לקוחות NFS.
       sudo mount -t nfs -o \
         rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,nconnect=8 \
         NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME
      
      ברוב ההטמעות של Oracle בסביבת Bare Metal Solution, משתמשים בפקודה הבאה כדי לטעון את אמצעי האחסון.
       sudo mount -t nfs -o \
         rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600 \
         NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME
      
      אם ההטמעה של Oracle מחייבת אחסון של קבצים בינאריים או קובצי נתונים של Oracle RAC בנפח NFS, מזינים את הפקודה הבאה שמשתמשת באפשרות actimeo. הפעולה הזו משביתה את השמירה במטמון של מאפיינים בצד הלקוח כשמתבצעת כתיבה בו-זמנית מכמה לקוחות, אבל היא יכולה להשפיע על ביצועי הקלט/פלט.
       sudo mount -t nfs -o \
        -rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,actimeo=0 \
        NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME
      
    4. כדי לטעון את נפח ה-NFS באופן אוטומטי אם השרת מופעל מחדש, מוסיפים את הרשומות הבאות לסוף הקובץ fstab. הקובץ הזה נמצא בספרייה /etc בשרת Bare Metal Solution. משתמשים בהרשאות אדמין sudo ובכלי לעריכת טקסט כדי לערוך את הקובץ, ומוודאים שיש 3 רווחים בין כל רשומה.

      NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME   /mnt/DIRECTORY_NAME   nfs    defaults,nofail   0 0
      
      [ADMIN_USER@BMS_SERVER_NAME ~]$ sudo -i
      [root@BMS_SERVER_NAME ~]# cd /etc
      [root@BMS_SERVER_NAME etc]# vi fstab
      [root@BMS_SERVER_NAME etc]# cat fstab
      #
      # /etc/fstab
      # Created by anaconda on Sun Feb 16 10:06:11 2020
      #
      # Accessible filesystems, by reference, are maintained under '/dev/disk'
      # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
      #
      /dev/mapper/rootvg-rootlv /                       xfs     defaults        0 0
      UUID=bc39a085-d080-488e-9402-d22558bc88ae /boot                   xfs     defaults        0 0
      UUID=4127-64CB          /boot/efi               vfat    defaults,uid=0,gid=0,umask=0077,shortname=winnt 0 0
      /dev/mapper/rootvg-homelv /home                   xfs     defaults        0 0
      /dev/mapper/rootvg-optlv /opt                    xfs     defaults        0 0
      /dev/mapper/rootvg-tmplv /tmp                    xfs     defaults        0 0
      /dev/mapper/rootvg-varlv /var                    xfs     defaults        0 0
      /dev/mapper/rootvg-swaplv swap                    swap    defaults        0 0
      **NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME   /mnt/DIRECTORY_NAME   nfs    defaults,nofail   0 0**
      
    5. מוודאים שיש לכם גישה לנפח האחסון.

      mount -l | grep nfs
      
      NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME on /mnt/DIRECTORY_NAME type nfs
      (rw,relatime,vers=3,rsize=65536,wsize=65536,namlen=255,
      hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=NFS_SERVER_IP_ADDRESS,
      mountvers=3,mountport=635,mountproto=udp,local_lock
      =none,addr=NFS_SERVER_IP_ADDRESS)
      
    6. מוסיפים קובץ בדיקה לספריית ה-NFS.

      cd /mnt/DIRECTORY_NAME
      echo 'testing' | sudo tee -a testfile
      sudo cat testfile
      sudo rm testfile
      

צפייה באחסון קבצים ב-NFS עבור Bare Metal Solution

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

    mount | grep NFS_SHARE_NAME
    
    NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME on /mnt/DIRECTORY_NAME type nfs
    (rw,relatime,vers=3,rsize=65536,wsize=65536,namlen=255,
    hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=NFS_SERVER_IP_ADDRESS,
    mountvers=3,mountport=635,mountproto=udp,local_lock
    =none,addr=NFS_SERVER_IP_ADDRESS)
    

ביטול הטעינה של אחסון קבצים ב-NFS ב-Bare Metal Solution

  • כדי לבטל את הטעינה של נפח ה-NFS ולאשר את ההסרה שלו, משתמשים בפקודות הבאות.

    sudo umount /mnt/DIRECTORY_NAME
    mount | grep NFS_SHARE_NAME