Azure Stack Hub ile iSCSI depolamaya Bağlan
Bir Azure Stack Hub sanal makinesini (VM) şirket içi iSCSI hedefine bağlamak ve VM'yi Azure Stack Hub'ımızın dışında ve veri merkezinizdeki başka bir yerde barındırılan depolamayı kullanacak şekilde ayarlamak için bu makaledeki şablonu kullanabilirsiniz. Bu makalede, iSCSI hedefi olarak bir Windows makinesi kullanma konusuna bakabilirsiniz.
Şablonu Azure Akıllı Uç Desenleri GitHub deposunun lucidqdreams çatalında bulabilirsiniz. Şablon , storage-iSCSI klasöründedir. Şablon, bir iSCSI hedefine bağlanmak için Azure Stack Hub tarafında gerekli altyapıyı ayarlamak üzere tasarlanmıştır. Buna, iSCSI Başlatıcısı olarak davranacak bir sanal makine ve buna eşlik eden sanal ağ, NSG, PIP ve depolama dahildir. Şablon dağıtıldıktan sonra yapılandırmayı tamamlamak için iki PowerShell betiği çalıştırılmalıdır. Bir betik şirket içi VM'de (hedef) ve bir betik de Azure Stack Hub VM'sinde (Initiator) çalıştırılır. Bunlar tamamlandıktan sonra Azure Stack Hub VM'nize şirket içi depolama alanı eklenir.
Genel Bakış
Diyagramda, şirket içi (fiziksel veya sanal) Windows bir makineden (fiziksel veya sanal) iSCSI'ya bağlı bir disk ile Azure Stack Hub'da barındırılan ve Azure Stack Hub dışındaki depolamanın iSCSI protokolü üzerinden Azure Stack Hub barındırılan VM'nize bağlanmasını sağlayan bir VM gösterilmektedir.
Gereksinimler
- Windows Server 2016 Datacenter veya Windows Server 2019 Datacenter çalıştıran bir şirket içi makine (fiziksel veya sanal).
- Gerekli Azure Stack Hub Market öğeleri:
- Windows Server 2016 Datacenter veya Windows Server 2019 Datacenter (en son derleme önerilir).
- PowerShell DSC uzantısı.
- Özel Betik Uzantısı.
- Mevcut bir sanal veya fiziksel makine. İdeal olan bu makinenin iki ağ bağdaştırıcısı olmasıdır. Bu, örneğin SAN gibi başka bir iSCSI hedefi de olabilir.
Dikkat edilmesi gerekenler
- Alt Ağ şablonuna bir Ağ Güvenlik Grubu uygulanır. Bunu gözden geçirin ve gerektiğinde ek yardımlar yapın.
- Tunnel NSG'ye bir RDP Reddetme kuralı uygulanır ve Vm'lere Genel IP adresi üzerinden erişmeyi düşünüyorsanız izin verecek şekilde ayarlanması gerekir.
- Bu çözüm DNS çözümlemeyi dikkate almaz.
- Chapusername ve Chappassword'unuzu değiştirmelisiniz. Chappassword 12 ile 16 karakter uzunluğunda olmalıdır.
- iSCSI bağlantısı yapılandırmadaki yerel adresi kullandığından, bu şablon VM için statik bir IP adresi kullanıyor.
- Bu şablon BYOL Windows Lisansı kullanıyor.
- Linux tabanlı sistemleri iSCSI hedeflerine de bağlayabilirsiniz. Yönergeleri ubuntu belgelerindeki iSCSI Başlatıcısı makalesinde bulabilirsiniz.
Seçenekler
- _artifactsLocation ve _artifactsLocationSasToken parametreleri kullanarak kendi Blob depolama hesabınızı ve SAS belirtecinizi kullanabilirsiniz.
- Bu şablon, sanal ağ adlandırma ve IP adresleme için varsayılan değerler sağlar.
- Bu yapılandırma, iSCSI istemcisinden gelen yalnızca bir iSCSI nic'e sahiptir. Ayrı alt ağları ve NIC'leri kullanmak için bir dizi yapılandırmayı test ettik, ancak birden çok ağ geçidiyle ilgili sorunlarla karşılaştık ve trafiği yalıtmak ve aslında gerçekten yedekli olmak için ayrı bir depolama alt ağı oluşturmaya çalıştık.
- Dağıtım başarısız olabileceği için bu değerleri yasal alt ağ ve adres aralıkları içinde tutmaya dikkat edin.
- PowerShell DSC paketlerinin birincil amacı bekleyen yeniden başlatmaları denetlemektir. Gerekirse bu DSC daha fazla özelleştirilebilir. Daha fazla bilgi için bkz. omputerManagementDsc.
Kaynak grubu şablonu (iSCSI istemcisi)
Diyagramda, iSCSI hedefine bağlanmak için kullanabileceğiniz iSCSI istemcisini oluşturmak için şablondan dağıtılan kaynaklar gösterilir. Bu şablon VM'yi ve diğer kaynakları dağıtır, ayrıca prepare-iSCSIClient.ps1 çalıştırır ve VM'yi yeniden başlatır.
Dağıtım işlemi
Kaynak grubu şablonu, bir sonraki adım için giriş olması amaçlanan bir çıkış oluşturur. Temel olarak sunucu adına ve iSCSI trafiğinin kaynaklandığı Azure Stack Hub genel IP adresine odaklanır. Bu örnekte:
- Altyapı şablonunu dağıtın.
- Azure Stack Hub VM'sini veri merkezinizin başka bir yerinde barındırılan bir VM'ye dağıtın.
- Sanal makine veya fiziksel sunucu olabilecek iSCSI hedefindeki betik için, şablondan gelen IP adresi ve sunucu adı çıkışlarını in-out parametreleri olarak kullanarak çalıştırın
Create-iSCSITarget.ps1.
- Betiği çalıştırmak
Connect-toiSCSITarget.ps1için giriş olarak iSCSI Hedef sunucusunun dış IP adresini veya adreslerini kullanın.
azuredeploy.json için girişler
|Parametreler||default||Açıklama|
|WindowsImageSKU||2019-Datacenter||Temel Windows VM görüntüsünü seçin|
|VMSize||Standard_D2_v2||Lütfen VM boyutunu girin|
|VMName||Dosya Sunucusu||VM adı|
|adminUsername||storageadmin||Yeni VM'nin Yöneticisinin adı|
|adminPassword||Yeni VM'lerin Yönetici hesabının parolası. Varsayılan değer abonelik kimliğidir|
|VNetName||Depolama||Sanal ağın adı. Bu, kaynakları etiketlemek için kullanılır|
|VNetAddressSpace||10.10.0.0/23||Sanal Ağ için Adres Alanı|
|VNetInternalSubnetName||İç||Sanal Ağ İç Alt Ağ Adı|
|VNetInternalSubnetRange||10.10.1.0/24||Sanal Ağ İç Alt Ağı için Adres Aralığı|
|InternalVNetIP||10.10.1.4||Dosya Sunucusunun iç IP'sinin Statik Adresi.|
|_artifactsLocation|
|_artifactsLocationSasToken|
Dağıtım adımları
- kullanarak iSCSI istemci altyapısını dağıtma
azuredeploy.json
- Şirket içi sunucu iSCSI hedefinde komutunu çalıştırın
Create-iSCSITarget.ps1. Şablon tamamlandıktan sonra, şirket içi sunucu iSCSI hedefinde ilk adımdaki çıkışlarla Create-iSCSITarget.ps1 çalıştırmanız gerekir
- iSCSI istemcisinde komutunu çalıştırın
Connect-toiSCSITarget.ps1. iSCSI istemcisinde iSCSI hedefinin ayrıntılarıyla Connect-toiSCSITarget.ps1 kaldırma
Mevcut VM'lere iSCSI depolama alanı ekleme
Betikleri, iSCSI istemcisinden iSCSI hedefine bağlanmak için var olan bir Sanal Makinede de çalıştırabilirsiniz. Bu akış, iSCSI hedefini kendiniz oluşturuyorsanız olur. Bu diyagramda PowerShell betiklerinin yürütme akışı gösterilir. Bu betikler Betik dizininde bulunabilir:
Prepare-iSCSIClient.ps1
Betik
Prepare-iSCSIClient.ps1 , önkoşulları iSCSI istemcisine yükler;
- Multipath-IO hizmetlerinin yüklenmesi
- iSCSI başlatıcı hizmeti başlatmasını otomatik olarak ayarlama
- iSCSI'ya çok yollu MPIO desteğini etkinleştirme
- Tüm iSCSI birimleri için otomatik talepte bulunabilme
- Disk zaman aşımını 60 saniye olarak ayarlama
Bu önkoşullar yüklendikten sonra sistemi yeniden başlatmak önemlidir. MPIO yük dengeleme ilkesi ayarlanabilmesi için yeniden başlatma gerektirir.
Create-iSCSITarget.ps1
Betik
Create-iSCSITarget.ps1 , depolama sunucusunda çalıştırılacaktır. Başlatıcılar tarafından kısıtlanmış birden çok disk ve hedef oluşturabilirsiniz. Farklı hedeflere ekleyebileceğiniz birçok sanal disk oluşturmak için bu betiği birden çok kez çalıştırabilirsiniz. Çoklu diskleri tek bir hedefe bağlayabilirsiniz.
|Giriş||default||Açıklama|
|Remoteserver||Dosya Sunucusu||iSCSI Hedefine bağlanan sunucunun adı|
|RemoteServerIPs||18.104.22.168||iSCSI trafiğinin geleceği IP Adresi|
|DiskFolder||C:\iSCSIVirtualDisks||Sanal disklerin depolandığı klasör ve sürücü|
|DiskName||DiskName||Disk VHDX dosyasının adı|
|Disk Boyutu||5 GB||VHDX disk boyutu|
|TargetName||RemoteTarget01||iSCSI istemcisinin hedef yapılandırmasını tanımlamak için kullanılan hedef adı.|
|ChapUsername||username||Chap kimlik doğrulaması için kullanıcı adı|
|ChapPassword||userP@ssw0rd!||Chap kimlik doğrulaması için parola adı. 12 ile 16 karakter arası olmalıdır|
Connect-toiSCSITarget.ps1
Connect-toiSCSITarget.ps1, iSCSI istemcisinde çalıştırılan ve iSCSI hedefi tarafından sunulan diski iSCSI istemcisine takan son betiktir.
|Giriş||default||Açıklama|
|TargetiSCSIAddresses||"22.214.171.124","126.96.36.199"||iSCSI hedefinin IP adresleri|
|LocalIPAddresses||"10.10.1.4"||Bu, iSCSI trafiğinin geleceği iç IP Adresidir|
|LoadBalancePolicy||C:\iSCSIVirtualDisks||iSCSI trafiğinin geleceği IP Adresi|
|ChapUsername||username||Chap kimlik doğrulaması için kullanıcı adı|
|ChapPassword||userP@ssw0rd!||Chap kimlik doğrulaması için parola adı. 12 ile 16 karakter arası olmalıdır|