Windows Server 2012 DHCP Failover

12 בפברואר 2014

אין תגובות

image מאת: שגיא והבי, מיקרוסופט ישראל

אם אתם משתמשים ב- DHCP בארגון, כדי שתכירו את יכולת ה-high availability החדשה והנפלאה של ה- DHCP ב- Windows server 2012 – DHCP Failover.

עד Windows 2012 server DHCP שרידות ל-DHCP התאפשרה באחת משתי הדרכים,Windows Failover Cluster או Split scope deployments.

לכל אחת מהשיטות הישנות יש את המגרעות שלה, התקנת DHCP על Windows failover cluster, מן הסתם, מצריך הקמת Cluster, Shared storage לשני ה- DHCP nodes שיחזיק את ה DHCP Database. בנוסף, כדי שה- Shared Storage לא יהווה נקודת כשל כדי לדאוג גם לשרידות ל- Storage. בקיצור, פתרון יקר, הטמעה ותחזוקה מורכבות יחסית.

Split scope deployments, מצריך הגדרת כל ה- Scopes על שני השרתים עם טווחי כתובות יחודיים לכל שרת (בדר"כ 80% מ- Pool הכתובות ב-Scopes על השרת הראשי ו- 20% בשרת המשני). בעיה ראשונה בשיטה הזאת היא בארגונים עם טווחי כתובות קטנים שה- 80% לא מספיק. הבעיה השניה והקריטית יותר לטעמי, היא שבמקרה של נפילת השרת הראשי, השרת השני מתחיל לחלק כתובות חדשות ושונות לתחנות העבודה – בעייתי מאוד לתחנות שתלויות בכתובת ה-IP שלהן בגישה למשאבים, אם בפתיחות FW ל-IP הישן או באם יש אפליקציות שמאפשרות גישה על סמך ה-IP.

המגרעות הללו מנעו ברוב הארגונים ליישם שרידות ל-DHCP, ובמקרה הטוב, להסתפק בגיבוי ל- DHCP Database או ליישם פתרון צד שלישי, במקרה הרע Smile

לכל אותם ארגונים ללא שרידות ל- DHCP או עם פתרון שרידות DHCP ישן/צד ג', אני ממליץ בחום לבחון ולהטמיע את ה- Windows server 2012 DHCP Failover.

ה- DHCP Failover מאפשר לנו לשתף בין שני שרתי Windows 2012 את ה- Leases וההגדרותScopes ( כרגע רק של IPv4 ).

DHCP failover ב-Windows Server 2012 מבוסס טיוטת ה- IETF DHCP Failover Protocol עם ישום יחודי של מיקרוסופט.

 

שני מצבים להגדרת Failover של Scope:

Load Balance

למעשה מצב של Active-Active בין שני שרתי ה- DHCP, כשברירת המחדל היא חלוקה של 50%-50% בין שרתי ה- DHCP, על כל כתובת אחת שמקצה שרת א', יקצה גם שרת ב' כתובת אחת. Load Balance יתאים יותר לסביבות שבהם בתצורה הנוכחית (לפני המיגרציה ל-DHCP החדש) אין שרתי DHCP באתרים הקטנים אלא רק שרת או שרתים מרכזים באתר הראשי ושני השרתי Windows Server 2012 DHCP Failover החדשים בעלי אותו מפרט טכני.

Hot Standby

מצב של Active-Passive, בתהליך ההגדרה, השרת שמוגדר כ- Hot יתפקד כשרת הפעיל והשרת שמוגדר כ- Standby יהיה "רדום" אך מקבל בזמן אמת עדכונים על חלוקת הכתובות, חידוש כתובות ומחיקה. תצורת Hot Standby תתאים לסביבות שבהם התצורה הנוכחית כוללת שרתי DHCP באתרים גדולים בפריפריה ושרת נוסף במרכז או בתצורה עתידית של שרת Windows 2012 DHCP ראשי עם חומרה חזקה ושרת Windows 2012 DHCP "חלש" יותר באתר ה-DR (שהקו תקשורת אליו קטן יותר ).

שרתי ה-DHCP שב-Failover relationship יכולים להיות באתרים שונים.

לא בטעות כתבתי למעלה "הגדרת Failover של Scope" ולא "הגדרת Failover של השרת" ומכאן כבר ניתן להבין שהתצורה של השרידות מאד גמישה.

בתמונה מטה, דוגמא לארגון עם מספר אתרים גדולים שבהם שרת DHCP בכל אתר, כפי שאפשר לראות ניתן להגדיר את ה- Failover של חלק מה-Scopes כ- Load Balance וחלק כ- Hot Standby

image

על מנת לקבל הערכה של המפרט הטכני הנדרש ליישום DHCP Failover, ביצעה מיקרוסופט בדיקות ביצועים על מספר חומרות שונות ולהלן התוצאות:

DHCP

 

מיגרציה מ- Windows server 2008 DHCP ל- Windows Server 2012 DHCP Failover

1. נתחיל בהתקנת DHCP Role על שני שרתי Windows Server 2012,

את התקנת ה-Role ניתן לבצע באמצעות ה-Server Manager או באמצעות PowerShell.

· באמצעות ה-Server Manager:

image

image

image

image

image

· באמצעות PowerShell (איזה מעיק ומסובך ה- PowerShell הזה Smile ):

Add-WindowsFeature -IncludeManagementTools DHCP

image

2. לאחר ההתקנה יש לסיים את תהליך ה- Post-deployment Configuration של יצירת קבוצות המקומיות DHCP Administrators + DHCP Users ואוטוריזציה ( במידה והשרת חבר בדומיין ) של שרת ה-DHCP ב- Active Directory :

· באמצעות ה- Server Manager :

image

image

image

image

בסוף התהליך יש לבצע restart ל- DHCP Service.

· או באמצעות PowerShell :

Creating DHCP security groups

Command:netsh dhcp add securitygroups

You will need to restart the DHCP service for these groups to become active.

Command: Restart-service dhcpserver

Authorizing the DHCP server in Active Directory (only needed for a domain-joined setup)

Command: Add-DhcpServerInDC  <hostname of the DHCP server>  <IP address of the DHCP server>

3. בשלב זה יש לנו שני שרתי Windows Server 2012 DHCP חדשים שלא "מכירים" אחד את השני, נעבור לתהליך המיגרציה:

· פתיחת PowerShell ב- Elevated Mode על אחד משרתי ה- Windows Server 2012 DHCP .

· יצוא כל הנתונים משרת ה- Windows Server 2008 DHCP:

Export-DhcpServer -ComputerName Win2k8DHCP -Leases -File C:\export\Win2k8DHCP.xml -verbose

· יבוא כל הנתונים לאחד משרתי ה- Windows Server 2012 DHCP – Win2k12DHCP1:

Import-DhcpServer -ComputerName Win2k12DHCP1 -Leases -File C:\export\Win2k8DHCP.xml -BackupPath C:\DHCPBackup\ -Verbose

במידה ומדובר על מיגרציית Windows 2003 DHCP ל- Windows 2012 DHCP הדרך היחידה ליבוא ויצוא המידע היא בעזרת Netsh :

From the old Windows 2003 DHCP server – Netsh DHCP server export C:\dhcpDB all

To the new Windows 2012 DHCP Server – Netsh DHCP server import C:\dhcpDB all

· בשלב זה יש לנו שרת Windows Server 2012 DHCP – Win2k12DHCP1 עם כל המידע שהיה ב- Windows Server 2008 DHCP. כל ה- Scopes עם כל המידע שבהם ובנוסף הגדרות נוספות שיתכן שהיו בשרת הישן כגון:

Vendor or User classes שלא קיימים כברירת מחדל.

image

Option definitions שלא קיימים כברירת מחדל.

image

Server level option values

MAC address based filters

Conflict detection attempt שהוגדרו בשונה מברירת המחדל.

על מנת ליצור בהמשך Failover relationship ל-Scopes בין Win2k12DHCP1 ל- Win2k12DHCP2 , נשתמש ב- Scope Failover setup wizard. חשוב לדעת שה- Wizard מרפלק את ה- Scopes וכל ההגדרות Scopes בין שני השרתים. ההגדרות הנוספות לא יהיו קיימות ב- Win2k12DHCP2 ולכן חשוב מאד לייבא אותם לפני תחילת תהליך הפעלת ה Scope Failover setup wizard.

· יבוא ההגדרות הנוספות בלבד לשרת השני – Win2k12DHCP2 :

Import-DhcpServer -ComputerName Win2k12DHCP2 -File C:\export\Win2k8DHCP.xml -BackupPath C:\DHCPBackup\ –ServerConfigOnly -verbose

· Failover relationship ל-Scopes דרך ממשק ה- DHCP בשרת ה- Windows 2012:

א. קליק ימני על IPv4 ו- Configure Failover .

image

ב. במידה ונרצה הגדרות Failover זהות לכל ה-Scopes נשאיר את ה- Select All מסומן. במידה ולא נוריד את הסימון ונבחר את ה-Scope או ה-Scopes הספציפים שנרצה להגדיר .

image

ג. בחירת השרת השני

image

ד. נבחר שם ל-Relationship, נקבע Shared Secret, נבחר את ה-Mode (Load Balance or Hot Standby), את ה- Maximum Client Lead Time ו-State Switchover Interval נשאיר עם ערכי הברירת מחדל.

למידע נוסף על ה- Maximum Client Lead Time ו-State Switchover Interval:

http://technet.microsoft.com/en-us/library/dn338985.aspx#mclt

 

image

image

4. שלב אחרון, שינוי ה- DHCP Relay בכל ה- Switches בסביבה.

מומלץ להתחיל עם Switch אחד או שנים ולבדוק קבלת IP לתחנה חדשה בסגמנט , Renew לכתובת IP , Release לכתובת ועם זאת, כמובן שכדי לסיים אם הגדרת ה- DHCP Relay בכל ה- Switches במהירות האפשרית, על מנת להמנע ממצב של חוסר תאימות בין השרת DHCP 2008 הישן לבין שרתי ה- Windows Server 2012 DHCP החדשים.

 

הערה חשובה בנוגע לתפעול השוטף של ה- DHCP Failover

כל שינוי הגדרות ב- Scope שכבר נמצא ב- Failover relationship , כגון שינוי במרחב הכתובות של ה-Scope, שינוי ב-Lease duration, לא “יתרפלק” ל-Partner שלו באופן אוטומטי! למה? שאלה טובה… גם אנחנו שאלנו והתשובה של קבוצת המוצר היא שיתכן מצב שבו הלקוח לא ירצה ששינוי הקונפיגורציה “יתרפלק” לשרת השני ( למשל Lease Duration גבוה בשרת ה- Hot ו- Lease Duration נמוך בשרת ה- Standby , כך שבמצב שהשרת DHCP הראשי נופל, השרת המשני יחלק כתובות לזמן קצר יותר).

רפליקציית הקונפיגורציה ששונתה ל-Scope שכבר נמצא ב- Failover relationship ניתן לבצע דרך ה-DHCP Management:

Replicate Scope לרפליקציית הקונפיגורציה החדשה של Scope ספציפי.

Replicate Relationship לרפליקציה חוזרת של כל ה-Scopes.

image

 

מספר cmdlets חדשים לניהול ה- DHCP Failover:

Add-DhcpServerv4Failover Adds a new IPv4 failover relationship on the DHCP server

Add-DhcpServerv4FailoverScope Adds the specified scopes to an existing failover relationship

Get-DhcpServerv4Failover Gets the failover relationships configured on the server

Set-DhcpServerv4Failover  – Modifies the properties of an existing failover relationship

Remove-DhcpServerv4Failover  – Deletes the specified failover relationships

Remove-DhcpServerv4FailoverScopeRemoves the specified scopes from the failover relationship

Invoke-DhcpServerv4FailoverReplicationReplicates scope configuration between failover partner servers

עוד על פקודות ה PowerShell החדשות תוכלו לקרוא בקישורים הבאים:

http://technet.microsoft.com/en-us/library/jj590751.aspx

http://blogs.technet.com/b/teamdhcp/archive/2012/12/19/dhcp-failover-using-powershell.aspx

בהצלחה בשדרוג!!

שגיא והבי, הוא מהנדס בכיר במחלקת פרימייר במיקרוסופט ישראל (GBS)  

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *