שאלות הבאות עשויות לעזור לך להבין האם אתה רוצה לשמור על זמינות מתמידה של השרתים, גם כאשר מתכנת הליבה נופל בעבודה? האם ברצונך שהשרת שלך יכול לגשת למספר VLANים שונים בלתי תלוי בנהגים מסוימים של יצרן מסוים? האם ברצונך לפשט את התצורה הרשתית שלך עבור מארחים פיזיים ווירטואליים בסביבתך? אם ענית חיובית על כל אחת מהשאלות הללו, אז מאמר זה יכול להיות בשבילך.
NIC Teaming יכול לשפר את עמידות השגיאות של המכונות שלך, לנצל טוב יותר משאבי הרשת (איזון משאבים), להגדיר VLANים עבור המכונה לשימוש ולפשט את התצורה הרשתית שלך.
במאמר זה, תלמד מהו NIC Teaming, ויהיו לך שקפים מיוחדים הקשורים לשימוש ב-NIC Teaming במכונות וירטואליות, וכיצד להטמיע אותו בארגונך.
דרישות מקדימות
אינך צריך להיות מומחה ב- Windows או בניהול רשת כדי להבין את NIC Teaming. אך יש לך כמה דרישות טכניות וידע שדרוש להבנה ויישום של מאמר זה. הפריטים האלה הם:
- הבנה של כיצד רשתות פועלות (כתובות MAC, כתובות IP, VLANים)
- גישה ל- Windows Server 2016 (או 2019) עם שני או יותר מתאםי רשת זמינים – כמעט כל מה שתראה כאן יחול גם על Windows Server 2016, 2012R2, ו-Windows Server 2012
הבנה של NIC Teaming
בהגדרה רשתית מסורתית לשרת פיזי, אתה מספק עמידות תקליטים על ידי הזרמת כמה כבלי רשת מהשרת למספר מתגי רשת פיזיים (אולי חלק מקונקן יחיד). לכן, השרת מפעיל כמה כתובות IP בכל עת, ואיזון משאבים אינו קיים.
על ידי הפעלת צוות NIC בשרת שלך, תוכל לשמור על חיבור למספר סוויצ'ים פיזיים, אך להשתמש רק בכתובת IP יחידה. אז מאז יש זמינות מיידית של ייצוב עמידות בפני תקלות. האיזון משולב יהיה זמין. העמידות בפני תקלות היא מיידית במקום לחכות לרשומות DNS להתעדכן או להפסיק. והניהול יהיה פשוט יותר.
ניהול NIC הוא יכולת ב-Windows Server שמאפשרת לך לקבץ NIC ל-"צוותים". כל צוות כולל חברי צוות אחד או יותר (NIC שבצוות) וכמה NIC וירטואליים שזמינים לשימוש.
חברי הצוות הם מתאם רשת שבו הצוות תופס קשר עם הסוויץ'. ממשקי הצוות הם המתאמים הווירטואליים שנוצרים כשאתה יוצר את הצוות. יכול להיות קשה לזכור מי הוא מי, מאחר והממשקים של הצוות מקבלים כתובת IP.
מה ההבחנה בין צוותי NIC לבין התקשורת?
ניהול NIC הוא נרדף עם אילוץ NIC.
ניהול NIC זמין בכל המהדורות של Windows Server החל מ-Windows Server 2012. יכולת זו היא גמישה ביותר ומספקת למנהלים פתרון הרבה יותר פשוט עבור קיבוץ קישורים/איזון עומס, כשירות פיסית ורשתות מוגדרות בתוכנה (VLANs).
יש פתרונות דומים על חומרה מסוימת של יצרנים מסוימים, אך היישום של NIC של מיקרוסופט מטרתו לספק את התכונות אלו בצורה חומרה וספק חוץ מספק.
מה ההבחנה בין צוותי NIC לבין גשרונים?
NIC Teaming מאפשר לך ליצור ממשק NIC שמתרפס על אחד או יותר מתאגדי NIC שנמצאים כלם באותה תת-רשת. גשר NIC מאפשר לך לזוג את מתאגדי ה-NIC מתתי רשתות שונות כדי לאפשר תקשורת בין שתי התת-רשתות.
בעת הגדרת NIC Team, עליך להגדיר את מצב הצמתות, מצב איזון העומס, מתאגד חסין, ו־VLAN של ממשק הצוות. כל אחת מהרכיבים הללו מוסברת למטה.
מצב הצמתות
בעת יצירת NIC Team, עליך לבחור איזה מצב צמתות להשתמש בו. מצב הצמתות קובע איך השרת והמתג(ים) יחלקו את תעבורת הנתונים בין הקישורים המרובים. יש שלושה סוגי מצבי צמתות: תלות במתג, LACP, וסטטי.
תלות במתג
תלות במתג מאפשרת לך לחבר חברי צוות למספר מתגים לא מקוננים. מצב תלות במתג הוא המצב היחיד שמשתמש בלא שינויים בתצורה על המתגים שאליהם אתה מחבר אותו. מצב זה משתמש רק בכתובות MAC כדי לשלוט על איזו ממשק ישלחו הנתונים הנכנסים.
ישנם מספר מצבים בהם עשויים לבחור להשתמש במצב תלות במתג כמו. זה יכול להיות כאשר:
- לא תרצה לבצע שינויים בתצורה על המתגים שאתה מחובר אליהם
- שימוש במספר מתגים לא מקוננים לחברי הצוות
- יצירת צוות NIC בתוך מכונה וירטואלית (לפרטים נוספים ראה את הסעיפים במדור שימוש במכונות וירטואליות למטה)
אם אתה מעדיף להשתמש באדפטר יחיד עבור תעבורה ורק להחליף לאדפטר חילופי במקרה של כשל בקישור פיזי, עליך להשתמש במצב צמיד עצמאי של ציבור המגנטי ולהגדיר אדפטר חילוף.
A standby adapter is not used often because it reduces the total bandwidth that is available for communicating with the server. The default setting is “None (all adapters Active)”.
התערובת
התערובת הסטטית מחייבת משתמש להגדיר באופן ידני יציאות במתג המחוברות לצוות NIC לקבוצת גיבוב קישורים (LAG). השרת והמתג יחלקו את התעבורה בין כל הקישורים שהם מחוברים.
אם יציאה מאחד הקצוות מחוברת למכשיר אחר, התעבורה תתחלק באופן זה לקישור שאינו מצפה לכך. לכן, זה אינו סיוע בזיהוי שגיאות כמו כבלים שאינם מחוברים נכון.
עליך להשתמש במצב התערובת הסטטי רק כאשר המתגים שלך לא יכולים לתמוך ב־LACP.
תערובת פרוטוקול בקרת גיבוב קישורים (LACP)
LACP דומה לתערובת סטטית, אך היא גם מעקבת אחר כל כבל פעיל בקישור כך שהוא מחובר ל־LAG המיועד. LACP לא ישלח נתונים דרך קישורים שאינם מחוברים ל־LAG הצפוי.
עליך להשתמש ב־LACP כאשר ברצונך להודיע למתג על הצוות NIC על מנת לאזן את המידע שהמתג שולח לצוות NIC.
חשוב: מצבי תערובת סטטית ו־LACP דורשים ממך להתחבר למארח למתג יחיד או לערמת מתגים יחידה בלבד.
מצב איזון תעבורה
מצב שיווי העומס קובע איך הצוות יציג ממשקים עבור נתונים נכנסים ויקבע אילו מתאמים להשתמש בהם עבור נתונים יוצאים. האפשרויות הזמינות הן Address Hash, Hyper-V Port, ו-Dynamic.
בניגוד ל"מכשיר שיווי עומס", תעבורת הנתונים הנכנסת לא תחולק באופן שווה בין כל הקישורים בשימוש של חברי הצוות.
מצב "Address Hash"Address Hash ינסה להשתמש בכתובות ה-IP והפורטים של מקור ויעד כדי ליצור שיווי עומס אפקטיבי בין חברי הצוות. אם אין פורטים השייכים לחיבור, הוא ישתמש רק בכתובות ה-IP כדי לקבוע איך לשווה את העומס. במקרים שבהם אין כתובות IP השייכות לחיבור, הוא ישתמש בכתובות MAC.
בעת יצירת צוות NIC, תוכל לכפות על הצוות להשתמש ב-IP+Port, ב-IP בלבד, או בכתובת MAC בלבד. IP+Port הוא ברירת המחדל וסופק השיווי הטוב ביותר בין חברי הצוות. כדי להשתמש ב-IP בלבד או בכתובת MAC בלבד, יהיה עליך ליצור את הצוות NIC שלך דרך PowerShell.
בעוד שמצב שיווי העומס "Address Hash" עושה עבודה טובה בפיצול תעבורה יוצאת בין חברי הצוות, הוא לא מסוגל להתאים לחברי צוות שמשתמשים יתר/פחות מאוד. גם כל התעבורה הנכנסת משתמשת בכתובת ה-MAC של ממשק הצוות הראשי. אך, זה מוגבל לקישור יחיד בשימוש במצב Switch Independent.
עליך להשתמש ב-"Address Hash" כאשר אתה יוצר צוות בתוך מכונה וירטואלית.
Hyper-V Port
מצב יציאת Hyper-V Port מיועד לשימוש רק על מארחי מכונה וירטואלית של Hyper-V. מצב זה יעניק כתובת MAC לכל מכונה על המארח של המכונה הוירטואלית ולאחר מכן יעניק לכל אחד מהכתובות MAC חבר בצוות. זה מאפשר למכונה וירטואלית ספציפית לקבוע מראש איזה חבר בצוות תהיה לה במצב תפעול רגיל.
חברי צוות צפויים עבור כל מכונה וירטואלית אומרים שרוחב הפס של המכונה וירטואלית מוגבל למקסימום של הקישור היחיד שהיא פועלת עליו. כאשר למארח של Hyper-V יש מספר מכונות וירטואליות עליו, שימוש במצב השינוי של שיטת טעינת ההילוכים של Hyper-V ייתכן כי לא יהיה מאוזן מאוד.
בדרך כלל אין צורך להשתמש במצב יציאת Hyper-V, אך ייתכן ותמצא שזה משתלם אם עליך לוודא שכל מכונה וירטואלית משתמשת בקישור זה בכל עת.
דינמי
מצב דינמי משתמש בתכונות הטובות ביותר מבין גישת חשיבת כתובת ומצבי פורט של Hyper-V כדי לאזן את תעבורת הרשת היוצאת והנכנסת. כמו Hyper-V, תעבורת הנכנסת מתוחזקת על ידי חלוקת חברי צוות לכתובות MAC שונות. כמו גישת חשיבת כתובת, תעבורת היוצאת מתוחזקת על ידי קישוריות הגורם מורכבת מכתובת IP/פורט. המישור הזה מספק איזון טוב יותר בהשוואה לכל אחת מהשיטות הנ"ל.
המצב דינמי מגיע עם שיפור חשוב אחד: מעקב דינמי של תעבורת. כאשר אלגוריתם המצב הדינמי קובע שחברי הצוות משומשים בדרך יתר/פחות מתאימה, הוא ישוב לאזן מחדש את תעבורת היוצאת לחברי הצוות האחרים ככל הצורך.
נפרטים TCP מציעים קדנציה טבעית שמאפשרת לחזות כמויות תעבורה עתידיות / הפסקים ב־TCP; Microsoft קוראת לכך פלאוטים (flowlets). במצב האוטומטי של שיווי משקל, ניתן גם לצפות, דרך הפלאוטים, מי מחברי הצוות יהפכו לא מומלצים או מתועלמים ולאתר מחדש תעבורה יוצאת לכיוון. מצב דינמי כמעט תמיד הוא האפשרות הטובה ביותר לשיווי משקל.
מצב דינמי הוא כמעט תמיד האפשרות הטובה ביותר לשיווי משקל.
VLAN של ממשק הצוות
ביצירת צוות, כברירת מחדל, ייווצר ממשק צוות יחיד. לממשק הצוות יש הגדרת VLAN לתיוג תעבורה בממשק ל-VLAN ספציפי. הגדרת VLAN של ממשק הצוות ל־VLAN מתוייג נעשית tipically רק כאשר חברי הצוות שהם נוצרים מקבוצת כרטיסי הרשת (NIC Team) משתמשים במצב ‘trunk’.
לאחר יצירת הצוות, ניתן ליצור ממשקי צוות נוספים על VLANים שונים.
אזהרה: Microsoft ממליצה לעולם לא להגדיר את VLAN עבור ממשק בתוך מכונה וירטואלית. במקום זאת, יש להשתמש באפשרות מתקדמת במפסק Hyper-V בשם "מזהה VLAN" כדי להגדיר VLAN עבור מכונה וירטואלית.
שיווי משקל של כרטיסי רשת (NIC Teaming) במכונות וירטואליות
הקמת צוותי NIC במכונה וירטואלית מגיעה עם כמה הגבלות. Microsoft מציינת במפורש ששימוש ב-"צוותים על צוותים" (צוותי המארח וצוותי המכונה הווירטואלית) יכול להיות פלאוטי ולגרום לאובדן חיבור.
לפי המסורת, ספק עמידות תקלות ל-VM היה דורש שה-VM יהיה מחובר למספר של מתגים וירטואליים חיצוניים. עליך לתכנן אילו VMs ישתפו בכל מתג וירטואלי כדי לוודא שאף אחד לא יתפנק מדי. בעיות שיווד שיטת האיזון היו מורכבות יותר עם האפשרות להתפנקות מה-VMs האחרים על המארח.
בימינו, באפשרותך לפרוס צוות NIC במארח ה-VM עם מתאם רשת יחיד לכל VM. כל ה-VMs מרוויחות עמידות תקלות מלאה מפעילות פיזית או כשלים של מתגים. כל ה-VMs יכולות להפנות את תעבורתם על ידי חברי הצוות לצורך ניהול משאבים וטיפול בהתפנקות יותר יעיל. התצורה שלך כעת יכולה להיראות כך:

צוות NIC ב-VM נמצא לעיתים קרובות בשימוש כדי לאפשר SR-IOV להפחתת העומס של המערכת הרשת. עליך גם לקבל תמיכה ב- BIOS ותמיכה ב-NIC כדי ש-SR-IOV תהיה פעילה.
דרישות
שימוש ב-NIC צוות בתוך VM כולל דרישות אלו להיות "תצורה נתמכת":
- עליך להשתמש במספר מתאמים רבים ב-VM.
- המתאמים חייבים להתחבר לשני מתגים וירטואליים שהם מסוג "חיצוניים".
- אם מתחברים למתגים פיזיים, המתגים חייבים להיות באותה תת-רשת של L2.
- מצב צוות NIC של ה-VM חייב להיות מוגדר כ-אינדפנדנטי של המתג ומצב איזון העומס חייב להיות מוגדר ל-*איזון כתובת.*
ב- Hyper-V, יש צורך גם להפעיל את צוות NIC עבור ה- VM מכל כרטיסי הרשת בלשונית תכונות מתקדמות שיהיו חלק מהצוות. ניתן לראות משלך מה נראה הגדרה זו.

מקסימום ביצועים
בעוד שלצוות NIC יש ביצועים טובים כבר כאשר הם מופעלים, ישנם תרחישים שונים בהם ייתכן שתרצה להתמקד בשיפור ביצועים. פרטי התרחישים הללו אינם חלק מהמלכירות של מאמר זה, אך אם ברצונך ללמוד עוד על איך לשפר ביצועים, מומלץ להתמקד במונחים הבאים:
- Remote Direct Memory Access (RDMA)
- Switch Embedded Teaming (SET)
- Receive Side Scaling (RSS)
- Single-Root I/O Virtualization (SR-IOV)
בדרך כלל, ההגדרות הנוספות הללו מפחיתות עלויות CPU עבור המחסמת הרשת והלטנציה בין החיבורים. ניתן ללמוד עוד על שיפור הביצועים במאמרי ה- טכנולוגיות תוכנה וחומרה מוסברות וה- ביצועים גבוהים דרך RDMA עם SET.
יצירת צוות NIC ב- Windows Server
עם הבנה של איך עובדת הצוות NIC וחזון לפשט את הרשת שלך, אתה כעת מוכן ליצור צוות NIC!
לצורך ההדגמה הזו, צוות NIC ייווצר על VM עקב הגבלות בסביבת ההדגמה. התקנת צוות NIC על שרת פיזי היא זהה, אבל אם נדרשים צעדים ספציפיים ל-VM, הם יופיעו.
איך בודקים האם צוות NIC מופעל?
צוות NIC מופעל בכל גרסאות שרתי Windows מאז 2012 (שרת 2012, 2012R2, 2016 ו-2019).
הפעלת צוות NIC דרך ממשק משתמש גרפי
להתחלה, פתח את Server Manager במכונת שרת Windows. וודא כי אתה מחובר למכונה שברצונך להגדיר בה את צוות ה-NIC.
- ראשית, לחץ על שם השרת שבו תרצה להגדיר את צוות ה-NIC ובחר Configure NIC Teaming.

2. בחר ב-NICs הרצויים להוספה לצוות החדש מלוח ה-Adapters and Interfaces. לאחר מכן, לחץ ימנית על המתאמים שנבחרו ובחר Add to New Team.

הערה: ניתן להגדיר NIC Teaming עם כל שילוב של מתאמים (עד 32) וממשקי צוות אחד או יותר.
3. הזן שם צוות מתאר והגדר מאפיינים נוספים ככל הצורך ולחץ על אישור כדי ליצור את הצוות.
בדוגמה זו, צוות ה-NIC מוגדר על VM. כתוצאה מכך, מצב הצוות או מצב איזון העומס אינם יכולים להשתמש. אם ההדגמה הייתה על שרת פיזי, כנראה שהיית משתמש ב-Switch Independent או LACP אם השתמשת ב-LAG במתג.

צוות ה-NIC צריך להיות כעת יצור על שרת Windows.
הוספת ממשקים רשת נוספים או ממשקים לצוות NIC
פעם שנוצר, ניתן להוסיף NICים לצוות מתפריט הצוות NIC אותו הוגדר. לעשות זאת, לחץ ימינה על NIC זמין ובחר הוסף לצוות "<שם הצוות>".

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

כאשר יופיע הקלט, הזן את ה-VLAN שברצונך להשתמש בו ואופציונלית, שם כפי שמוצג למטה.

הפעלת NIC Teaming דרך Windows PowerShell
עכשיו שאתה יודע כיצד להגדיר צוות NIC ב-GUI, בוא נבדוק כיצד לעשות זאת דרך PowerShell.
מציאת שמות NIC
לפני הכל, עליך להחליט אילו NICים תרצה להוסיף לצוות. בדיוק יש לך לגלות את שמות ה-NICים.
כדי למצוא את שמות ה-NICים, השתמש בפקודת Get-Adapter
. הפעל את הפקודה ושים לב לאפשרויות שלך כפי שמוצג למטה.

כשתעטוף את השמות, כעת תוכל ליצור את הצוות באמצעות PowerShell! לדוגמה זו, נשתמש ב-NICים Ethernet 3 ו-4 לצוות NIC חדש.
יצירת הצוות NIC
עכשיו שיש לך את שמות המתאפסים, יש לך רק פקודה אחת נוספת (New-NetLbfoTeam
) להריץ. ניתן לראות דוגמה להרצת פקודת New-NetLbfoTeam
ולפלט שלה למטה.
עבור הפרמטר TeamMembers
, תשתמש בשמות ה-NICים שאספת לפני כן.
שבו דוגמא זו, ה־TeamingMode
מוגדר ל־SwitchIndependent
. אם אתה מגדיר את יציאות המתג ל־LAG, ייתכן ותרצה להשתמש בערך של LACP
. אם אין לך LAG במתג, כנראה שתבחר להשתמש ב־SwitchIndependent
.
ערך הפרמטר LoadBalancingAlgorithm
מוגדר כ־Dynamic
מכיוון שמצב זה מספק את ההפצה הכבדה ביותר על פני חברי הצוות.

לאחר השלמת ההגדרות, תראה כעת כרטיס NIC וירטואלי חדש ברשימת המתאם מ־Get-NetAdapter
:

הערות על צוות NIC ב-VM:
– עליך להשתמש במצב 'SwitchIndependent'.
– עליך להשתמש באחד מסוגי גיליון הכתובות עבור הפרמטר LoadBalancingAlgorithm (TransportPorts).– שיטת ייצוב דינמית תשמש בשרת פיזי במקום TransportPorts.*
הוספת NICs או ממשקים נוספים לצוות NIC
לאחר בניית הצוות NIC, ניתן להוסיף NICs וממשקים נוספים אליו בדיוק כמו בממשק הגרפי. כדי להוסיף NICs נוספים לצוות, יש להשתמש ב־Add-NetLbfoTeamMember
cmdlet*.*
ניתן גם להוסיף ממשקי צוות נוספים באמצעות ה־cmdlet Add-NetLbfoTeamNIC
.
סיכום
אתה עכשיו למדת מהו NIC Teaming, כיצד זה קשור לביצועים/שימוש במכונות וירטואליות/פשוטה את הרשת שלך, וכיצד להפעיל אותה דרך הממשק הגרפי או דרך PowerShell.