דף זה מתאר כיצד למטב את גישת הלקוח של NFS ב-Linux עבור עומסי עבודה של אוטומציה של תכנון אלקטרוני (EDA). מסמך זה מיועד למנהלי אחסון, אדריכלי ענן ומהנדסי מערכת האחראים על הגדרת צמתי מחשוב לינוקס וניהול סביבות EDA בעלות ביצועים גבוהים ב- Google Cloud.
שיטות מומלצות לשימוש בלקוח
צמתי לינוקס ומכונות וירטואליות אינטראקטיביות טעינו אמצעי אחסון של NetApp דרך NFS. כוונון לקוח אינו מגדיל את מגבלות התפוקה של אמצעי האחסון, אך הוא מסייע במניעת סערות מטא-דאטה, עומס יתר על חריצים בנקודת קצה אחסון אחת והתנהגות קריאה רציפה לקויה בספריות גדולות.
הגדר את הלקוחות לפי הסדר הבא:
מקביליות של הליבה (לפני הרכבה): מקביליות של NFS בלינוקס
עבור תמונות חישוב של Cluster Toolkit ו-Slurm, יש לכלול הגדרות טבלת חריצים בתמונת החישוב או בסקריפטי האתחול לפני הטעינה הראשונה.
אפשרויות הרכבה (במצב ההרכבה): אפשרויות הרכבה של NFS בלינוקס
קריאה מראש (לאחר הרכבה, אופציונלי): קריאה מראש של NFS ב-Linux
למידע נוסף על אופטימיזציה של לקוחות NFS, ראו אופטימיזציה של לקוחות NFS של לינוקס עבור אמצעי אחסון של NetApp.
לפקודות הרכבה ומדיניות ייצוא, ראה חיבור לקוחות NFS. כדי לפזר לקוחות על פני אמצעי אחסון גדולים, ראו חיבור אמצעי אחסון בעלי קיבולת גדולה עם נקודות קצה מרובות של אחסון ודפוסי אדריכלות של EDA.
אופטימיזציה של חוות EDA עם לקוחות רבים
השתמש בהגדרות הבאות עבור פריסות בקנה מידה גדול עם מאות או אלפי צמתי מחשוב שחולקים את אותם פעולות ייצוא. תצורות אלו אינן תואמות להגדרות ביצועים של מכונה וירטואלית יחידה, שבדרך כלל משתמשות באפשרות ההרכבה nconnect=16 על מארח יחיד.
| אזור | נקודת התחלה מומלצת |
|---|---|
| פרוטוקול | NFSv3 (vers=3) אלא אם כן אתה זקוק לתכונות NFSv4.1 |
| מקביליות (NFSv3) | טבלת חריצים נמוכה של RPC לכל לקוח; לדוגמה, 8 ערכים ב-/etc/modprobe.d/sunrpc.conf |
| חיבורים | חיבור TCP אחד לכל לקוח לכל נקודת קצה של אחסון; אין להשתמש ב-nconnect |
| נפחי קיבולת גדולים | טעינה באמצעות DNS או קבוצות סטטיות כדי לפזר צמתים על פני נקודות קצה מרובות של אחסון |
| גודל ההעברה | הגדר את rsize=262144 ואת wsize=262144 |
| אמינות | השתמש בהגדרות ברירת המחדל של הקונסולה hard, tcp, timeo=600 או Google Cloud |
| טעינת מטא-נתונים | השתמש ב-noatime בספריות וב-Scratch אם האפליקציה מאפשרת זאת |
| מנעולים (NFSv3) | השתמש ב-nolock אם אינך משתמש במנעולי ייעוץ ו-Network Status Monitor (NSM) אינו מוגדר |
| קריאה מראש | הגדלה עבור ספריות לקריאה בעיקר לאחר הרכבה אם קריאות עוקבות איטיות |
אמת את ההגדרה שלך באמצעות הפקודה nfsiostat והמדדים המתוארים בניטור ביצועים תוך כדי הפעלת בדיקת רגרסיה המייצגת את עומס העבודה הטיפוסי שלך בייצור.
אופטימיזציה של לקוחות לפי רמת נתונים
הטבלה הבאה מפרטת את תחומי המיקוד של הלקוחות ואפשרויות הרכבה אופייניות לפי רמת נתונים:
| נִדבָּך | מיקוד לקוח | אפשרויות אופייניות הקשורות להרכבה |
|---|---|---|
| ספריות | צמצום קריאה רציפה של קבצים גדולים באמצעות GETATTR ומטא-דאטה |
vers=3, hard, tcp, noatime, rsize ו-wsize; יש לשקול את actimeo=600 ו-nocto רק אם הנתונים ניתנים לקריאה בעיקר וכללי הקוהרנטיות מאפשרים זאת. |
| לְגַרֵד | סופרים רבים; קוהרנטיות חשובה | vers=3, hard, tcp ו-noatime; אין להשתמש במטמון אגרסיבי של מאפיינים; יש לשמור על מספר חריצים נמוך לכל צומת |
| כלים | קריאה בעיקר, בדומה לספריות | vers=3, hard, tcp, noatime, rsize=262144 ו-wsize=262144; יש לשקול את actimeo=600 ו-nocto רק אם הנתונים הם לקריאה בעיקר וכללי הקוהרנטיות מאפשרים זאת; יש לשמור על אפשרויות הרכבה יציבות בכל תמונת האשכול. |
| בית | קלט/פלט קטן מעורב | Google Cloud ברירות מחדל של הקונסולה בדרך כלל מספיקות; השתמשו במשבצות נמוכות אם הבית חולק נקודת קצה עם scratch |
השתמש ב-Kerberos (sec=krb5, krb5i או krb5p) רק כאשר המדיניות דורשת זאת.
אין לשלב Kerberos עם nconnect. למידע נוסף, ראו אפשרויות הרכבה של NFS ב-Linux.
המאמרים הבאים
- לתוצאות ביצועים, ראו ביצועי ביצועים של אוטומציה של תכנון אלקטרוני.