אחד הדרישות הקריטיות לתשתיות וירטואליות, במיוחד במרכזי נתונים גדולים, היא הסרת נקודת כשל יחידה והבטיחות הגבוהה של שירותים ואפליקציות. בסביבת Hyper-V, טכנולוגיית Microsoft Failover Clustering זמינה להגדרת מארחי Hyper-V מרובים (או צמתים) שיכולים לקחת על עצמם את העומס אם מארח אחד נכשל.
במדריך זה שלב אחר שלב, למד את הנגשה המעשית של הגדרת failover clustering של Hyper-V, כולל הגדרת מארח ראשי ורשת, התקנת תפקיד Hyper-V ויצירת אשכול.
הגדרת מארח Hyper-V
כדי להכין מארחים ל- failover clustering, עלינו לבחור מערכת הפעלה להתקנה על כל המארחים שישמשו באשכול מסוים. לאחר מכן עלינו לבצע הגדרה בסיסית של הסביבה, כולל כל המארחים, כדי להכין אותם להגדרת אשכול של Hyper-V.
בחירת מערכת ההפעלה להתקנה
בהתקנה זו, אנו משתמשים בשתי התקנות של Windows Server 2016 Server Core כדי למזער את החלקים הנעים ולשפר את האבטחה. שימוש בהתקנת Windows Server 2016 Server Core מסיר הרבה מרכיבים לא נחוצים ומפחית את הפרופיל. הקושי המוגבר של ניהול עם Server Core מתקנה את היתרונות של יעילות ואבטחה. ניתן גם להשתמש בגרסאות החדשות יותר של Windows Server, כגון Windows Server 2019 להגדרת אשכול Hyper-V.
הערה: לצורך ניהול והגדרת Windows Server 2016 Server Core, אנו משתמשים ב-PowerShell. מערכת ההפעלה Windows Server עם חווית משתמש שולחנית ניתן להשתמש בה טכנולוגית להגדרת failover clustering של Hyper-V.
הגדרת התקנתית של הסביבה
לפני שנחשוב על שרתי ה-Hyper-V כאשר אשכול, עלינו לבצע את הגדרת התקנתית הראשונית של השרתים. זה כולל הרבה מהשלבים הנדרשים כדי להכין כל שרת Windows – קיבוע שמות, הגדרת רשת, תיקון תקלות ועוד. תכנון הרשת, בפרט, חיוני באשכול של Windows מאחר שהוא מאפשר תקשורת אשכולית תקינה וגם תקשורת עם אחסון משותף.
- קיבוע שמות. שני השרתים הוכנסו לתחום המעבדה וקיבוע שמות. שימו לב שהחל מ-Windows Server 2016, הצטרפות לתחום אינה עוד תנאי מראש. הגדרות השרת מוצגות בתמונות מסך לשרת הראשון H1. הגדרות לשרת השני H2 דומות.
- עדכונים. אנו צריכים לעדכן כל נקודת איכות פוטנציאלית של ה- Hyper-V cluster עד לרמת התיקון האחרונה הזמינה על פי נהלי היעוץ הטובים של ה-Hyper-V clustering. התקנת עדכונים על שרתי ה-Hyper-V משפרת את אבטחת המערכת שלנו. עשוי להיות עליך לאתחל את Windows כדי להשלים את התקנת העדכונים.
- עקביות. כיוון שנהליך טוב, אנו רוצים שכל הצמתים של אשכול הפוטנציאליים שלנו יהיו מוגדרים באופן זהה במעט מאוד למעט שמות מחשב וכתובות IP. זה מבטיח שהכל מוסטנדרטי בין השרתים, כולל רמות תיקון, רשתות ועוד.
תכנון רשת
התכנון המתאים של הסביבה מפחית רבים מהסיכונים בעתיד. עבור רשת המעבדה בתרחיש זה, נקבעו ארבעת מתאמי רשת לכל מארח. שני המארחים של המעבדה לא מבצעים שילוב של כרטיסי הרשת למטרות פשטות. עם זאת, תרצה לשלב את המתאמים שלך בייצור כדי למנוע נקודת כשל יחידה ברשת.
בסביבת המעבדה שלנו, יש לנו:
- ניהול ותעבורת VM
- iSCSI
- תעבורת אשכול פרטי
- העברת חיים
עם הרשתות הללו בתודעה, אנו מקצים כתובות IP לכל שרת בטווחי תת-רשת הרצויים שלנו. VLANים הם גם נימוק כאן, מאחר ונכון להניח שתרצה להתאים את תתי הרשת שלך עם ה-VLANים שמוקצים. עלייך לחשוב על זה מראש.
הגדרת מטרת אחסון iSCSI
אחסון אשכול Hyper-V הוא נקודת מפתח לבניית אשכול. עבור אחסון iSCSI בסביבת מעבדה, בדוגמה זו, אנו משתמשים ב-FreeNAS כדי ליצור מטרות iSCSI ולהציג אותם לאשכול ה-Hyper-V שלנו. כמובן, הגדרת iSCSI על חומרת המוכר שלך או תוכנה iSCSI יכולה להיות שונה בהתאם ליצרן, לכן תמיד עקוב אחר השיטות המוגדרות לכל תוכנה.
הערה: FreeNAS היא מערכת הפעלה אוניברסלית וגמישה המבוססת על FreeBSD שניתן להתקין על מחשב כדי להשתמש בו כ-NAS. ניתן ליצור אחסון משותף לאשכולת פילוט ב-Hyper-V או לבנות מכשיר גיבוי עם FreeNAS ופתרון NAKIVO.
להלן סקירה מהירה של איך להגדיר את האחסון עבור אשכולת הפילוט ב-Hyper-V באמצעות FreeNAS. אנו לא נעמק בכל הפרטים של כיצד להגדיר את FreeNAS עבור iSCSI. אף על פי כן, הנה ההגדרות הבסיסיות להצגת זוג יעדי iSCSI למארחי ה-Hyper-V שלנו.
- התחל את שירות ה-iSCSI ב-FreeNAS והגדר את תצורת הרשת שלך עבור רשת האחסון כך שתתאים למה שתכוון להשתמש בו עבור מארחי ה-Hyper-V.
- בדוק את הגדרת ה-IQN הבסיסית עבור היעדים שנצורים על ידינו.
- הגדר פורטל ב-FreeNAS להאזנה לתעבורת iSCSI.
- הגדר את שמות היעדי iSCSI. במכשיר ה-FreeNAS שלנו, אנו מגדירים:
- a quorum volume to be used as a disk witness
- a volume to be used for the Hyper-V cluster shared volume to house our VMs
הערה: Quorum הוא המנגנון באשכולת Windows שמשמש לוודא שבמקרה של כשל בין חלקי האשכולת, ישנם תמיד רוב מהמשאבים של האשכולת הזמינים לפעולת האשכולת.
- החל מ-Windows Server 2012, כל צומת באשכול מקבלת קול קורום יחיד כברירת מחדל. על ידי הוספת קול נוסף עם שיתוף קבצים, דיסק, או חשבון אחסון ענן חדש ב-Windows Server 2016, חלק מהאשכול תמיד צריך לקבל יותר מ-50% מהקולות הקורום על ידי טעינת השיתוף, הדיסק, או קול האחסון בענן.
- עם Windows Server 2012 R2, ההמלצה השתנתה לתמיד להגדיר את העדים של הדיסק או שיתוף הקבצים. ההצבעה מורחבת לעדים הנוספים (שיתוף קבצים, דיסק או חשבון אחסון בענן) רק אם יש מספר זוגי של צמתים. עם מספר צמתים אי-זוגי, העדים לא מקבלים הצבעה ולא משמשים.
בתמונת המסך למטה, יצרנו את שני שמות היעד: נפח קוורום שישמש עדים דיסק ונפח שישמש לנפח המשותף של האשף שלנו.
- הוספת תיקים, שבדוגמת התמונה למטה ממופים לכונני הדיסקים היחידיים שהקצינו פיזית במכשיר FreeNAS שלנו.
- קישור היעד עם התיק. היעדים ממופים לאחסון ב- FreeNAS.
התקנת תפקיד Hyper-V
כדי להתקין את שירות תפקיד Hyper-V, הפעל את הפקודה הבאה במערכת פקודת PowerShell:התקן את תפקיד Hyper-VPowerShell command בפקודה הבאה:
Install-WindowsFeature -Name Hyper-V -IncludeAllSubFeature -IncludeManagementTools -Restart
הגדרת אחסון: הוספת כתובת פורטל iSCSI
לפני הוספת כתובת פורטל iSCSI שלנו, עלינו להגדיר ולהתחיל את שירות iSCSI של Microsoft כך:
- הגדר את השירות לאוטומטי.
Set-Service -Name msiscsi -StartupType Automatic
- הפעל את השירות.
התחל-שירות msiscsi
- השתמש ב-PowerShell כדי להוסיף את כתובת פורטל ה-iSCSI שהוצגה:
New-iscsitargetportal -targetportaladdress <כתובת IP>
- התחבר למטרות ה-iSCSI הספציפיות שנוצרו במכשיר FreeNAS שלנו. להלן דוגמאות למה שהשתמשנו בהם בהוספת המטרות FreeNAS למארחי Hyper-V שהוצגו לקבוצה.
- Connect-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:quorum -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1
- Connect-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:hvvol1 -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1
ניתן לאמת ולראות את המטרות המוספות על ידי הרצת הפקודה Get-iSCSItarget.
הערה: ניתן להשתמש בפקודת get-disk כדי להציג מידע על הדיסקים ולוודא שאחסון השיתוף של האשף הווירטואלי מקוון ובריא.
הגדרת מתגי וירטואליים
הגדרת מתגים וירטואליים נחוצה להגדרת רשת קלאסטר Hyper-V תקינה. אנו יכולים להשתמש בכל אחד מ-PowerShell או מנהל Hyper-V כדי להגדיר את המתגים הוירטואליים שלנו עבור Hyper-V.
דוגמה לפקודה ליצירת מתג וירטואלי ב-PowerShell:
New-VMSwitch “ExternalSwitch01” -NetAdapterName “Public” -AllowManagementOS 1
הערה: יש להגדיר את שמות המתגים הוירטואליים שלך באופן זהה בין שני המארחים מאחר ואנו צריכים לוודא שהמתגים הוירטואליים תואמים, במיוחד בעת ביצוע העברת חיים.
יצירת קלאסטר Hyper-V
באמצעות PowerShell, יצירת הקלאסטר היא פקודת שורה אחת פשוטה.
- לפני יצירת הקלאסטר, יש להפעיל פקודה זו כדי לאמת שהגדרת הקלאסטר עומדת בכללי הפעולה הטובים ביותר של הקלאסטר Hyper-V:
Test-Cluster H1,H2
- יש להשתמש בפקודת new-cluster כדי ליצור קלאסטר ולהקצות שם, את הצמתים, וכתובת IP סטטית לקלאסטר.
New-Cluster -Name HVCluster -node H1,H2 -staticAddress 192.168.85.75
- כאשר תהליך יצירת הקלאסטר מסתיים, תראה את הפלט המציג את שם הקלאסטר בשורת הפקודה.
Hyper-V כרטיסי זיכרון משותפים באשף
אף על פי שיש לנו אחסון משותף מנקודת מבט של מטרת iSCSI, אנו צריכים לוודא שהאחסון שמאחסן את המכונות הווירטואליות שלנו מוגדר על כרטיס זיכרון משותף של Hyper-V clustered shared volume. כרטיס הזיכרון המשותף (CSV) נכנס לשימוש ב- Windows Server 2008 R2 כדי לשמש עם תפקיד ה-Hyper-V כך שמכונה וירטואלית יכולה לגשת לקבצי VHD שנגישים על ידי כל צומת באשף. יש גם עמידות מובנית ב-CSV, כולל איתור תקלות I/O שמאפשר נתיבי תקשורת חלופיים לשימוש במקרה של כשלים בתקשורת.
בואו נסתכל על יצירת כרטיס זיכרון משותף באשף שלנו שלב אחר שלב עבור המכונות הווירטואליות שלנו.
- שינוי שם למשאב דיסק באשף שישמש לאחסון VM (אופציונלי). בהגדרת המעבדה שלנו, זהו Cluster Disk 1:
(Get-ClusterResource | ?{$_.Name -eq “Cluster Disk 1”}).name = “VMs”
- עכשיו אנו יכולים להוסיף כרטיס זיכרון זה לכרטיס זיכרון משותף באשף:
Get-ClusterResource -Name “VMs”| Add-ClusterSharedVolume
הערה: ניתן גם להשתמש במנהל אשף לשינוי דיסק ל-CSV:
- בדוק את מצב כרטיס הזיכרון המשותף באשף עם פקודת ה- get-clustersharedvolume.
הערה: אם יש לך תחנת עבודה לניהול להתחברות באמצעות מנהל אשפוז חילופי, תוכל לצפות באחסון עם ממשק משתמש גרפי (GUI) על ידי התחברות אל מערכת האשפוז של Windows Cluster. כאן נוכל לראות בקלות את הדיסקים הזמינים והתפקידים שהוקצו להם. למטה רואים את כל כסף הקורום והדיסק VMs שמיועד כנפח משותף של האשפוז.
שינוי הגדרות אחסון של Hyper-V
עכשיו שיש לנו את נפח האחסון המשותף שלנו, נוכל לשנות את הגדרות ה-Hyper-V שלנו כך שישמש את נפח האחסון המשותף שלנו כמיקום ברירת המחדל לאחסון ה-VMs שלנו.
בהגדרות של Hyper-V עבור כל מארח, שנה את המיקום של דיסקים קשיחים וירטואליים ואת המיקום של מכונות וירטואליות לנפח האחסון המשותף שלך, שהוא C:\ClusterStorage\volume(x) על המארחים של ה-Hyper-V שלך.
יצירת מכונה וירטואלית Highly Available
עכשיו נוכל להפעיל את מנהל אשפוז חילופי ולהתחיל ליצור מכונה וירטואלית Highly Available.
- לחץ על הכפתור הימני של תפקידים ובחר ליצור מכונה וירטואלית חדשה.
- בחר את מארח ה-Hyper-V (אחד מצמתי הקיץ) עבור המכונה הווירטואלית.
- עבור דרך האשף מכונה וירטואלית חדשה כדי לאזן מכונה וירטואלית חדשה.
- בשלב ההתחברות דיסק קשה וירטואלי של האשף, וודא שהמכונה הווירטואלית נוצרת על נפח האחסון המשותף שלנו ב-Hyper-V.
- השלב סיכום מציג את האפשרויות שבחרנו.
- כאשר אתה לוחץ על סיום, קרן אשף זמינות גבוהה מציג את הסיכום של הפעלת זמינות גבוהה על התפקיד והמכונה הווירטואלית. כפי שניתן לראות, הפעלתו הצליחה.
- אם ברצונך לצפות בדו"ח זמינות גבוהה, תוכל ללחוץ על כפתור צפה בדו"ח, שמציג תצוגה מפורטת יותר של בדיקות הזמינות הגבוהה.
הגדרת אשף האשף הגיבוי של Hyper-V הושלמה וכעת יש לנו מכונה וירטואלית זמינה בצורה גבוהה באשף. תוכל ליצור עוד מכונות וירטואליות באשף שלך כדי להשתמש בזמינות גבוהה של Hyper-V.
מחשבות סופיות
אשף האשף הגיבוי של Hyper-V מאפשר לך להפחית את הזמן הלא פעיל של מכונות הווירטואליות במקרה של כשל. אך, זה לא יגן על נתוני המכונה הווירטואלית שלך אם אין לך גיבויים תדירים של אשף האשף הגיבוי של Hyper-V. מכיוון שמכונות הווירטואליות יכולות להעביר את עצמן בין מארחים באשף האשף הגיבוי של Hyper-V, גיבוי מכונה יכול להיות משימה מסובכת. השתמש בפתרון של NAKIVO וגבה אפילו את המכונות הווירטואליות שפועלות באשף בקלות.