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.

The diagram shows a VM hosted on Azure Stack Hub accessing an external iSCSI mounted disk.

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.

The diagram shows resources deployed from the template to create the iSCSI client to connect to the iSCSI target. It shows a file server with an internal subnet and NIC (network card), internal PIP (Private Internet Protocol), and NSG (Network Security Group).

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:

  1. Altyapı şablonunu dağıtın.
  2. Azure Stack Hub VM'sini veri merkezinizin başka bir yerinde barındırılan bir VM'ye dağıtın.
  3. 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 .
  4. Betiği çalıştırmak Connect-toiSCSITarget.ps1 için giriş olarak iSCSI Hedef sunucusunun dış IP adresini veya adreslerini kullanın.

The diagram shows the first three of the four steps listed above, and includes inputs and outputs. The steps are: Deploy Infrastructure, Create iSCSI Target, and Connect to iSCSI.

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ı

  1. kullanarak iSCSI istemci altyapısını dağıtma azuredeploy.json
  2. Ş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
  3. 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:

The diagram shows the three scripts that are discussed below. In order of execution, they are: Prepare-iSCSIClient.ps1, (executes on the client), Create iSCSITarget.ps1 (executes on the targets), and Connect-toiSCSITarget.ps1 (exectutes on the client).

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 1.1.1.1 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 "2.2.2.2","2.2.2.3" 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

Sonraki adımlar

Azure Stack Hub ağıyla ilgili farklılıklar ve dikkat edilmesi gerekenler