Windows Server 2012 R2 DHCP Failover
Bu makalemizde de sizlerle Windows Server 2012 R2 işletim sistemi ile DHCP servisinde gelen önemli yeniliklerden biri olan “DHCP Failover” özelliğini ele alıyor olacağız. Microsoft Windows Server DHCP servisi ağ ortamındaki istemci bilgisayarlarına, sunucu sistemlerine ve ağ cihazlarına ip adresi, alt ağ maskesi (subnet mask), varsayılan ağ geçidi (default gateway), DNS Sunucu adresleri vb gibi TCP/IP konfigürasyon bilgilerini merkezi olarak dağıtan bileşen olduğunu önceki Windows Server sürümlerine ait makalelerimizde detaylı olarak paylaşmıştık.
DHCP Server sahip olduğu sorumluluk itibariyle ağınızdaki kritik sunucu rollerinden biridir. Dolayısıyla DHCP servisi rolüne sahip sunucu rolünün herhangi bir şekilde ulaşılamaması ya da devre dışı kalması durumunda ağdaki kullanıcılara ya da cihazlara TCP/IP konfigürasyonunun dağıtılmasında kesintiler yaşama ihtimalinizden dolayı yapınızdaki iletişim de bu durumda olumsuz etkilenecektir. Böyle bir riske karşı Windows Server 2012 ve Windows Server 2012 R2 ile “DHCP Failover” çözümü geliştirildi.
DHCP Failover özelliği sayesinde bir DHCP sunucu üzerinde oluşturulan ip havuzu (scope) bir başka DHCP Sunucuya replikasyon yöntemiyle kopyalanarak mevcut sistemde canlı bir kopya hazırlanmış oluyor. Genelde “failover” kavramını daha çok cluster yapılarında sık olarak duyuyordunuz ve işlevi de kurulan bir SQL, Exchange gibi sunucularda aktif hizmet veren sunucuda herhangi bir devre dışı kalma, ulaşılamama, kapanma vb. gibi durumlarda ikinci sunucunun devreye girerek aktif rolüne alınıp kesinti olmaksızın hizmetlerin ikinci sunucu üzerinden devam ettirilmesi esasına dayanıyordu. Failover Cluster yapısının kullanılabilmesi için öncelikle Windows Server sistemleri üzerinde Cluster (Kümeleme) hizmetlerinin önceden kurulup, cluster konfigürasyonunun yapılması gerekir. Windows Server 2012 R2 ile gelen DHCP servisinde ise Windows’un cluster hizmetlerini kurma gereksinimi olmadan bir DHCP sunucu üzerindeki ip havuzunun bir başka DHCP Sunucu sistemindeki ip havuzuna kopyalanması söz konusu.
Burada birinci DHCP Sunucusu ile ikinci DHCP sunucusunu yük dengelemesi (load balance) yöntemi ile aktif-aktif yapıda çalıştırabileceğimiz gibi, ikinci sunucuyu tamamen yedekte bekleterek (hot-standby) de aktif-pasif modelinde kullanabilirsiniz.
Şimdi bu açıklamalardan sonra uygulamalara geçelim.
Lab Altyapısı:
Öncelikle mevcut yapımızı tanıyalım:
Yukarıdaki şekilde de görüldüğü üzere COZUMARK.LOCAL isimli bir active directory domain yapımız var. Eğitim ortamı olduğu için domain controller sunucusu üzerinde DHCP rolünü kurarak ana DHCP sunucu olarak bunu yapılandıracağım. Bunun yanına da ikinci bir replika sunucu kurduk. Bu da ana DHCP sunucunun kopyası olacak sunucu olarak kullanacağız.
Her iki DHCP sunucunun da active directory domaininde yetkilendirilmesi (authorize) gerekir. Ayrıca güvenlik açısında DHCP Failover yapılandırması esnasında vereceğimiz ortak bir parola anahtarı ile de sunucular arası iletişim daha da güvenli hale getirilmiş olacaktır. Bu ortak anahtar sayesinde her iki DHCP sunucunun birbirleri ile failover modda çalışması sağlanmış olacaktır.
Öncelikle ana DHCP sunucusu olan Windows Server 2012 R2 üzerine DHCP rolünü kuracağız. Bunun için aşağıdaki adımları takip etmeniz yeterlidir:
Server Manager konsolunu açıyoruz. Sağ üst köşedeki Manage menüsünden Add Roles and Features seçeneği ile rol ekleme sihirbazını başlatıyoruz.
Karşımıza gelen Add Roles and Features Wizard ekranında ilk adımı Next ile geçiyoruz.
Karşımıza Select Installation Type ekranı gelecektir. Bu ekranda Role-based or Feature-based Installation seçili iken Next ile sonraki adıma geçiyoruz.
Select destination server ekranında DHCP rolünü yükleyeceğimiz sunucuyu “Select a server from the server pool” seçeneği seçili iken aşağıdaki listeden seçili iken (DC01) Next ile sonraki adıma geçiyoruz.
Select Server Roles ekranında DHCP Server rolünün kutucuğunu doldurup Next ile sonraki adıma geçiyoruz.
Karşımıza gelen Select features ekranını Next ile geçiyoruz.
DHCP Server ekranında DHCP sunucusunun rolü hakkında bilgiler alacaksınız. Next ile bu adımı da geçiyoruz.
Confirm installation selections ekranında “Restart each destination server automatically if required” kutucuğunu işaretleyip DHCP rolünün kurulumu sonrasında sunucuyu yeniden başlatma ihtiyacı olursa otomatik olarak başlatmasını sağlıyoruz. Install ile DHCP Server rolünün kurulumunu başlatıyoruz.
Installation progress ekranında DHCP Server kurulumuna ilişkin ilerleme sürecinin tamamlanmasını bekliyoruz.
Kurulum tamamlandıktan sonra Complete DHCP Configuration ile DHCP ilk konfigürasyon adımlarını başlatıyoruz.
Description ekranında DHCP Server üzerinde DHCP Administrators ve DHCP Users gruplarının oluşumu ve active directory domaininde DHCP Sunucunun authorize edileceğine dair mesaj gelecektir.
Authorization ekranında DHCP sunucunun domainde yetkilendirmesi yapılırken kullanılacak yetkili hesaba ait bilgilerin girilmesi istenecektir.
Mevcut durumda sistemdeki administrator hesabı ile çalıştığımız için Commit ile süreci başlatıyoruz. Eğer yetkisiz bir kullanıcı ile login durumda iseniz Use alternate credentials ile yetkili kullanıcı hesabını gösterebilirsiniz.
Commit ile başlatılan yetkilendirme süreci başarıyla tamamlandıktan sonra karşımıza aşağıdaki Summary penceresi gelecektir.
Security grupların başarıyla oluşturulduğu ve DHCP Sunucunun da active directory içerisinde Authorize edildiği mesajı gelecektir. Close ile pencereyi kapatıp, kalan süreçleri DHCP konsolu içerisinden devam ettireceğiz. Close ile Add Roles and Features sihirbazını da sonlandırarak birincil (primary) DHCP Server rol ve feature kurulumunu tamamlamış olduk.
Administrative Tools altına gelen DHCP konsol kısayolu ile DHCP Server yönetimi için kullanacağımız konsolu açıyoruz.
DHCP Server üzerinde yeni bir ip havuzu oluşturmak için IPv4 üzerinde sağ tuşa basıp New Scope ile süreci başlatıyoruz.
Karşımıza gelen “Welcome to the New Scope Wizard” ekranını Next ile geçiyoruz.
Karşımıza Scope Name ekranı gelecektir. Bu ekranda scope’a bir isim veriyoruz. Description kısmına da zorunlu olmamakla beraber bir açıklama belirtebilirsiniz. Next ile bir sonraki adıma geçiyoruz.
IP Address Range ekranında Start IP Address ve End IP Address kısımlarına oluşturduğumuz ip havuzunun başlangıç ve bitiş ip adreslerini belirtiyoruz. Hem alt kısımdan da alt ağ maskesi (subnet mask) adresini giriyoruz. Next ile sonraki adıma geçiyoruz.
Add Exclusions and Delay ekranında bir önceki adımda başlangıç ve bitiş adreslerinin aralığında bulunan adreslerden DHCP tarafından atanmasını istemediğiniz adresler varsa bunları hariç tutmak için bu aşamada belirtip Add ile hariç tutma listesine ekliyoruz. Eğer tek bir tane ip adresini hariç tutacaksanız hem Start hem de End IP kutucuklarına aynı ip adresini verebilirsiniz. Next ile sonraki adıma geçiyoruz.
Karşımıza gelen “Lease Duration” ekranında DHCP sunucunun istemcilere TCP/IP bilgilerini ne kadar süreyle kiralayacağını belirtiyoruz. Varsayılan olarak gelen 8 günde bırakıp Next ile bir sonraki aşamaya geçiyoruz.
Configure DHCP Options ekranında DHCP sunucudan ip adresi ve alt ağ maskesi dışında DNS Server adresi, WINS Server adresi, Router (default gateway) adresi gibi bilgileri de dağıtacaksak “Yes, I want to configure these options now “ seçili iken Next ile sonraki adıma geçiyoruz.
Router yani ağ geçidi adresini tanımlayıp, yine Next ile sonraki adıma geçiyoruz.
Domain Name and DNS Servers ekranında istemcilere dağıtacağımız domain adı son-eki ve DNS sunucu adreslerini tanımladıktan sonra, Next ile sonraki adıma geçiyoruz.
“WINS Servers” adresinde varsa WINS sunucuların adresini tanımlayıp Next ile sonraki adıma geçiyoruz.
“Active Scope” ekranında oluşturduğumuz ip havuzunu kullanıma almak için “Yes, I want to activate this scope now” seçeneği seçili iken Next ile sonraki adıma geçiyoruz.
“Completing New Scope Wizard ekranında Finish ile ip havuzu oluşturma adımlarını tamamlıyoruz.
Ipv4 altında oluşturduğumuz ip havuzunun geldiğini kontrol ediyoruz.
Şimdi de bu birincil DHCP sunucu üzerinde oluşturduğumuz ip havuzunu replikasyon ile çoğaltacağımız ya da kopyasını oluşturacağımız ikinci DHCP sunucu sistemimizi hazırlayacağız. Sonrasında da birincil DHCP sunucu üzerinde oluşturulan ip havuzunu DHCP Failover yöntemi ile çoğaltacağız.
İkincil ya da yedek DHCP sunucu olacak olan DC05 isimli DHCP sunucu üzerinden ya da uzaktan Server Manager konsolunu kullanarak DHCP Server rolünün kurulumunu gerçekleştiriyoruz.
Rol ekranında yine DHCP Server rolünü seçip, Next ile ilerleyerek DHCP Server rolünün kurulumunu başlatıyoruz.
Karşımıza gelen Select features ekranını Next ile geçiyoruz.
DHCP Server ekranında DHCP sunucusunun rolü hakkında bilgiler alacaksınız. Next ile bu adımı da geçiyoruz.
Confirm installation selections ekranında “Restart each destination server automatically if required” kutucuğunu işaretleyip DHCP rolünün kurulumu sonrasında sunucuyu yeniden başlatma ihtiyacı olursa otomatik olarak başlatmasını sağlıyoruz. Install ile DHCP Server rolünün kurulumunu başlatıyoruz.
Installation progress ekranında DHCP Server kurulumuna ilişkin ilerleme sürecinin tamamlanmasını bekliyoruz.
Kurulum tamamlandıktan sonra Complete DHCP Configuration ile DHCP ilk konfigürasyon adımlarını başlatıyoruz.
Description ekranında DHCP Server üzerinde DHCP Administrators ve DHCP Users gruplarının oluşumu ve active directory domaininde DHCP Sunucunun authorize edileceğine dair mesaj gelecektir.
Authorization ekranında DHCP sunucunun domainde yetkilendirmesi yapılırken kullanılacak yetkili hesaba ait bilgilerin girilmesi istenecektir.
Mevcut durumda sistemdeki administrator hesabı ile çalıştığımız için Commit ile süreci başlatıyoruz. Eğer yetkisiz bir kullanıcı ile login durumda iseniz Use alternate credentials ile yetkili kullanıcı hesabını gösterebilirsiniz.
Commit ile başlatılan yetkilendirme süreci başarıyla tamamlandıktan sonra karşımıza aşağıdaki Summary penceresi gelecektir.
Security grupların başarıyla oluşturulduğu ve DHCP Sunucunun da active directory içerisinde Authorize edildiği mesajı gelecektir. Close ile pencereyi kapatıp, kalan süreçleri DHCP konsolu içerisinden devam ettireceğiz. Close ile Add Roles and Features sihirbazını da sonlandırarak birincil (primary) DHCP Server rol ve feature kurulumunu tamamlamış olduk.
Administrative Tools altına gelen DHCP konsol kısayolu ile DHCP Server yönetimi için kullanacağımız konsolu açıyoruz.
Şu anda bu ikincil DHCP sunucu üzerinde herhangi bir ip havuzunun bulunmadığını ve konsolun boş olduğunu yukarıdaki şekilden de görüyorsunuz. Birazdan birincil DHCP sunucuda oluşturduğumuz ip havuzunu bu ikinci sunucuya çoğaltacağız.
Bu işlem için tekrar DC01 isimli birincil DHCP sunucuya ait DHCP konsoluna bağlanıyoruz. Ve oluşturduğumuz ip havuzu (Scope) üzerinde sağ tuşa bastığımızda gelen “Configure Failover” ile çoğaltma konfigürasyona başlıyoruz.
Gelen “Introduction to DHCP Failover” ekranında yüksek erişilebilirlik için (high availability) hangi ip havuzlarının (ip scope) kullanılacağını seçmemizi isteyen ekran gelecektir. Hangi ip havuzlarını diğer sunucuya kopyasını ya da yedeğini oluşturacaksanız bu aşama da seçiyoruz. “Select all” ile bütün ip havuzları için bunu aktifleştirebilirsiniz. Seçim sonrasında Next ile sonraki aşamaya geçiyoruz.
“Specify the partner server for failover setup” ekranında partner server’ı göstermek için sağ taraftaki “Add Server” butonuna basıyoruz.
Karşımıza gelen “Add Server ekranında Browse butonuna basarak DHCP sunucuyu active directory içerisinden arama yaparak ekleyeceğiz.
Yukarıdaki şekilde de görüldüğü üzere DC01 ile Failover Partner olarak ayarlayacağımız DC05 isimli sunucuyu ekleyip OK ile onaylıyoruz.
Karşımıza gelen Add Server ekranını da OK ile onaylayarak sihirbazdaki ana ekrana geri dönüyoruz.
Partner Server olacak ikincil DHCP sunucuyu gösterdikten sonra Next ile bir sonraki adıma geçiyoruz.
Karşımıza gelen “Create a new failover relationship” ekranında aşağıda gördüğümüz ayarları yapılandırıyoruz.
Relationship name: Yapılandırdığımız DHCP Failover Kümesine verilen tanımlayıcı isim.
Maximum client lead time (MCLT): Bir DHCP istemcisinin kira süresine ek olarak tanımlanan süre belirlenir. Bu durumda DHCP üzerinde örneğin 8 saat kiralama süresi ayarlandıysa, MCLT değeri de 1 saat ise, kira süresi toplamda 9 saat olacaktır. Bu MCLT değeri ikinci sunucuya gönderilerek kira sürelerine ilave edilmesi sağlanmış olur. Normalde RFC 2131 standartlarına göre DHCP Failover konfigürasyonunda ana DHCP sunucu bir istemciye kiraladığı ip adresine DHCPACK mesajı ile onay vermesi için kiralamaya ait kayıtların her iki DHCP sunucuya da kaydedilmesi gerekir. Böyle bir çalışma şekli DHCP performansını yavaşlatacağı için, birincil DHCP sunucu istemciye ip adresini verir ve DHCPACK ile de onaylar ve sonrasında bir replikasyon güncelleme paketi ile bu değişikliği replikasyon partneri olan ikinci DHCP sunucuya gönderir. Eğer birincil DHCP sunucu ile Failover Partner olan ikinci sunucu arasındaki iletişim koparsa bu durumda burada belirtilen MCLT süresi kadar süreyi kira sonuna ilave eder.
· Load Balance Mod: İki DHCP sunucuyu yük paylaşım modunda yapılandırmayı sağlar. DHCP sunucular birbiri ile Aktif-Aktif olarak çalışırlar. Load Balance Percentage ile DHCP sunucuların adres dağıtım yüzdelik payı ya da bir başka ifadeyle sunucuya düşen yük yüzde dilimi belirlenir.
· Hot Standby Mod: DHCP sunuculardan birinin aktif hizmet verdiği, ikinci sunucunun da pasif modda yedek olarak beklediği yapılandırma modudur. DHCP sunucular Aktif-Pasif olarak çalışırlar.
Failover Modu olarak Load Balance seçilirse DHCP Sunucular arası yük paylaşımı yapılarak istemciler DHCP Sunucular arasında paylaştırılır. Böylece her iki DHCP sunucu da istemcilere hizmet verecektir. Hot Standby modda failover yapılandırmasında ikinci DHCP sunucu pasif olarak yapılandırılır ve primary (birincil) DHCP sunucunun üzerinde DHCP failover için konfigüre edilen ip havuzunun bir kopyası ikinci DHCP sunucuya yedeklendir. Fakat sadece primary olan DHCP sunucu aktif olarak hizmet verir. Primary DHCP sunucuda bir problem yada devre dışı kalma ya da hizmet kesintisi olunca ikincil DHCP Sunucu devreye girerek istemcilerin isteklerine cevap verecektir.
Biz yukarıdaki şekilde görüldüğü gibi Load Balance modda yapılandırmalarımızı ve gerekli ayarları yapılandırdıktan sonra Next ile bir sonraki adıma geçiyoruz.
Bu adımda Finish butonuna tıklayınca DHCP Failover yapılandırılması başlayarak iki sunucu arasında bir replikasyon mimarisi kurulmuş olacaktır.
Yapılandırma tamamlandıktan sonra yukarıdaki şekilde görüldüğü gibi “Successful” ibaresi ile başarılı bir şekilde tamamlandığını göreceksiniz. Close diyalog kutusunu kapatıyoruz. Tekrar DHCP konsoluna geri dönmüş olacağız.
DHCP konsolunda Failover yapılandırması yaptığımız ip havuzu üzerinde sağ tuşa basında yukarıdaki şekilde de görüldüğü üzere “Deconfigure Failover”, “Replicate Scope” ve “Replicate Relationship” linkleri gelecektir.
Şimdi bu konfigürasyon sonrasında ikinci sunucuya birinci sunucuda oluşturulmuş ve tanımlamaları yapılmış ip havuzunun içeriğinin replike olduğunu görelim. Bunun için ikinci DHCP sunucuya bağlanıp DHCP konsolunda Ipv4 üzerinde Refresh komutunu veriyoruz.
IPV4 altına birinci sunucuda oluşturduğumuz ip havuzunun aynı şekilde replikasyona tabi tutulduğunu ve tüm konfigürasyonun geldiğini göreceksiniz.
Address Pool, Address Leases, Reservations ve Scope Options gibi ayarların aynen ikinci sunucuya geldiğini göreceksiniz.
Şimdi şöyle bir uygulama ile iki sunucu arasında replikasyonun çalıştığını kontrol edelim. İkinci sunucuya replikasyonla gelen ip havuzunun üzerinde sağ tuş Properties ile havuz özelliklerine giriyoruz. General tabında End IP Address ayarını 192.168.1.110’dan 192.168.1.195 olarak değiştiriyoruz. Ve sonrasında OK ile onaylıyoruz.
İkinci sunucuda yapılan bu değişikliğin birinci sunucuya DHCP Failover yapılandırmasında belirttiğiniz süre sonunda replikasyona tabi tutulduğunu göreceksiniz. Biz bu süreyi beklemeden elle replikasyonu tetikleyerek ikinci sunucuda yapılan değişikliğin birinci sunucuya replika olduğunu görelim. Bunun için ikinci sunucu üzerindeki ip havuzu üzerinde sağ tuş “Replicate Relationship” veya “Replicate Scope” ile replikasyonu başlatıyoruz. Replicate Relationship tüm ip havuzlarının (ip scope) replikasyonunu tetiklerken, Replicate Scope sadece seçili olan ip havuzunun replikasyonunu başlatır.
Karşımıza gelen DHCP diyalog kutusunda ikinci sunucudaki yapılan değişikliklerin replika partner olan diğer sunucuya güncelleneceğini belirtiyor. OK ile onaylıyoruz.
Karşımıza “Failover Scope Configuration Replication” ekranı gelecektir. Bu ekranda ilgili ip havuzunun özelliklerinde, exclusion ayarlarında, scope seçeneklerinde ve ip aralığı ayarlarında yapılan değişikliklerin replikasyonunun ilerleme süreci ile ilgili bilgiler gelecektir. Replikasyon tamamlandıktan sonra en alt satırda “….successfully replicated to failover partner server….” ibaresini göreceksiniz.
Close ile bu ekrandan çıkıyoruz.
Şimdi bu replikasyonun birinci sunucuya yansıdığını kontrol edelim. Bunun için birinci DHCP sunucuya bağlanıyoruz ve ip havuzunun üzerinde sağ tuş Properties ile özelliklerine giriyoruz. IP aralığının 192.168.1.110 – 192.168.1.195 olarak değiştiğini göreceksiniz. Böylece ikinci sunucudan replikasyonun başarılı olarak birinci sunucuya yapıldığını doğrulamış olduk.
Replikasyona tabi tutulan IP havuzunun (IP Scope) Properties’inde otomatik olarak “Failover” tabının geldiğini göreceksiniz. Burada failover partner sunucu olan diğer sunucunun isim, yapılandırma modu ve diğer durum bilgileri ile ilgili detayları bulabilirsiniz.
Yukarıda da belirttiğimiz gibi “Replicate RelationShip ile tüm scope’ların replikasyonunu yapabileceğiniz gibi aşağıdaki şekilde de görüldüğü üzere Replicate Scope ile de sadece seçili olan ip scope’unun replikasyonunu gerçekleştirebilirsiniz.
Son olarak da kurduğunuz DHCP Failover yapısını kaldırmak ya da bir ip havuzunu DHCP Failver mimarisinden çıkarmak için o scope üzerinde sağ tuşa basında gelen “Deconfigure Failover” linke tıklayarak gerçekleştirebilirsiniz.
Bu işlem sonrasında ilgili scope’lar ikincil ya da replica partner sunucudan da silinecektir.
Not: DHCP Failover özelliği sadece IPv4 scope tarafından desteklenmektedir.
Sonuç Olarak;
Bu makalemizde sizlerle Windows Server 2012 R2 İle DHCP Failover özelliğini detaylarıyla inceledik. Bir başka makalemizde görüşmek üzere hoşçakalın.
Mesut ALADAĞ
Microsoft MVP, MCT