Serinin ilk bölümüne buradan ulaşabilirsiniz.
Makalemizin bu bölümünde Windows Admin Center üzerinden Azure Stack HCI konfigürasyonunu ve sonrasında powershell üzerinden Azure’a register etme işlemlerini deneyimleyeceğiz. Eğer ilk bölümü okumadıysanız öncelikle ona göz atmanızı tavsiye ediyorum.
Windows Admin Center’ı açalım ve “Add” butonuna basalım.
Sonrasında Server Clusters altından “Create new” diyelim.
“Cluster type” adımında “Azure Stack HCI” seçelim.
Bundan sonraki aşamada öncelikle sunucuların ön gereksinimleri karşılayıp karşılamadığı kontrol edilecektir. “Next” ile ilerleyelim.
Bu adımda sunucularda ve AD’de gerekli yetkiye sahip kullanıcıyı belirtelim. Bizim ortamımızda bu yetkileri “labadmin” isimli AD kullanıcısına vermiştik. Sonrasında HCI node’larının isim veya IP’lerini yazarak “Add” butonuna basalım.
Sonraki adıma sunucuları domain’e dahil etmeye çalışacak. Biz zaten bu adımı yaptığımız için direkt Next’e basabiliriz.
“Install Features” adımında Azure Stack HCI Cluster’ımız için gerekli özellikler kurulacak. Gördüğünüz gibi HyperV kurulu gözüküyor. Önceden kurmamış olsaydık bu adımda hata ile karşılaşacaktık.
“Install updates” ve “Solution updates” adımlarını da takip ederek ilerleyelim.
Bu işlemler bittikten sonra “Restart servers” adımında sunucular yeniden başlatılacaktır. Bu işlemden sonra Hyper Converged yapının konfigürasyon işlemleri başlayacaktır.
İlk etapta network ayarlarını yapmamız istenecek. Makinelere eklediğimiz 4 ethernet kartının ilkini Management için seçelim. Zaten bu karta her iki node’da IP verdiğimiz için bunlar seçilebilir durumda. İstersek yedeklilik için 2 adet kartı “nic teaming” yapıp birleştirerek kullanabiliriz fakat demo ortamımız için tek kart seçiyoruz ve “Apply&Test” butonuna tıklıyoruz.
Sonraki adım önemli çünkü burada hangi kartı Storage trafiği, hangi kartı VM trafiği için kullanacağımızı seçeceğiz. IP yapılandırmasını network topolojinize göre belirleyebilirsiniz. Ben demoda VM trafiği için 1 adet, storage trafiği için 2 adet kart seçeceğim. IP konfigürasyonumu şekilde görebilirsiniz.
Virtual switch oluşturma aşamasına geldiğimizde 3 seçeneğimiz var:
- Sanal makine trafiği ve depolama trafiği için tek bir vSwitch oluşturma
- Sadece sanal makine trafiği için vSwitch oluşturma
- Sanal makine ve depolama trafiği için iki ayrı virtual switch oluşturma.
Bu adımı atlayıp sonra da oluşturmanız mümkün. Sadece sanal makine için virtual switch oluşturup 3 ethernet kartından en üsttekini seçmemiz yeterli. Ben sanal makine ve storage için iki ayrı switch oluşturup bir kartı sanal makine switch’i, diğer iki kartı da depolama switch’i için kullanmayı tercih ettim.
Sonraki aşamada Cluster oluşturulacak, fakat öncesinde ortamın cluster olmaya uygun olup olmadığını doğrulama için teste tabi tutulacak. “Validate cluster” deyip devam edelim. Makalenin başında bahsettiğim “English (United States)” bölge ayarıyla kurma, burada işe yarayacak. Şayet farklı bir ayar seçmiş olsaydık doğrulama bittiğinde hata alacaktık ve ilerlememize izin verilmeyecekti.
“Create cluster” aşamasında Failover cluster’ımıza bir isim veriyoruz ve “Advanced” seçeneğini seçip statik bir IP veriyoruz. Ben 192.168.0.10 IP’sini kullandım. “Use all networks” seçeneğini olduğu gibi bırakabilirsiniz.
Cluster oluşturma işlemi bittikten sonra S2D (Storage Space Direct) özelliğinin aktif hale getirilme sürecine geliyoruz. “Clean drives” deyip disklerdeki olası verileri temizleyelim.
Sonraki aşamada disklerin S2D için uygun olup olmadığı denetlenecek.
Son olarak S2D aktif hale getirelim ve böylece konfigürasyonu bitirelim.
Gerçek sunucular ve fiziksel disklerle bu işi yapıyor olsaydık Tiering işlemi de bu adımda yapılacaktı. Mesela konfigürasyonunuz SSD ve mekanik disklerden oluşuyor olsaydı SSD’ler doğrudan ön bellek olarak kullanılacak, depolama alanına sadece mekanik diskler dahil edilecekti.
Şayet SATA SSD, NVME SSD ve mekanik disklerden oluşan bir yapımız olsaydı S2D bu sefer NVME SSD’leri önbellek yapıp, kapasite ve performans türünde iki adet depolama havuzu oluşturacaktı. SATA SSD’ler performans havuzuna, mekanik diskler de kapasite havuzuna dahil edilecekti.
Tamamen katı hal depolamadan oluşan bir yapımız olsaydı yine SSD’lerin türüne göre önbellek, kapasite ve performans türlerinden oluşan bir depolama havuzu oluşacaktı.
S2D’nin tiering mantığını anlatmak adına araya böyle bir açıklama ekledim. Bu konu node sayısı ve performans beklentisine göre çok fazla varyasyona sahip olabilir.
Bu ekranı gördüğümüzde süreci başarıyla bitirdik demektir.
Konfigürasyon bittikten sonra Windows Admin Center ana ekranına geliyoruz. Burada cluster node’larını ve cluster ismini listede görüyoruz. Cluster ismine tıklayıp içerisine girelim.
Gördüğünüz gibi cluster sağlık durumu iyi.
Artık cluster hazır olduğuna göre üzerinde sanal makine açmadan önce yapmamız gereken bir adım kaldı: Disk yedeklilik türünü belirlemek ve Clustered Shared Volume’u oluşturmak. Bunun için soldaki menüde “Storage” altından “Volumes” a girelim. Sonrasında Inventory sekmesine geçelim.
Gördüğünüz üzere bir adet 20GB’lık volume halihazırda oluşturulmuş. Bu volume, S2D tabanlı depolama havuzumuzun performans geçmişine dair bilgileri barındıran ve kurulum sırasında otomatikman oluşturulan bir alan. Biz yeni bir tane oluşturmak için “Create” butonuna basıyoruz.
Bastığımızda oluşturacağımız alanın yedeklilik tipini ve boyutunu belirlememiz isteniyor. Toplam 2 HCI node’u ve her node’da 4’er adet disk olduğu için yedeklilik türü olarak sadece “Two-way mirror” çıkıyor. Buna klasik RAID mantığında RAID1 diyebiliriz. İstediğiniz alanı yazdığınızda bunun fiziksel olarak diskte kaplayacağı alanı da size bildiriyor. Veri tekilleştirme (de-duplication) ve sıkıştırma (compression) opsiyonunu seçip, veri tipinde HyperV’yi seçelim. Bu iki seçenek sayesinde diske konumlandıracağımız sanal makinelerden büyük oranlarda yer kazanacağız.
Volume da hazır olduğuna göre artık sanal makine oluşturabiliriz. Soldaki menüden “Compute” başlığı altındaki “Virtual machines” sekmesine tıklayalım. “Summary” sayfasında toplam CPU/RAM kullanımı, sanal makinelerin durumu ve disk I/O bilgilerini görüyoruz.
Inverntory sekmesine geçip sanal makinemizi oluşturalım.
Hatırlasanız depolama ve VM trafiği için iki ayrı virtual switch oluşturmuştuk. Sanal makinemiz için ComputeSwitch’i seçelim.
Makinemiz oluşturuldu.
Makinemizi seçip Start butonuna bastıktan sonra “More” butonu altından “Download RDP file” deyip makinemize bağlanalım.
Gördüğünüz gibi makinemiz başlamış fakat ön yükleme yapabilecek bir kaynak bulamadığı için hata vermiş. İstersek bir işletim sistemi ISO’su takarak yükleme yapabiliriz.
Madem cluster yaptık, o zaman sanal makinemizi bir host’tan diğerine Live Migration ile taşıyalım. Bunun için makineyi seçip “Move” butonundan farklı bir host’a taşıyalım.
Azure Stack HCI yapımızı böylece ayaklandırmış olduk. Son olarak bu yapıyı Azure’a register etmemiz gerekiyor. Kurulumdan sonra 30 gün içerisinde bu işlemin yapılması gerekiyor. Preview süresince Azure’a kaydettirme ve Azure’a has özelliklerin kullanımı ücretsiz. Register işlemi için bir adet Azure hesabınızın olması gerekiyor. İşlemleri client makinemizde yönetici haklarıyla çalıştırdığımız powershell üzerinden yapacağız.
Öncelikle HCI node’larımıza gerekli powershell komut setlerini uzaktan yükleyelim:
$nodes = “node_ismi1″,”node_ismi2”,…”node_ismi_n”
Invoke-Command -ComputerName $nodes -ScriptBlock {
Install-WindowsFeature RSAT-Azure-Stack-HCI
}
Sonrasında aynı komut setlerini client makinemize kuralım:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force
Install-Module Az.StackHCI
Şimdi aşağıdaki komut ile mevcut register durumunu kontrol edelim:
Invoke-Command -ComputerName node_ismi -ScriptBlock {
Get-AzureStackHCI
}
Bu işlemi herhangi bir node ismini kullanarak yapabiliriz. Gördüğünüz gibi henüz registered değiliz.
Sonrasında Azure portala girip üyeliğimize ait Subscripton ID’yi öğrenelim. Bunun için Azure panelinden Subscriptions altına girebilir veya açtığımız herhangi bir kaynağın içine girip Overview menüsünden öğrenebiliriz.
Sonrasında aşağıdaki komutları çalıştırıp register işlemine başlayabiliriz.
-ResourceName: bu kaynağa vereceğimiz adı
-ResourceGroup: kaynağın bağlanacağı gruba vereceğimiz adı
-Region: kaynakların coğrafi konumunu
-EnvironmentName: Azure ortamını
-ComputerName: register edeceğimiz node’un adını
-Credential da cluster’ı yönetmeye yetkili kullanıcı bilgilerini temsil ediyor.
Biz kendi örneğimizde Region parametresini kullanmayacağız. Şu an register işlemi sadece EastUS bölgesinde destekleniyor ve parametre belirtilmediği takdirde otomatikman bu bölge seçiliyor. İlerleyen zamanlarda farklı bölgelerde de bu özellik açılacak.
$azshciNodeCreds = Get-Credential -UserName “domain_ismi\yetkili_kullanıcı” -Message “Enter the Lab Admin password”
Register-AzStackHCI `
-SubscriptionId “üyelik_numaranız” `
-ResourceName “kaynak _ismi” `
-ResourceGroupName “kaynak_grubu_ismi” `
-EnvironmentName “AzureCloud” `
-ComputerName “node_ismi” `
–Credential $azshciNodeCreds
Komut çalıştırdıktan sonra öncelikle cluster’da yetkili domain kullanıcı bilgileri istenecek, sonra da Azure’da yetkili kullanıcı ile giriş yapılması istenecek. Yönergeleri takip edelim.
Başıma gelen ufak bir durumu da paylaşayım. İlk denememde Azure Stack HCI henüz EastUS bölgesinde desteklenmiyor şeklinde bir hata aldım:
Fakat ikinci kez aynı komutları çalıştırdığımda süreci başarıyla tamamladı. Bu kurulumu toplam 2 kez yaptım ve her ikisinde de aynı durumla karşılaştım. Preview süreciyle ilgili olduğunu düşünüyorum.
Son olarak register durumunu tekrar kontrol edelim:
Azure paneline girip açılan kaynak grubunu ve kaynağı görebiliriz. “All Services” altından Azure Stack HCI” diye arattığımızda Cluster’a verdiğimiz isimle açılan bir kaynak göreceğiz:
Gördüğünüz gibi henüz tüm özellikler kullanılabilir durumda değil. Yakında gelecek ibaresi var.
Böylece makale serimizin sonuna gelmiş oluyoruz. Bir sonraki makalemde bu Stack’i Azure Monitor ve OMS gibi Azure hizmetlerine bağlamayı anlatacağım. Eğer makalenin başında bahsettiğim ve yeni Azure Stack HCI’ı farklı kılacak olan Azure portal üzerinden yönetme/yetkilendirme özellikleri de duyurulur ve test edilebilir hale gelirse bununla ilgili de bir makale hazırlamayı planlıyorum.
Bir sonraki yazıda görüşmek üzere.
Kaynaklar:
https://github.com/Azure/AzureStackHCI-EvalGuide/blob/main/nested/README.md
https://github.com/Azure/AzureStackHCI-EvalGuide/blob/main/nested/steps/3a_AzSHCINodesGUI.md
https://github.com/Azure/AzureStackHCI-EvalGuide/blob/main/nested/steps/4_AzSHCICluster.md
https://github.com/Azure/AzureStackHCI-EvalGuide/blob/main/nested/steps/5_ExploreAzSHCI.md