"Çözümler" bölümündeki tüm yazılar:

DISM ile Windows Server 2008 R2 Edition Upgrade

Upgrade path’leri referans almak koşulu ile Windows istemci ve sunucu işletim sistemleri kendi edition’ları arasında yükseltmeyi destekler. Edition Upgrade ile kastetmek istediğim Windows Server 2003’ten Windows Server 2008’e yükseltme yani sürümler (version) arası bir geçiş değil, örneğin Windows Server 2008 R2 Standard Edition’dan Windows Server 2008 R2 Enterprise Edition’a doğru bir yükseltmedir.

Windows Server 2008 R2 öncesinde, kurulu olan uygulamaları ve ayarları bozmadan/kaybetmeden edition’lar arası yükseltme operasyonları genelde zahmetlidir. In-place upgrade dediğimiz bir yöntem ile kurulum medyası (veya source files) kullanılarak gerçekleştirilen bir setup sonrasında mevcut edition uygun üst edition’a geçirilebilir. Zaman alır, zahmetlidir, işletim sistemi üstünde koşan uygulama, servis ve özel yarlar için risklidir.

Özellikle kurumsal seviyede iş yapıyorsanız bir upgrade ihtiyacının ne zaman ortaya çıkacağını kestirmek zordur. Bazen şapkadan öyle bir tavşan çıkar ki elde olan enstrümanlar ile çözüm üretmek zorlaşır, zaman kazanmak adına yeni arayışlara girersiniz.

Mesela Windows Server 2008 R2 Hyper-V için Failover Cluster yapmak istiyorsanız, Windows Server edition’ın Enterprise veya Datacenter olması gerekir. (Bu arada edition’a sürüm demek istemediğim ve yerine de bir şey bulamadığım için edition deyip duruyorum:)) Peki karşınızda yanlış planlama sonucu işletim sistemleri Standard olarak kurulmuş bir çok sunucu ve Failover Cluster yapılması gereken bir proje varsa?

Veya Windows Server 2008 R2 Standard ile NPS yapıyorsanız, en fazla 50 RADIUS Client kabul edebileceğinizi bilmeniz gerekir. Eğer bu konuyu göz ardı ederek projeyi müşteriye teslim ederseniz, 51. RADIUS Client ihtiyacında telefonunuz çalacaktır.

Çok daha vahim bir senaryo… Yine hatalı bir planlama sonucunda işletim sistemleri Windows Server 2008 R2 Standard olarak kurulmuş Exchange Server 2010’lar ile DAG yapılması gerekiyor ve yeni fiziksel sunucu veya VM koyma şansınız yok.

Buraya küçük bir not düşmek isterim. Microsoft, Exchange Server 2010 (yani aslında Mailbox Role) için Windows Server 2008 R2 Standard işletim sistemlerinin Windows Server 2008 R2 Enterprise’a yükseltilerek DAG yapılmasını desteklemiyor, OS ve Exchange servislerinin o sunucu için yeniden kurulmasını tavsiye ediyor.

TechNet Not

http://technet.microsoft.com/en-us/library/dd365355(v=ws.10).aspx

Biz bu yöntemi bir müşterimiz için Exchange Server 2010 DAG için önce test ortamında, bir süre sonra ise canlı ortamda devreye aldık. Şimdilik bilinen veya bilinmeyen herhangi bir probleme neden olmadı. Ama altını çizelim; bu bir problem olmayacağı anlamına gelmez. Bu noktada tercih tamamen sizin kararlarınıza ve yapınıza destek veren kişilerin yeteneklerine kalmış bir konu.

Yukarıda bahsettiğim gibi şapkadan tavşan çıkan durumlarda bir üst edition’a geçmek için in-place upgrade ile kurulum medyası (veya soruce files) kullanarak yükseltme yapma şansına Windows Server 2008 R2 ‘de de hala sahipsiniz. Yükseltilecek işletim sistemi üstünde koşan uygulama ve servislerin bu senaryo için destek durumlarını da değerlendirmeyi unutmayın.

Ben size çok daha basit bir yöntemden bahsedeceğim.

Devamını oku…

Kullanıcı oturumlarında servis durdurma başlatma ve yeniden başlatma yetkisi

23.06.2012 | 13:04 Çözümler , Windows , Windows Server 4 Yorum

Bazı durumlarda User (kullanıcı/kısıtlı) yetkiler ile çalışan oturumlara belirli bir servis için durdurma, başlatma veya yeniden başlatma hakkı vermek isteyebilirsiniz. Normal şartlarda Users grubu üye kullanıcılar işletim sistemi servislerini yönetemezler ve genelde bu ihtiyacı karşılamak için kullanıcı grup üyeliği değiştirilerek daha yüksek yetkiler atanır. Bu pratik bir yöntem olmasına karşın, genelde kullanıcı oturumuna vermek istemeyeceğiniz birçok yetkiyi de beraberinde getirir.

Belirli bir Windows işletim sistemi servisi yönetimi için bir kullanıcıya veya bir gruba, administrators üyesi yapmadan veya benzeri bir yöntem kullanmadan nasıl yetki verebilirsiniz?

Bu iş için genelde Sc.exe aracını kullanıyoruz. Sc.exe, Windows işletim sistemi üzerinde çalışan veya bundan sonra çalışacak olan servislerle ve tüm bu mekanizmayı yöneten Service Controller ile konuşmanızı sağlayan bir komut satırı aracıdır. Sc.exe, Services.msc gibi UI üzerinden yapabileceğiniz tüm işleri yerine getirebildiği gibi, UI’dan yapmanın mümkün olmadığı birçok şeyi de sağlayabiliyor.

Sc.exe ‘yi şuralarda bulabilirsiniz:

Windows XP ve Windows Server 2003 sürümleri için Resource Kit içerisinden alınır.

Windows Vista, Windows 7, Windows Server 2008 ve Windows Server 2008 R2 için yerleşik olarak gelir.

Sc.exe sayesinde, herhangi bir SID (security identifier) ‘ye, servis SDDL (security descriptor definition language) string içerisinde istediğiniz yetkiyi tanımlayabilirsiniz.

SID, bazı objeleri (ki bunlardan biri de kullanıcı hesaplarıdır) işletim sistemi içerisinde tanımlayan unique tanımlayıcılardır. SDDL ise özel bir tanımlama dilidir ve bu senaryoda servislerin üzerindeki yetki tanımlarını tutar.

Örnek senaryo şu:

Windows 7 işletim sistemi üzerinde Test isimli ve sadece Users grubuna üye olan, yani kısıtlı yetkiler ile çalışan bir kullanıcı var. Senaryo gereği bu kullanıcıya sadece “HP Quick Synchronization Service” için başlatma/durdurma/yenidenbaşlatma yetkileri atıyorum.

Test kullanıcısının şu an servisi yönetme hakkı yok.

Service Restart 1

1) Öncelikle kullanıcının SID’sini bulun. Bunun çin çok fazla yöntem var. Mesela tek satırlık WMIC sorgusu kullanabilirsiniz.

wmic useraccount get name,sid

image

test kullanıcısı için kullanacağımız SID: S-1-5-21-1771203805-3482426351-2602944862-1001

2) Daha sonra servisin mevcut SDDL String’ini alın.

sc sdshow “HP Quick Synchronization Service”

image

“HP Quick Synchronization Service” gibi display name kullanırsanız hata alırsınız çünkü işletim sistemi açısından bu bir servis adı değildir. Gerçek servis adını şu şekilde bulabilirsiniz:

sc getkeyname “HP Quick Synchronization Service”

image

SDDL String’I almak için doğru service name ile tekrar sdshow yapıyorum.

sc sdshow HPDrvMntSvc.exe

image

Dönen SDDL String:

D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCR
RC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

Bu özel bir dil (SDDL). Eğer buradaki format ve bu dili oluşturan bileşenler hakkında daha detaylı bilgi isterseniz şuralara bakabilirsiniz.

Security Descriptor String Format
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379570%28v=vs.85%29.aspx

Security Descriptor Definition Language for Conditional ACEs
http://msdn.microsoft.com/en-us/library/windows/desktop/dd981030%28v=vs.85%29.aspx

ACE Strings
http://msdn.microsoft.com/en-us/library/windows/desktop/aa374928%28v=vs.85%29.aspx

SID Strings
http://msdn.microsoft.com/en-us/library/windows/desktop/aa379602%28v=vs.85%29.aspx

3) SDDL String’i, Test kullanıcısının SID’si ve gerekli yetkiler ile birleştiriyorum.

D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPDTLO;;;S-1-5-21-1771203805-3482426351-2602944862-1001)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

Şu iki nokta çok önemli.

– Ekleyeceğiniz yeni String mutlaka S:( ‘den hemen önce yer almalı.

– Start/Stop/Restart için şu sabit ACE String’i SID ile birleştirerek kullanıyoruz: (A;;RPWPDTLO;;;**SID**)

Şayet hem yerel hem de sc.exe \\computername ... gibi bir yöntemle uzak oturumdan servisi Start/Stop/Restart yetkisi atamak için kullanmanız gereken ACE String: (A;;LCSWRPWP;;;**SID**)

4) Yeni SDDL String’i yine sc.exe ile gönderiyorum.

sc sdset HPDrvMntSvc.exe “D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPDTLO;;;S-1-5-21-1771203805-3482426351-2602944862-1001)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)”

image

SetServiceObjectSecurity SUCCESS gördüğünüz taktirde işiniz bitmiştir.

5) Artık Test kullanıcısı ile servisi yönetebilirsiniz.

image

Bunun yanı sıra Test kullanıcısı diğer servislere müdahale edemez ve hala Users grubu yetkileri ile çalışır.

Bu işi bir user SID yerine bir group SID için yaparak daha genel bir yetkilendirme de yapmak mümkün.

image

Mesela şirketinize ait özel bir servis için kullanıcılarınıza yönetim yetkisi vermek istiyorsunuz. Bu durumda her kullanıcı hesabının SID’si ile uğraşmak yerine, örneğin local Users group SID’sini alıp tüm Client OS’lere uygulayarak topluca ve daha hızlı bir şekilde devreye alabilirsiniz.

VMM deneme sürümünün full sürüm ile güncellenmesi

Eğer System Center Virtual Machine Manager ürününü şuradaki gibi deneme kopyası olarak kullanıyor ve satın aldığınız full sürüm ile güncellemek istiyorsanız; ama bu süreçte mevcut dataların kaybolmasını istemiyorsanız doğru yerdesiniz :)

Biliyorsunuz VMM’in evolution kopyasına product key girme şansınız yok. Eğer süre dolmak üzereyse ve elinizde lisanslı bir VMM varsa, Microsoft Licensing Site üzerinden hesabınız ile indereceğiniz full sürüme geçiş yapmanız uygun olacaktır. Bu noktada VMM Evolution üzerinde bu zamana kadar oluşmuş datayı ve konfigürasyon bilgisini (host tanımları, VM tanımları, job geçmişi, library server’lar, istatistikler vs..) kaybetmeden geçişi tamamlayabilirsiniz.

Licensed VMM’i yine Evolution VMM makinesine kurmak istediğinizi düşünüyorum ki genelde bu senaryo ile karşılaşıyoruz.

Aşağıdaki adımları izleyin:

  • VMM Evolution’ı (yani Virtual Machine Manager Server rolünü) Add or Remove Programs altından remove edin. Bu sırada karşınıza gelecek Uninstallation Options penceresinde Retain Data seçeneği ile ilerleyin ve remove işlemini tamamlayın. Retain Data seçeneği VMM DB’inde yer alan verinin sunucu üzerinde daha sonra  kullanılabilecek şekilde saklanmasını sağlayacak.
  • Varsa sunucu üzerindeki diğer VMM komponentlerini de kaldırın (Administrator Console, Self-Service Portal, VMM Agent)
  • Aynı sunucu üzerine, MS Licensing Site üzerinden indirdiğiniz VMM Licensed sürümünü ihtiyacınız olan komponentler ile birlikte yükleyin. Yükleme sırasında Retained Data seçeneği ile ilerleyin ve kurulumu tamamlayın. Retained Data seçeneği eski VMM DB’ini kullanmanızı sağlayacak.
  • Administrator Console ile logon olup kontrollerinizi yapın. Yönettiğiniz host, vm, library server gibi kaynaklar yerinde duruyor olacak. Eğer Access Denied durumda bir host veya library server görürseniz, o kaynak için Reassociate komutunu tıklayın.

Aynı yöntemi VMM Workgroup sisteminizi üst sürüme geçirirken de kullanabilirsiniz.

Bu süreçte Hyper-V Host ve VM’leriniz için herhangi bir downtime söz konusu değildir.

Sanal makine ağ erişim problemi

14.06.2011 | 10:45 Çözümler , Hyper-V 1 Yorum

Hyper-V üzerinde çalıştırdığınız sanal makinelerde mutlaka network adapter kullanıyorsunuzdur. Sanal makineler üzerindeki servis ve uygulamalar bazı durumlarda yüksek sayıda eş zamanlı ağ bağlantıları kurabilir veya yoğun outgoing trafiği oluşturabilir. Yaşanan bir problemden ötürü bazı senaryolarda sanal makine ağ bağlantısı kaybolabiliyor. Hatta bazı senaryolarda sanal makinenin sanal ağ bağdaştırıcısı devre dışı (disable) duruma düşebiliyor. Sanal makineyi yeniden başlattığınızda büyük ihtimalle problem geçici olarak düzelecektir.

Windows Server 2008 R2 üzerinde benzer bir problem yaşanmıştı ve bir hotfix ile problem çözülmüştü: http://support.microsoft.com/kb/974909/en-us Daha sonra bu hotfix WS08R2-SP1’e entegre edildi ancak WS08R2-SP1’de problem farklı bir şekilde tekrar etti.

Windows Server 2008 R2 SP1 üzerinde nadiren ve scenario-specific olarak yaşanan bu probleme çözüm üretmek için KB2263829 numaralı hotfix’i kullanabilirsiniz: http://support.microsoft.com/kb/2263829/en-us

[Çözüm] Windows 7 Start Menu Search Problemi

24.01.2011 | 00:13 Çözümler , Windows 12 Yorum

Windows 7 ‘nin start menüsüne entegre edilmiş bir serach bölümü var biliyorsunuz.

Windows 7 Arama Bölümü

Çok kullanışlıdır. Severim, kullanırım, kullandırırım :) Control Panel altındaki indexing option bölümünden, bu serach özelliğinin indexlemesini istediğinizi özel dizinleri de ayarlayabiliyorsunuz. Böylece belirttiğiniz dizinler altındaki içerik üzerinde de arama yapabilir hale geliyor. Ayrıca bu özellik dosya içindeki metinlerde de arama yeteneğine sahip.

Geçenlerde start menüsünde yer alan search özelliği çalışmamaya başladı. O an bir göz attım ancak çözemeyince pek uğraşmadım ve erteledim. Sonra iş yoğunluğu vs.. derken bir süre böyle takılmak durumunda kaldım :) gerçekten çok kötü günlerdi.. ve öyle bir alışkanlık olmuş ki elim sürekli oraya gidiyor.

Ben bir kelime yazıyorum ama sonuç aşağıdaki gibi:

Windows 7 Arama Sonucu

Bu arada ekran görüntüsünde task bar yukarıda olduğu için start menüsü de yukarıda, akıl karıştırmasın :)

Neyse dün akşam bir fırsatını bulup bakma şansım oldu (yada artık canıma tak etti) ve küçük bir registry anahtarının neden olduğunu buldum.

TopViews

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{EF87B4CB-F2CE-4785-8658-4CA6C63E38C6}\TopViews

altındaki 

{00000000-0000-0000-0000-000000000000}

anahtarını silince problem düzeliyor.

Açıkçası bu anahtarın ve altındaki değerlerin nerden geldiği ve neden oluştuğu konusuna bakma şansım olmadı bu nedenle her ihtimale karşı silme işleminden önce ilgili anahtarı export ederek bir kenara koydum. Eğer bu problemi yaşıyorsanız, alternatif olarak anahtarı silmek yerine ismini de rename edebilirsiniz.

Daha sonra windows explorer ‘ın ayarı alabilmesi için explorer.exe ‘yi sonlandırıp tekrar start ediyoruz (çünkü serach özelliği windows explorer ‘a bağlı çalışıyor). Yada sisteminizi restart edebilirsiniz.

Ve mutlu son:

Başlat Menüsü Arama Özelliği

Ben çektim siz çekmeyin diyerek blog’a not aldım. Birilerinin işine yarayacaktır.

Nvspscrub.js ile Hyper-V virtual networking tanımlarını topluca silebilirsiniz

25.11.2010 | 23:02 Çözümler , Hyper-V 0 Yorum

Küçük bir script bazen çok zaman kazandırabiliyor :) ki nvspscrub.js ‘te böyle bir java script. Windows üzerinde java script’ler cscript ile çalışır. Cscript ise Windows scripting host‘un command line’dan calışan interpreter‘ıdır.

Özellikle Windows Server Core + Hyper-V çalışan box’lar da virtual networking’e müdahale etmek kimi zaman zordur çünkü komut seti, GUI gibi noktalar kısıtlıdır. Ayrıca sunucuya remote management tool’lar ile erişemediğiniz durumlarda troubleshooting’i komut satırından yapmanız gerekir ve tecrübe gerektirir.

Eğer Windows Server Core + Hyper-V üzerinde virtual networking ile ilgili bir problem yaşıyorsanız ve troubleshooting noktasında çözümsüz kalırsanız aklınızda bulunsun; sistem üzerindeki tüm virtual neteworking konfigürasyonunu sıfırlamak çoğu zaman çözüm olabilmektedir. Bu işi yapmak için ise nvspscrub.js‘i kullanabilirsiniz. Ayrıca, ihtiyaç duyduğunuz taktirde bu scripti Windows Server 2008 Full + Hyper-V üzerinde de aynı amaçla kullanabilirsiniz. Gerçi Windows Server 2008 Full + Hyper-V üzerinde birçok GUI olduğu için işiniz daha kolay ama pratik olduğu için bu scripti de tercih ediyor olabilirsiniz.

nvspscrub.js download için: http://code.msdn.microsoft.com/nvspscrub/Release/ProjectReleases.aspx?ReleaseId=2916

home page: http://code.msdn.microsoft.com/nvspscrub

Script 3 adet parametreye sahip. Bu parametreleri cscript nvspscrub.js /? ile görebilirsiniz:

nvspscrub.js

/v parametresi ile: Host (parent partition) üzerinden sadece disabled durumdaki virtual NIC’leri silebilirsiniz (eğer varsa, yani Allow management operating system to share this network adapter seçeneğini kullanmışsanız ).

/p parametresi ile: Host (parent partition) üzerindeki tüm virtual network konfigürasyonunu silebilirsiniz. Bu parametre ile host üzerindeki external, internal, private virtual switch’lerin tamamı, varsa parent partation üzerinde ekli virtual NIC’ler (VM’lerin virtual NIC’lerini silmez) ve parent partition üzerindeki fiziksel NIC’lerde çalışan switch protocol’lerin (microsoft virtual network switch protocol) tamamı silinir.

/n parametresi ile: Spesifik bir NIC belirterek sadece o NIC ile ilişkili virtual networking konfigurasyonunu silebilirsiniz.

Senaryodaki host üzerinde 5 VM çalışıyor, 1 adet external network tanımlı (yani bir virtual switch var) ve VM’ler bu switch’e üye. External bir switch olduğu için bu virtual switch’in bind edildiği bir fiziksel NIC var. Bu NIC’i host sistem ile paylaşmıyorum (yani Allow management operating system to share this network adapter seçili değil) bu nedenle host için yaratılmış herhangi bir virtual NIC yok.

Tüm konfigürasyonu uçurmak için /p parametresi ile aşağıdaki komutu veriyorum.

cscript nvspscrub.js /p

Ve konfigürasyon anında siliniyor.

nvspscrub.js 2

Dikkat ederseniz bir adet virtual switch ve bir fiziksel NIC üzerindeki bind tanımı silindi (unbind the switch protocol). Olması gereken de buydu ve senaryomuz ile sağlamasını yapabilirsiniz.

Bu noktadan sonra parent partition üzerindeki tüm virtual networking konfigürasyonu kaldırılmış oldu. Şimdi yeniden virtual network’ler yaratabilirsiniz. VM’ler üzerindeki vNIC’ler aynen durduğu için de bu VM’leri yeni virtual switch’lerinize hızlıca üye yapabilirsiniz.

Disk2vhd v1.63 ile Disk Sanallaştırmak Çok Kolay

18.10.2010 | 09:06 Çözümler , Hyper-V 5 Yorum

VHD dosyaları oluşturmak, yani bir noktada disk/partition sanallaştırmak için kullandığımız Disk2vhd aracının geçtiğimiz hafta Perşembe günü yeni bir sürümü publish edildi.

Virtual Hard Disk yani VHD dosyaları Microsoft Hyper-V ve Virtual PC ortamlarında VM’lerin sanal diskleri olarak kullanılıyor. Ücretsiz olan Disk2vhd aracı, p2v yani fizikselden sanala dönüşüm işlemlerine destek olabilen, oldukça sade ve kullanışlı bir araç. VMM ile gelen p2v özelliği, fiziksel bir sistemi sanallaştırırken (yani p2v yaparken) disk ile birlikte, network  adapter, cpu, memory gibi diğer konfigürasyonu da Hyper-V üzerine taşıyıp VM’i otomatik olarak yaratbiliyorken, Disk2vhd sadece disk dönüşüm işlemi gerçekleştirebiliyor.

Disk2VHD kullanımıyla ilgili daha güncel bir içeriğe şu bağlantıdan ulaşabilirsiniz: http://www.serhatakinci.com/index.php/disk2vhd-ile-vmwareden-hypervye-sanal-makine-cevrimi.html

Bu sürüm üzerinde major bir yenilik gelmedi ancak harici diskler ile ilgili yaşanan bir problem düzeltilmiş. 811Kb’lık kurulum gerektirmeyen bu şahane aracın yeni sürümü olan 1.63‘ü aşağıdaki link üzerinden indirebilirsiniz.

http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx

Disk2vhd aracı ile işletim sistemi çalıştıran diskleri yani system/boot volume’ları dahi VHD formatına dönüştürebilir, bu VHD’leri Hyper-V üzerinde yada VHD Boot destekleyen bir işletim sisteminde (Ör:Windows7) boot edebilirsiniz. Eğer boot etmek istemiyorsanız diskmanager yada diskpart ile attach edip direkt içeriğini görme şansınız da var. Ayrıca Disk2vhd, VHD yaratma işlemini online olarak gerçekleştirebiliyor. Yani işletim sistemi açık durumdayken bu küçük tool ile sanallaştırıp VHD haline getirebilirsiniz :)

Disk2vhd aracı VHD yaratma işlemini online gerçekleştirebilmek için Windows Volume Snapshot’ı kullanabilecek şekilde tasarlanmış. Bu sayede dönüşüm öncesinde consistent bir snapshot noktası oluşturup, dönüşümü sistem çalışır durumdayken gerçekleştirebiliyor. Ayrıca fiziksel sistem üzerindeki tüm disk ve volume’ları tek bir VHD dosyası içinde toplayabildiği gibi, dönüşüm işlemini her disk yada volume için ayrı ayrı çalıştırarak birden fazla VHD şeklinde de yaratabiliyorsunuz.

Disk2vhd aracı ile işletim sistemi bulunan bir diski VHD’ye dönüştürüp Hyper-V üzerinde ilk kez boot ettiğinizde, sanal makine otomatik olarak Hyper-V sanal donanım sürücülerini yüklemeye çalışır. Bu noktada eğer sanallaştırdığınız işletim sistemi içinde Hyper-V driver paketi bulunuyor ise otomatik olarak sürücü seti import edilir (örneğin Windows Server 2008 yada Windows7).  Eğer VM ilgili sürücü paketini bulamaz ise, sistem açıldıktan sonra Hyper-V Integrations  Component’i sizin yüklemeniz gerekir.

Disk2vhd kurulum gerektirmeyen KB’lar seviyesnde bir exe’dir ve Windows XP SP2, Windows Server 2003 SP1 ve daha sonraki Windows sürümleri üzerinde rahatlıkla çalışabilir. Ayrıca 64bit desteği de vardır.

Kısaca uygulama adımlarına göz atalım. Programın ara yüzü  aşağıdaki gibi:

disk2vhd

Gördüğünüz gibi çok sade. Aracı çalıştırdığınız sistem üzerindeki volume’ları listeliyor. Hangisini VHD yapmak istiyorsanız listeden seçiyorsunuz. Daha sonra VHD dosyasının nereye oluşacağını belirleyip Create diyerek ateşliyorsunuz :)

disk2vhd 2

VHD için gösterdiğiniz bölümde yeterli boş alan olması gerektiğini unutmayın. Ayrıca, gerekli erişim izinlerini sağladığınız taktirde VHD  dosyasının oluşacağı yer olarak bir UNC (yani network üzerinde  bir alan) da verebilirsiniz.

Aracı komut satırından kullanma şansınız da var. Örnek bir kullanım: disk2vhd c:\ d:\Disk1.vhd

Ve küçük bir trick daha; arıcı siteye girip indirmeden, internet erişimi olan bir pc üzerinde start>run açtıktan sonra \\live.sysinternals.com\tools\disk2vhd.exe yazarakta çalıştırabilirsiniz.

Son olarak şunu hatırlatmak istiyorum. Eğer OEM işletim sistemi çalıştıran bir makineniz varsa, işletim sisteminin bulunduğu bölümü bu yöntem ile VHD yapıp Hyper-V üzerinde boot ettiğinizde aktivasyon uyarısı alırsınız çünkü OEM işletim sistemleri ilk kuruldukları ve aktive edildikleri donanıma aittirler. Herhangi bir yöntem ile başka bir donanım üzerine taşınması desteklenmez.

VMM: P2V Sonrasında MAC Adresine Dikkat Edin

Geçenlerde yaşadığımız bir probleme istinaden dikkat edilmesini tavsiye ettiğim bir konudan bahsetmek istiyorum.

Bildiğiniz gibi Virtual Machine Manager’ı (kısaca VMM) sunucu sanallaştırma altyapılarımızı yönetirken kullanıyoruz. VMM’in yetenekleri arasında p2v (physical to virtual – fizikselden sanala) ve v2v (virtual to virtual – sanaldan sanala) dönüşüm özellikleri de bulunuyor. P2v yeteneği sayesinde fiziksel sunucuları çok kolay bir şekilde sanala dönüştürüp Hyper-V host’larımız üzerinde konumlandırabiliyoruz. Hatta bu işlemi fiziksel sunucu (source) açık durumdayken yani networkte hizmet vermeye devam ederken bile gerçekleştirebiliyoruz.

VMM ile offline p2v konusu ve uygulama adımları için buraya, online p2v için ise buraya bakabilirsiniz. VMM konusunda blog’ta yer alan tüm yazılara ise şuradan ulaşmanız mümkün.

P2v operasyonu sırasında fiziksel sistemin (source) network connection’ı üzerindeki bilgiler de yeni oluşan sanal makine üzerine taşınır ve sanal network kartı üzerine işlenir. Bu noktada TCP/IP ayarları ile birlikte fiziksel sunucunun NIC’leri üzerindeki MAC adresleri de aynı şekilde taşınır ve VM üzerindeki Virtual NIC’lere otomatik olarak işlenir. P2v tamamlandıktan sonra genellikle sanallaştırdığımız fiziksel sistemi kapatıp network ile iletişimini keseriz çünkü artık ilgili sistem sanal olarak çalışmaya hazırdır ve SID, hostname gibi uniqe tanımlar yüzünden aynı anda hem VM’in hem de fiziksel sistemin networkte sağlıklı çalışması mümkün değildir. Buraya kadar herşey normal. Problem ise tam şu noktada baş gösteriyor: Eğer bir gün sanallaştırdığınız fiziksel sunuculardan birini herhangi bir nedenle yeniden kullanmak isterseniz ve bu fiziksel sunucu VM ile aynı networkte olacak ise, yeni sisteme network üzerinden ulaşılamama, ping paket kayıpları, sunucunun outbound trafiğinin normal ama inbound trafiğinin problemli olması gibi durumlar ile karşılaşmanız mümkün. Çünkü ortamınızda hardware (fiziksel server) üzerindeki MAC adresine sahip bir sistem daha var, o da p2v yaptığınız VM. Ortamda aynı MAC adresine sahip iki sistem olacağı için haliyle sıkıntılı durumlar ortaya çıkacaktır ki tecrübe ile sabittir :)

Aslında çözüm çok basit. Ama çözüme geçmeden önce birkaç screenshot ile konuyu detaylandıralım.

Diagnose sürecinde switch logging bölümünden alınmış bir ss (manageable bir switch).

Switch Log

Gördüğünüz gibi switch üzerindeki 13 ve 23 numaralı portlarda flapping durumu yaşanıyor ve tek bir MAC adresi görünüyor: 00:1A:64:C5:75:14 . Bu portların birisinde VM, diğerinde ise yeni fiziksel sunucu (aslında eski fiziksel sunucu) bağlı durumda.

VMM üzerinden VM’in MAC adresine bakıyoruz.

VM MAC Address

Gördüğünüz gibi 00:1A:64:C5:75:14

Birde fiziksel sunucunun MAC adresine bakıyoruz.

OS MAC Address

Gördüğünüz gibi aynı. Yani 00:1A:64:C5:75:14

Çözüm için sistemlerden birinin MAC adresini değiştirmek gerekiyor. Bu noktada fiziksel sistemin MAC adresini değiştirmek kolay olmadığı için VM’in MAC adresini değiştiriyoruz (çünkü MAC adresi ethernet kartına aittir ve normal şartlarda değiştirilmesi mümkün değildir). Bunun için VM’i kapattıktan sonra virtual network adapter’ün settings bölümünden MAC adres tanımını değiştirebilirsiniz.

MAC Address

Eğer dynamic yaparsanız, MAC adresi VMM üzerindeki MAC havuzundan otomatik olarak atanır. Bu havuzu bir nevi DHCP gibi düşünebilirsiniz.

MAC Address Range

Yada static olarak bırakıp siz manual olarak farklı bir MAC adresi de atayabilirsiniz.

Static MAC Address

Sonuç:

Aslında tüm yazıyı tek bir cümle ile özetlemek mümkündü: “Eğer VMM ile p2v yaptıktan sonra source olan fisikzel sistemi VM ile aynı networkte kullanmayı planlıyorsanız, iki sistem üzerindeki MAC adresleri aynı olacağı için network iletişiminde problem yaşanma ihtimali vardır.”

Ancak bu gibi durumlar için diagnose yapmak gerektiğinde nasıl yaklaşılmalı noktasında fikir verebilmek adına konuyu biraz daha detaylandırmak istedim.

Eğer hali hazırda çalışan VM’lerde bu sorunu yaşarsanız artık çözümü biliyorsunuz. Eğer yeni bir p2v projeniz varsa, yazıda geçen konuyu bir best practice olarak aklınızda bulundurun derim.

Son olarak; incelediğimiz bu durum sadece VMM ve Hyper-V tarafına özgü değildir. Farklı sunucu sanallaştırma markaları ile çalıştığınızda da aynı durum ile karşılaşma ihtimalizin vardır. Sonuç olarak ortada bir hata olmadığının, bu durumun genel p2v süreçlerinin bir karakteristiği olduğunun altını çizmek istiyorum.

Windows Server Core: Core Configurator 2.0

03.01.2010 | 06:05 Çözümler , Hyper-V 1 Yorum

Geçtiğimiz aylarda Windows Server Core Installation yani Windows Server 2008 işletim sisteminin GUI bulunmayan ve bazı temel sunucu rollerinin koşabildiği sürümü üzerinde kullanabileceğiniz bir kaç Configurator örneği vermiştim. Bu Config araçları basit anlamda grafik ara yüzleri olan ve birtakım işlemleri komut satırı yerine GUI üzerinden yapabilmemize olanak sağlayan araçlardı. Blog üzerinde küçük bir arama ile bu araçlara ulaşabilirsiniz.

Windows Server 2008 Core Installation üzerinde koşabilen rollerin başında Hyper-V geliyor. Hyper-V rolünün Core üzerinde (aslında tam olarak üzerinde değil de altında desek daha doğru olur) çalıştırılması güvenlik, stabilite, performans, verimli kaynak kullanımı gibi kritik açılardan bakıldığında her zaman tavsiye ettiğimiz bir yapıdır. Buna rağmen Windows Server 2008 R2 GUI versiyonları üzerinde Hyper-V kullanımının da oldukça yaygın olduğunu söyleyebilirim. Sanırım ürünün komut satırından yönetilebiliyor olması bir çok Windows sistem yöneticisi için itici geliyor çünkü bu senaryolarda alışılmış Windows yönetiminin biraz dışına çıkılıyor. İşte bu noktada devreye giren Core Configurator araçları bazı yönetim işlemlerinin yine GUI üzerinden yapabilmesine imkan sağlıyor ve sistem yöneticilerinin işini kolaylaştırıyor.

Yakın zamanda RTM olan Windows Server 2008 R2’nin de Core Installation seçeneği mevcut ve üzerinde Hyper-V versiyon 2.0’ı kullanabiliyoruz. Windows Server 2008 R2 Core Installation üzerinde configurator olarak kullanabileceğimiz Core Configurator aracının da 2.0’ı duyuruldu ve kullanıma hazır durumda. Yeni configurator biraz daha yetenekli, biraz daha süslü ve R2 destekli olarak geldi. Bu arada open source olduğunun altını da çizelim.

Download Core Configurator 2.0 for Windows Server 2008 R2: http://coreconfig.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=36678

Core Configurator 2.0 ISO ve CAB olmak üzere iki farklı şekilde download edilebiliyor.

 

Core Configurator 2.0 İndir

ISO formatını kullanarak Virtual Machine üzerinde çalışan Windows Server 2008 R2 Core Installation sistemlerinizi manage edebilirsiniz. CAB ise fiziksel Windows Server 2008 R2 Core Installation’lar için daha pratik olacaktır. Özellik anlamında aralarında bir fark yok. Sadece kullanım yöntemleri açısından farkları var. ISO formatlı dosyayı hızlıca bir VM’e gösterebileceğiniz gibi aynı VM’e CAB formatındaki dosyayı da network üzerinden atıp çalıştırabilirsiniz. Tercih size kalmış.

Core Configurator 2.0 64bitlik bir koddur ve sadece Windows Server 2008 R2 için tasarlanmıştır.

Core Configurator 2.0 Özellikleri

  • Product Licensing
  • Networking Features
  • DCPromo Tool
  • ISCSI Settings
  • Server Roles and Features
  • User and Group Permissions
  • Share Creation and Deletion
  • Dynamic Firewall settings
  • Display | Screensaver Settings
  • Add & Remove Drivers
  • Proxy settings
  • Windows Updates (Including WSUS)
  • Multipath I/O
  • Hyper-V including virtual machine thumbnails
  • JoinDomain and Computer rename
  • Add/remove programs
  • Services
  • WinRM
  • Complete logging of all commands executed

Aşağıda ise tool için bir ss var.

Core Configurator 2.0

 

Core Configurator Nasıl Kullanılır?

Örneğin CAB dosyasını bir USB disk ile fiziksel sunucuya taşıyoruz ve uygun bir path’e kopyalıyoruz.

Daha sonra expand CoreConfig.cab -f:* <destination folder> komutu ile expand ediyoruz (uygun bir destiantion vererek) ve expand edilen dizindeki Start_CoreConfig.wsf’i çalıştırarak GUI’e ulaşıyoruz.

Ya da ISO formatını bir medyaya yazıyoruz ve cd/dvd okuyucuyu kullanarak yine Start_CoreConfig.wsf’e ulaşıyoruz.

Local User Account yaratmak ve Gruba eklemek – Script 2

28.07.2009 | 14:04 Çözümler , Windows , Windows Server 2 Yorum

Bu script, ilk yayınladığım script ile aynı işi yapıyor. Yani yeni bir local account yaratıp ilgili gruba ekliyor. Farklı olan ise “password never expires” yerine “user must change password at next logon” ayarını set ediyor olması.  Ayrıca farklı bir fonksiyon  kullanıyor.

“user must change password at next logon” sayesinde, yaratılan local account ile ilk kez oturum açan kişiyi yeni password belirlemeye zorlamış oluyoruz.

Script’i buradan download edebilirsiniz.

Yine ilgili yerleri düzenlemeyi unutmayın.