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.
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.
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:
- Menyebarkan templat infrastruktur.
- Sebarkan VM Azure Stack Hub ke VM yang dihosting di tempat lain dalam pusat data Anda.
- 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. - Gunakan alamat IP eksternal atau alamat server Target iSCSI sebagai input untuk menjalankan skrip
Connect-toiSCSITarget.ps1
.
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
- Menyebarkan infrastruktur klien iSCSI menggunakan
azuredeploy.json
- 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 - 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:
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 |