בדף הזה מוסבר איך לכוונן לקוחות NFS של Linux שמבצעים mount לייצוא של NetApp Volumes. ברוב עומסי העבודה, אין צורך בכווננון. אלא אם אתם צריכים תפוקה גבוהה יותר, יותר IOPS, עומס מטא-נתונים נמוך יותר בנפח או התנהגות ספציפית של שמירת נתונים במטמון, כדאי להשתמש בפקודת ה-mount מGoogle Cloud המסוף.
מידע נוסף על שלבי החיבור, על הגדרת מדיניות הייצוא ועל פקודות ההרכבה זמין במאמר חיבור של לקוחות NFS.
הגדרת לקוחות
מגדירים את הגדרות Linux NFS לפי הסדר הבא:
מקביליות של ליבת המערכת: לפני הרכבת מערכת הקבצים, מגדירים את מספר משבצות הבקשות של NFS (רשומות בטבלת המשבצות עבור NFSv3 או משבצות סשן עבור NFSv4.1). אם משנים את ההגדרות, צריך להרכיב מחדש את מערכת הקבצים. מידע נוסף זמין במאמר בנושא בו זמניות של Linux NFS.
אפשרויות הרכבה: בוחרים את גרסת הפרוטוקול, גודל הקלט/פלט, מספר חיבורי ה-TCP, נעילה ואפשרויות שקשורות למטמון בזמן ההרכבה. מידע נוסף זמין במאמר בנושא אפשרויות להרכבת Linux NFS.
קריאה מראש: שינוי של קריאה מראש של נתונים רציפים לכל נקודת הרכבה אחרי שהנפח מורכב. מידע נוסף זמין במאמר בנושא קריאה מראש של Linux NFS.
הטבלה הבאה מסכמת את שלבי ההגדרה האלה:
| שלב | מתי | מה אפשר לקבוע | איפה מגדירים | מדריך |
|---|---|---|---|---|
| 1 | לפני ההרכבה הראשונה או לפני הרכבה מחדש | פעולות RPC בהמתנה לכל חיבור TCP; פקודות NFSv4.1 לכל סשן | /etc/sysctl.conf,/etc/modprobe.d/ |
מקביליות ב-Linux NFS |
| 2 | בזמן ההתקנה | פרוטוקול, גודל העברה של קלט/פלט, מספר החיבורים, נעילה ומטמון מאפיינים | mount -o, /etc/fstab |
אפשרויות טעינה של NFS ב-Linux |
| 3 | אחרי הטעינה | שליפה מראש של קריאה רציפה | /sys/class/bdi/.../read_ahead_kb, udev rules |
קריאה מראש ב-Linux NFS |
איך ההגדרות פועלות יחד
ליבת Linux מגדירה מקביליות לכל חיבור (שלב 1 בטבלה הקודמת). אפשרות ההרכבה nconnect (שלב 2 בטבלה שלמעלה) מאפשרת לכם לפתוח כמה חיבורי TCP מלקוח אחד לאותה כתובת IP של נפח האחסון.
הנוסחה לחישוב מספר החיבורים המקבילים המשוער ללקוח אחד:
(slots per connection) x (nconnect value)
כל חיבור TCP לנקודת קצה של NetApp Volumes NFS תומך בעד 128 פעולות מצטברות לכל חיבור ל-NFSv3. בנוסף, NFSv4.1 מנהל משא ומתן על מגבלות ברמת הסשן. חיבור TCP יחיד יכול להגביל את יעילות ההפעלה בו-זמנית מתחת למקסימום של הסשן. מידע נוסף זמין במאמר בנושא הפעלה בו-זמנית של Linux NFS.
אם כמה לקוחות מטמיעים את אותה כתובת IP של נפח אחסון, צריך להשתמש במגבלת משבצות נמוכה יותר לכל לקוח, כדי שהמספר הכולל של פעולות בהמתנה בכל צי הלקוחות יישאר בגבולות המומלצים.
מגדירים קריאה מראש לכל נקודת טעינה (שלב 3 בטבלה הקודמת). זה תלוי באפשרות ההרכבה rsizeובברירות המחדל של הפצת Linux. חלק מההפצות משתמשות בזיכרון מטמון קבוע של 128KiB לקריאה מראש, ללא קשר ל-rsize, מה שיכול להפחית את הביצועים של קריאה רציפה עד שתבצעו התאמה.
אפשרויות ההרכבה והגדרות הליבה לא משנות את מדיניות הייצוא, את הגדרות Kerberos, את הדרישות של חומת האש או את התפוקה ברמת השירות ואת מגבלות ה-IOPS של נפח האחסון.
נקודות התחלה של עומסי עבודה
בטבלה הבאה מפורטים נקודות התחלה. בודקים את ההגדרות באמצעות האפליקציה, הפצת Linux ונתיב הרשת.
| עומס עבודה | בו-זמניות (concurrency) של ליבה | אפשרויות הרכבה | קריאה מראש |
|---|---|---|---|
| לשימוש כללי | ברירת המחדל של מערכת ההפעלה | שימוש בהוראות הטעינה ממסוף Google Cloud | ברירת המחדל של מערכת ההפעלה |
| מכונה וירטואלית יחידה, תפוקה גבוהה/IOPS |
|
|
כוונון אם עומסי העבודה מוגבלים לקריאה רציפה |
| לקוחות רבים (EDA/HPC/render farm) |
|
|
לרוב גבוה יותר במערכי נתונים גדולים וסטטיים |
| Kerberos NFSv4.1 |
|
|
לפי הצורך לקריאות רצופות |
| NFSv3 בלי מנעולי ייעוץ | ברירת המחדל של מערכת ההפעלה |
|
לפי הצורך |
מדידה ואימות של הכוונון
אחרי שמעדכנים את הגדרות הלקוח, מבצעים את השלבים הבאים:
מריצים את
nfsiostat,mountstatsו-nfsstatבלקוח. מידע נוסף מופיע במאמר בנושא מעקב אחרי ביצועים.משווים את התוצאות לנקודות השוואה של ביצועים. נקודות ההשוואה האלה מבוססות על
nconnect=16,rsize=65536ו-wsize=65536בחלק מהבדיקות של NFSv3 ב-Red Hat Enterprise Linux 9.
התאמה של הלקוח משפרת את היעילות של השימוש בנתיב הרשת לנפח של מכונה וירטואלית (VM). קיבולת הנפח, רמת השירות, מגבלות מאגר האחסון וגודל המכונה הווירטואלית ב-Compute Engine עדיין עשויים להגביל את התוצאות.
המאמרים הבאים
שינוי מספר החיבורים המקבילים: Linux NFS concurrency.
שינוי אפשרויות הטעינה: אפשרויות טעינה של Linux NFS.
שיפור קריאות רציפות: Linux NFS read-ahead.