שאלה Hyper-V מגבלות


רכשנו לאחרונה שרת שבו פועל Hyper-V 2008 R2 מתכת חשופה. השרת כולל שני מעבדי Intel Xeon בעלי ארבע ליבות עם היפר-רידינג, כך שאם אני מבין נכון, זה נותן לנו 16 ליבות. בתוך Hyper-V יצרנו מכונה וירטואלית עם Windows Server 2008 R2 עם 4 מעבדים וירטואליים. מסך הגדרות המעבד אומר לי שזה מייצג 25% מכלל כוח העיבוד של המערכת. האם זה אומר כי 75% הנותרים לא ניתן טפח על ידי מערכת ההפעלה הוירטואלית? אנחנו נהיה מפעיל כמה מכונות וירטואליות אחרות, אבל זה אחד עבור SQL Server ואנחנו רוצים לזרוק כמה כוחות סוס על זה ככל האפשר.


14
2018-05-16 18:23




אתה רוצה להיות זהיר מאוד על הקצאת vCPUs למכונה. זה אומר כי מכונה וירטואלית צריך לחכות עד שיש 4 מעבדים פיזיים זמינים באותו הזמן לפני שהוא יכול לבצע. ראה כאן - Holocryptic
ככל Hyperthreading הולך, תסתכל על זה מעולה פריימר: arstechnica.com/old/content/2002/10/hyperthreading.ars - Hyppy
Holocryptic, ההצהרה שלך היתה נכונה לגבי מערכות VMWare ישנות יותר, אבל זה מעולם לא היה נכון לגבי Hyper-V. Hyper-V אינו "לוח הזמנים של הכנופיה" במעבדים הווירטואליים. - Jake Oshins


תשובות:


ניתן למפות vCPU למעבד פיזי יחיד בלבד. אתה לא יכול לקחת 4 מעבדים פיזיים ולעשות vCPU יחיד זה 4x מהר יותר; זה פשוט לא איך זה עובד.

Hyper-V מוגבל להקצאת 4 vCPU ל- VM (האחרון בדקתי). אם אתה צריך כוח CPU משמעותי, ללכת פיזית, אין טעם להוסיף וירטואליזציה למשהו כי CPU אינטנסיבי ומקביל מלכתחילה.

כמו כן, כמו הערות Holocryptic, אם להקצות 4 vCPUs ל VM, כי VM לא יכול לרוץ עד Hyper-V רכשה 4 ליבות CPU פיזית להפעיל אותם. בהתאם לתצורה שלך זה יכול להיות מכשול מרכזי (למשל, אם יש לך מכונת 6 ליבות עם חבורה של 4 vCPs VM, רק אחד אי פעם לרוץ בכל פעם, שתי ליבות אחרות תמיד ללכת למעשה לא בשימוש). לפי ג 'ייק אושינס זה לא היה נכון עבור כל גירסה של Hyper-V. הוא קובע כי Hyper-V אינו משתמש תזמון כנופיות עבור המעבד; כמו כמעט כל hypervisor אחרים עושה. לפיכך, אם אחד הליבה מעבד פיזי זמין, Hyper-V יכול להשתמש בו כדי להפעיל מעבד רב VM. (כמו כן, Hyper-V לא יכול להשתמש בכל הליבות הפיזיות הזמינות באותה עת בגלל מחיצות NUMA)

הערה צדדית: SQL לא בהכרח להשתמש בכל הליבות אתה יכול לזרוק את זה מלכתחילה. זה באמת תלוי במה אתה משתמש בו וכיצד ניתן לטעון את העומס.


15
2018-05-16 18:33



אני מסכים, אבל התקורה במעבדים וירטואליים היא כמעט כלום, ורק לעתים רחוקות נכנס לשחק. - Nate
כריס, הערה של הולוקריפט פשוט טועה. Hyper-V אינו ממתין עד שיש 4 מעבדים וירטואליים בחינם לפני תזמון מעבד וירטואלי מ -4 VM VP. Hyper-V לוחות זמנים מעבד וירטואלי בכל פעם שיש לו מעבד פיזי חופשי להריץ אותו, עם כמה אזהרות. למשל, הוא מחפש מעבדים פיזיים בתוך אותו צומת NUMA פיזי כמו שאר ה- VM. - Jake Oshins


כן, מה כריס אמר. אם אתה צריך יותר אז 4 CPU של Hyper-V וירטואלי אז גם ליצור שני שרתי SQL וירטואלי ולהפיץ את מסדי הנתונים או ללכת פיזית. בהתאם לרישיון שרת ה- SQL שלך, ייתכן שתוכל להוסיף שרתי SQL נוספים בווירטואלי (באותו מארח פיזי) ללא עלויות רישוי נוספות, אך קרא את מסמך ה- SQL הרישוי וירטואלי של SQL לקבלת מידע נוסף.

אני גם מסכים שאם יש לך את SQL פועל מתוך כוח CPU עם 4 CPU וירטואלי אז יש לך גם כמה ניצול רציני של יישום או פקודות SQL כתובים קשות.


3
2018-05-16 20:06



Re: "... או פקודות SQL כתובים רע." זה כמעט מובטחת, בכל פעם בקוד שסופק על ידי הספק הוא משחק. - Skyhawk
ואכן, רוב התנועה באתר הוא חומר OLTP ממערכת ה- ERP שלנו. יש לנו גם מערכת זרימת עבודה מאותו הספק. דברים מותאמים אישית כתוב בתוך הבית הוא אחוז קטן. - Scott
מסד הנתונים הישן שלנו פועל על 4 ליבות לוגיות (שני מעבדים בעלי ליבה כפולה), ולכן אנו מצפים להזדקק ליותר מזה. - Scott


בערך 4 ליבות CPU:

בקטע קובץ התצורה של VM:

[מעבדים] [count type = "integer"] 16 [/ count]

עכשיו יש לך 16 מעבד הליבה.

עדכון: נראה צילום מסך הצורך

enter image description here


0
2017-08-19 11:54





פעל לפי מדריך זה

http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/

אתה יכול לאתר את קובץ התצורה של xm vm תחת הספריה "מכונות וירטואליות" של ספריית VHD של VM, קובץ התצורה יהיה שם תחת מזהה VM. להלן הקישור הוא הפניה.

התייחסות: VM תצורת XML

הקפד לערוך את קובץ התצורה VM XML עם פנקס רשימות / פנקס + + פתח תחת הרשאות מנהל


0
2017-07-13 00:21