Terhubung ke penyimpanan iSCSI dengan Azure Stack Hub

Anda dapat menggunakan templat dalam artikel ini untuk menghubungkan mesin virtual (VM) Azure Stack Hub ke target iSCSI lokal yang menyiapkan VM untuk menggunakan penyimpanan yang dihosting di luar Azure Stack Hub dan di mana pun dalam pusat data Anda. Artikelini membahas tentang penggunaan mesin Windows sebagai target iSCSI.

Anda dapat menemukan templat di fork lucidqdreams pada repositori GitHub Azure Intelligent Edge Patterns. Templat ada di folder penyimpanan-iSCSI. Templat telah dirancang untuk menyiapkan infrastruktur yang diperlukan di sisi Azure Stack Hub untuk terhubung ke target iSCSI. Hal ini mencakup mesin virtual yang akan berfungsi sebagai inisiator iSCSI bersama dengan VNet, NSG, PIP, dan penyimpanan yang menyertainya. Setelah templat disebarkan, dua skrip PowerShell harus dijalankan untuk menyelesaikan konfigurasi. Satu skrip akan dijalankan di VM lokal (target) dan satu skrip lainnya akan dijalankan di VM Azure Stack Hub (inisiator). Setelah semuanya selesai, Anda akan memiliki penyimpanan lokal yang ditambahkan ke VM Azure Stack Hub Anda.

Gambaran Umum

Diagram menunjukkan VM yang dihosting di Azure Stack Hub dengan disk yang dipasang iSCSI dari mesin Windows di tempat (fisik atau virtual) yang memungkinkan penyimpanan di luar Azure Stack Hub dipasang di dalam VM yang dihosting Azure Stack Hub Anda melalui protokol iSCSI.

Diagram menunjukkan VM yang dihosting di Azure Stack Hub mengakses disk eksternal yang dipasang iSCSI.

Persyaratan

  • Mesin lokal (fisik atau virtual) yang menjalankan Pusat Data Windows Server 2016 atau Pusat Data Windows Server 2019.
  • Item Marketplace Azure Stack Hub yang diperlukan:
    • Pusat Data Windows Server 2016 atau Pusat Data Windows Server 2019 (build terbaru yang direkomendasikan).
    • Ekstensi DSC PowerShell.
    • Ekstensi Skrip Kustom.
    • Mesin virtual atau fisik yang sudah ada. Mesin ini idealnya akan memiliki dua adapter jaringan. Hal ini juga dapat berupa target iSCSI lain seperti SAN misalnya.

Hal-hal yang perlu dipertimbangkan

  • Kelompok Keamanan Jaringan diterapkan ke Subnet templat. Tinjau hal ini dan buat alokasi tambahan sesuai kebutuhan.
  • Aturan RDP Deny diterapkan ke Tunnel NSG dan akan harus diatur untuk dimungkinkan jika Anda bermaksud untuk mengakses VM melalui alamat IP Publik.
  • Solusi ini tidak mempertimbangkan resolusi DNS.
  • Anda harus mengubah Chapusername dan Chappassword Anda. Chappassword harus memiliki panjang 12 hingga 16 karakter.
  • Templat menggunakan alamat IP statik untuk VM saat koneksi iSCSI menggunakan alamat lokal dalam konfigurasi.
  • Templat ini menggunakan Byol Windows License.
  • Anda juga dapat menghubungkan sistem berbasis Linux ke target iSCSI. Anda dapat menemukan petunjuk dalam artikel Inisiator iSCSI dalam dokumentasi ubuntu.

Opsi

  • Anda dapat menggunakan akun penyimpanan Blob dan token SAS milik Anda sendiri dengan menggunakan parameter _artifactsLocation dan _artifactsLocationSasToken dengan kemampuan untuk menggunakan blob penyimpanan milik Anda sendiri dengan token SAS.
  • Templat memberikan nilai default untuk penamaan VNet dan pembuatan alamat IP.
  • Konfigurasi ini hanya memiliki satu nic iSCSI yang berasal dari klien iSCSI. Kami telah menguji sejumlah konfigurasi untuk menggunakan subnet dan NIC terpisah, namun menemui masalah dengan beberapa gateway dan berusaha membuat subnet penyimpanan terpisah untuk mengisolasi lalu lintas dan menjadi benar-benar berlebihan.
  • Berhati-hatilah untuk menjaga nilai ini tetap dalam rentang subnet dan alamat yang sah karena penyebaran dapat gagal.
  • Tujuan utama paket DSC PowerShell adalah untuk memeriksa reboot yang tertunda. DSC ini dapat disesuaikan lebih lanjut, jika diperlukan. Untuk informasi selengkapnya, lihat omputerManagementDsc.

Templat grup sumber daya (klien iSCSI)

Diagram menunjukkan sumber daya yang disebarkan dari templat untuk membuat klien iSCSI yang dapat Anda gunakan untuk terhubung ke target iSCSI. Templat ini akan menyebarkan VM dan sumber daya lainnya, selain itu, templat juga akan menjalankan prepare-iSCSIClient.ps1 dan me-reboot VM.

Diagram menunjukkan sumber daya yang disebarkan dari templat untuk membuat klien iSCSI untuk menyambungkan ke target iSCSI. Ini menunjukkan server file dengan subnet internal dan NIC (kartu jaringan), PIP internal (Protokol Internet Privat), dan NSG (Kelompok Keamanan Jaringan).

Proses Penyebaran

Templat grup sumber daya menghasilkan output, yang dimaksudkan untuk menjadi input untuk langkah berikutnya. Hal ini terutama difokuskan di nama server dan alamat IP publik Azure Stack Hub tempat lalu lintas iSCSI berasal. Untuk contoh ini:

  1. Menyebarkan templat infrastruktur.
  2. Sebarkan VM Azure Stack Hub ke VM yang dihosting di tempat lain dalam pusat data Anda.
  3. Jalankan Create-iSCSITarget.ps1 menggunakan output alamat IP dan nama server dari templat sebagai parameter masuk-keluar untuk skrip di target iSCSI, yang dapat berupa mesin virtual atau server fisik.
  4. Gunakan alamat IP eksternal atau alamat server Target iSCSI sebagai input untuk menjalankan skrip Connect-toiSCSITarget.ps1.

Diagram menunjukkan tiga dari empat langkah pertama yang tercantum di atas, dan mencakup input dan output. Langkah-langkahnya adalah: Menyebarkan Infrastruktur, Membuat Target iSCSI, dan Menyambungkan ke iSCSI.

Input untuk azuredeploy.json

Parameter default deskirpsi
WindowsImageSKU 2019-Pusat Data Silakan pilih citra VM Windows dasar
VMSize Standard_D2_v2 Harap masukkan ukuran VM
VMName FileServer Nama komputer virtual
adminUsername storageadmin Nama Administrator VM baru
adminPassword Kata sandi untuk akun Administrator VM baru. Nilai defaultnya adalah ID langganan
VNetName Penyimpanan Nama VNet. Nama ini akan digunakan untuk memberi label sumber daya
VNetAddressSpace 10.10.0.0/23 Ruang Alamat untuk VNet
VNetInternalSubnetName Internal Nama Subnet Internal VNet
VNetInternalSubnetRange 10.10.1.0/24 Rentang Alamat untuk Subnet Internal VNet
InternalVNetIP 10.10.1.4 Alamat statik untuk IP internal Server File.
_artifactsLocation
_artifactsLocationSasToken

Langkah penyebaran

  1. Menyebarkan infrastruktur klien iSCSI menggunakan azuredeploy.json
  2. Jalankan Create-iSCSITarget.ps1 di target iSCSI server lokal. Setelah templat selesai, Anda akan harus menjalankan Create-iSCSITarget.ps1 di target iSCSI server lokal dengan output dari langkah pertama
  3. Jalankan Connect-toiSCSITarget.ps1 di klien iSCSI. Jalankan Connect-toiSCSITarget.ps1 di klien iSCSI dengan detail target iSCSI

Menambahkan penyimpanan iSCSI ke VM yang sudah ada

Anda juga dapat menjalankan skrip di Mesin Virtual yang sudah ada untuk terhubung dari klien iSCSI ke target iSCSI. Alur ini dilakukan jika Anda membuat target iSCSI sendiri. Diagram ini menunjukkan alur eksekusi skrip PowerShell. Skrip ini dapat ditemukan di direktori Skrip:

Diagram menunjukkan tiga skrip yang dibahas di bawah ini. Dalam urutan eksekusi, mereka adalah: Prepare-iSCSIClient.ps1, (dijalankan pada klien), Buat iSCSITarget.ps1 (dijalankan pada target), dan Connect-toiSCSITarget.ps1 (exectute pada klien).

Prepare-iSCSIClient.ps1

Skrip Prepare-iSCSIClient.ps1 menginstal prasyarat di klien iSCSI, yang mencakup;

  • penginstalan layanan Multipath-IO
  • pengaturan awalan layanan inisiator iSCSI ke otomatis
  • mengaktifkan dukungan untuk MPIO multipath ke iSCSI
  • Mengaktifkan proses klaim otomatis pada semua volume iSCSI
  • Mengatur batas waktu disk ke 60 detik

Penting untuk me-reboot sistem setelah penginstalan prasyarat ini. Kebijakan penyeimbangan beban MPIO memerlukan reboot sehingga kebijakan dapat diatur.

Create-iSCSITarget.ps1

Skrip Create-iSCSITarget.ps1 akan dijalankan di server penyimpanan. Anda dapat membuat beberapa disk dan target yang dibatasi dengan inisiator. Anda dapat menjalankan skrip ini beberapa kali untuk membuat banyak disk virtual yang dapat Anda lampirkan ke berbagai target. Anda dapat menghubungkan beberapa disk ke satu target.

Input default deskirpsi
RemoteServer FileServer Nama server yang terhubung ke Target iSCSI
RemoteServerIPs 1.1.1.1 Alamat IP tempat asal lalu lintas iSCSI
DiskFolder C:\iSCSIVirtualDisks Folder dan drive tempat disk virtual akan disimpan
DiskName DiskName Nama file VHDX disk
DiskSize 5GB Ukuran disk VHDX
TargetName RemoteTarget01 Nama target yang digunakan untuk menentukan konfigurasi target untuk klien iSCSI.
ChapUsername nama pengguna Nama nama pengguna untuk autentikasi Chap
ChapPassword userP@ssw0rd! Nama kata sandi untuk autentikasi Chap. Kata sandi harus memiliki 12 hingga 16 karakter

Connect-toiSCSITarget.ps1

Connect-toiSCSITarget.ps1 adalah skrip akhir, yang dijalankan di klien iSCSI dan memasang disk yang disajikan oleh target iSCSIke klien iSCSI.

Input default deskirpsi
TargetiSCSIAddresses "2.2.2.2","2.2.2.3" Alamat IP target iSCSI
LocalIPAddresses "10.10.1.4" Ini adalah Alamat IP internal tempat asal lalu lintas iSCSI
LoadBalancePolicy C:\iSCSIVirtualDisks Alamat IP tempat asal lalu lintas iSCSI
ChapUsername nama pengguna Nama nama pengguna untuk autentikasi Chap
ChapPassword userP@ssw0rd! Nama kata sandi untuk autentikasi Chap. Kata sandi harus memiliki 12 hingga 16 karakter

Langkah berikutnya

Perbedaan dan pertimbangan untuk jaringan Azure Stack Hub