Kualitas Layanan Penyimpanan

Berlaku untuk: Windows Server 2022, Windows Server 2019, Windows Server 2016

Storage Quality of Service (QoS) di Windows Server 2016 menyediakan cara untuk memantau dan mengelola performa penyimpanan secara terpusat untuk komputer virtual menggunakan Hyper-V dan peran Scale-Out File Server. Fitur ini secara otomatis meningkatkan kewajaran sumber daya penyimpanan antara beberapa komputer virtual menggunakan kluster server file yang sama dan memungkinkan tujuan performa minimum dan maksimum berbasis kebijakan untuk dikonfigurasi dalam unit IOPS yang dinormalisasi.

Anda dapat menggunakan QoS Penyimpanan di Windows Server 2016 untuk mencapai hal berikut:

  • Mitigasi masalah tetangga yang berisik. Secara default, Storage QoS memastikan bahwa satu komputer virtual tidak dapat menggunakan semua sumber daya penyimpanan dan kelaparan komputer virtual bandwidth penyimpanan lainnya.

  • Pantau performa penyimpanan ujung ke ujung. Segera setelah komputer virtual yang disimpan di Server File Peluasan Skala dimulai, performanya dipantau. Detail performa semua komputer virtual yang berjalan dan konfigurasi kluster Server File Scale-Out dapat dilihat dari satu lokasi

  • Mengelola I/O Penyimpanan per bisnis beban kerja memerlukan kebijakan QoS Penyimpanan menentukan minimum performa dan maksimum untuk komputer virtual dan memastikan bahwa mereka terpenuhi. Hal ini memberikan performa yang konsisten untuk komputer virtual, bahkan di lingkungan yang padat dan terlalu provisi. Jika kebijakan tidak dapat dipenuhi, pemberitahuan tersedia untuk dilacak saat VM berada di luar kebijakan atau memiliki kebijakan yang tidak valid yang ditetapkan.

Dokumen ini menguraikan bagaimana bisnis Anda dapat memperoleh manfaat dari fungsionalitas Storage QoS baru. Ini mengasumsikan bahwa Anda memiliki pengetahuan kerja sebelumnya tentang Windows Server, Windows Server Failover Clustering, Scale-Out File Server, Hyper-V, dan Windows PowerShell.

Gambaran Umum

Bagian ini menjelaskan persyaratan untuk menggunakan Storage QoS, gambaran umum solusi yang ditentukan perangkat lunak menggunakan Storage QoS, dan daftar terminologi terkait Storage QoS.

Persyaratan QoS Penyimpanan

Storage QoS mendukung dua skenario penyebaran:

  • Hyper-V menggunakan Server File Scale-Out Skenario ini memerlukan kedua hal berikut:

    • Kluster penyimpanan yang merupakan kluster Server File Scale-Out

    • Kluster komputasi yang memiliki setidaknya satu server dengan peran Hyper-V diaktifkan

    Untuk QoS Penyimpanan, Kluster Failover diperlukan di server Penyimpanan, tetapi server komputasi tidak diharuskan berada dalam kluster failover. Semua server (digunakan untuk Penyimpanan dan Komputasi) harus menjalankan Windows Server 2016.

    Jika Anda tidak memiliki kluster Server File Scale-Out yang disebarkan untuk tujuan evaluasi, untuk instruksi langkah demi langkah untuk membangunnya menggunakan server atau komputer virtual yang ada, lihat Penyimpanan Windows Server 2012 R2: Langkah demi langkah dengan Ruang Penyimpanan, Peluasan Skala SMB, dan VHDX Bersama (Fisik).

  • Hyper-V menggunakan Volume Bersama Kluster. Skenario ini memerlukan kedua hal berikut:

    • Kluster komputasi dengan peran Hyper-V diaktifkan

    • Hyper-V menggunakan Volume Bersama Kluster (CSV) untuk penyimpanan

Kluster Failover diperlukan. Semua server harus menjalankan versi Windows Server 2016 yang sama.

Menggunakan Storage QoS dalam solusi penyimpanan yang ditentukan perangkat lunak

Kualitas Layanan Penyimpanan dibangun ke dalam solusi penyimpanan yang ditentukan perangkat lunak Microsoft yang disediakan oleh Scale-Out File Server dan Hyper-V. Server File Scale-Out mengekspos berbagi file ke server Hyper-V menggunakan protokol SMB3. Manajer Kebijakan baru telah ditambahkan ke kluster Server File, yang menyediakan pemantauan performa penyimpanan pusat.

Scale-Out File Server and Storage QoS

Gambar 1: Menggunakan QoS Penyimpanan dalam solusi penyimpanan yang ditentukan perangkat lunak di Server File Peluasan Skala

Saat server Hyper-V meluncurkan komputer virtual, server tersebut dipantau oleh Manajer Kebijakan. Manajer Kebijakan mengkomunikasikan kebijakan QoS Penyimpanan dan batas atau reservasi apa pun kembali ke server Hyper-V, yang mengontrol performa komputer virtual sebagaimana mewajarkan.

Ketika ada perubahan pada kebijakan QoS Penyimpanan atau pada tuntutan performa oleh komputer virtual, Manajer Kebijakan memberi tahu server Hyper-V untuk menyesuaikan perilaku mereka. Perulangan umpan balik ini memastikan bahwa semua VHD komputer virtual berkinerja konsisten sesuai dengan kebijakan QoS Penyimpanan seperti yang didefinisikan.

Glosarium

Persyaratan Deskripsi
IOPS yang dinormalisasi Semua penggunaan penyimpanan diukur dalam "IOPS yang dinormalisasi." Ini adalah hitungan operasi input/output penyimpanan per detik. IO apa pun yang 8KB atau lebih kecil dianggap sebagai satu IO yang dinormalisasi. IO apa pun yang lebih besar dari 8KB diperlakukan sebagai beberapa IO yang dinormalisasi. Misalnya, permintaan 256KB diperlakukan sebagai 32 IOPS yang dinormalisasi.

Windows Server 2016 menyertakan kemampuan untuk menentukan ukuran yang digunakan untuk menormalkan IO. Pada kluster penyimpanan, ukuran yang dinormalisasi dapat ditentukan dan berlaku pada perhitungan normalisasi kluster lebar. Defaultnya tetap 8 KB. Pengaturan ini memengaruhi semua komputer virtual. (Komputer virtual yang dibuat pada volume lokal juga terpengaruh.)

Alur Setiap handel file yang dibuka oleh server Hyper-V ke file VHD atau VHDX dianggap sebagai "alur". Jika komputer virtual memiliki dua hard disk virtual yang terpasang, itu akan memiliki 1 alur ke kluster server file per file. Jika VHDX dibagikan dengan beberapa komputer virtual, VHDX akan memiliki 1 alur per komputer virtual.
InitiatorName Nama komputer virtual yang dilaporkan ke Server File Peluasan Skala untuk setiap alur.
InisiatorID Pengidentifikasi yang cocok dengan ID komputer virtual. Ini selalu dapat digunakan untuk mengidentifikasi komputer virtual alur individual secara unik meskipun komputer virtual memiliki InitiatorName yang sama.
Kebijakan Kebijakan QoS penyimpanan disimpan dalam database kluster, dan memiliki properti berikut: PolicyId, MinimumIOPS, MaximumIOPS, ParentPolicy, dan PolicyType.
PolicyId Pengidentifikasi unik untuk kebijakan. Ini dihasilkan secara default, tetapi dapat ditentukan jika diinginkan.
MINIMUMIOPS IOPS minimum yang dinormalisasi yang akan disediakan oleh kebijakan. Juga dikenal sebagai "Reservasi".
MaximumIOPS IOPS maksimum yang dinormalisasi yang akan dibatasi oleh kebijakan. Juga dikenal sebagai "Batas".
Agregat Jenis kebijakan di mana MinimumIOPS & MaximumIOPS dan Bandwidth yang ditentukan dibagikan di antara semua alur yang ditetapkan ke kebijakan. Semua VHD menetapkan kebijakan pada sistem penyimpanan tersebut memiliki satu alokasi bandwidth I/O bagi mereka untuk semua berbagi.
Khusus Jenis kebijakan di mana Minimum & MaximumIOPS dan Bandwidth yang ditentukan dikelola untuk masing-masing VHD/VHDx.

Cara menyiapkan QoS Penyimpanan dan memantau performa dasar

Bagian ini menjelaskan cara mengaktifkan fitur Storage QoS baru dan cara memantau performa penyimpanan tanpa menerapkan kebijakan kustom.

Menyiapkan QoS Penyimpanan pada Kluster Penyimpanan

Bagian ini membahas cara mengaktifkan QoS Penyimpanan pada Kluster Failover baru atau yang sudah ada dan Server File Scale-Out yang menjalankan Windows Server 2016.

Menyiapkan QoS Penyimpanan pada penginstalan baru

Jika Anda telah mengonfigurasi Kluster Failover baru dan mengonfigurasi Volume Bersama Kluster (CSV) di Windows Server 2016, fitur QoS Penyimpanan akan disiapkan secara otomatis.

Memverifikasi penginstalan QoS Penyimpanan

Setelah Anda membuat Kluster Failover dan mengonfigurasi disk CSV, , Sumber Daya QoS Penyimpanan ditampilkan sebagai Sumber Daya Inti Kluster dan terlihat di Manajer Kluster Failover dan Windows PowerShell. Niatnya adalah bahwa sistem kluster failover akan mengelola sumber daya ini dan Anda tidak perlu melakukan tindakan apa pun terhadap sumber daya ini. Kami menampilkannya di Manajer Kluster Failover dan PowerShell agar konsisten dengan sumber daya sistem kluster failover lainnya seperti Layanan Kesehatan baru.

Storage QoS Resource appears in Cluster Core Resources

Gambar 2: Sumber Daya QoS Penyimpanan ditampilkan sebagai Sumber Daya Inti Kluster di Manajer Kluster Failover

Gunakan cmdlet PowerShell berikut untuk melihat status Sumber Daya QoS Penyimpanan.

PS C:\> Get-ClusterResource -Name "Storage Qos Resource"

Name                   State      OwnerGroup        ResourceType
----                   -----      ----------        ------------
Storage Qos Resource   Online     Cluster Group     Storage QoS Policy Manager

Menyiapkan QoS Penyimpanan pada Kluster Komputasi

Peran Hyper-V di Windows Server 2016 memiliki dukungan bawaan untuk QoS Penyimpanan dan diaktifkan secara default.

Menginstal Alat Administrasi Jarak Jauh untuk mengelola kebijakan QoS Penyimpanan dari komputer jarak jauh

Anda dapat mengelola kebijakan QoS Penyimpanan dan memantau alur dari host komputasi menggunakan Alat Administrasi Server Jarak Jauh. Ini tersedia sebagai fitur opsional pada semua penginstalan Windows Server 2016, dan dapat diunduh secara terpisah untuk Windows 10 di situs web Pusat Unduhan Microsoft.

Fitur opsional Pengklusteran RSAT mencakup modul Windows PowerShell untuk manajemen jarak jauh Pengklusteran Failover, termasuk QoS Penyimpanan.

  • Windows PowerShell: Add-WindowsFeature RSAT-Clustering

Fitur opsional RSAT-Hyper-V-Tools mencakup modul Windows PowerShell untuk manajemen jarak jauh Hyper-V.

  • Windows PowerShell: Add-WindowsFeature RSAT-Hyper-V-Tools

Menyebarkan komputer virtual untuk menjalankan beban kerja untuk pengujian

Anda akan memerlukan beberapa komputer virtual yang disimpan di Server File Peluasan Skala dengan beban kerja yang relevan. Untuk beberapa tips tentang cara mensimulasikan beban dan melakukan beberapa pengujian stres, lihat halaman berikut untuk alat yang direkomendasikan (DiskSpd) dan beberapa contoh penggunaan: DiskSpd, PowerShell dan performa penyimpanan: mengukur IOPS, throughput, dan latensi untuk disk lokal dan berbagi file SMB.

Contoh skenario yang ditunjukkan dalam panduan ini mencakup lima komputer virtual. BuildVM1, BuildVM2, BuildVM3, dan BuildVM4 menjalankan beban kerja desktop dengan permintaan penyimpanan rendah hingga sedang. TestVm1 menjalankan tolok ukur pemrosesan transaksi online dengan permintaan penyimpanan tinggi.

Melihat metrik performa penyimpanan saat ini

Bagian ini meliputi:

  • Cara mengkueri Get-StorageQosFlow alur menggunakan cmdlet.

  • Cara melihat performa volume menggunakan Get-StorageQosVolume cmdlet.

Alur kueri menggunakan cmdlet Get-StorageQosFlow

Cmdlet Get-StorageQosFlow menunjukkan semua alur saat ini yang dimulai oleh server Hyper-V. Semua data dikumpulkan oleh kluster Server File Scale-Out, oleh karena itu cmdlet dapat digunakan pada simpul apa pun di kluster Server File Scale-Out, atau terhadap server jarak jauh menggunakan parameter -CimSession.

Contoh perintah berikut menunjukkan cara menampilkan semua file yang dibuka oleh Hyper-V di server menggunakan Get-StorageQoSFlow.

PS C:\> Get-StorageQosFlow

InitiatorName    InitiatorNodeNam StorageNodeName  FilePath        Status
                 e
-------------    ---------------- ---------------  --------        ------
                                  plang-fs3.pla... C:\ClusterSt... Ok
                                  plang-fs2.pla... C:\ClusterSt... Ok
                                  plang-fs1.pla... C:\ClusterSt... Ok
                                  plang-fs3.pla... C:\ClusterSt... Ok
                                  plang-fs2.pla... C:\ClusterSt... Ok
                                  plang-fs1.pla... C:\ClusterSt... Ok
TR20-VMM         plang-z400.pl... plang-fs1.pla... C:\ClusterSt... Ok
BuildVM4         plang-c2.plan... plang-fs1.pla... C:\ClusterSt... Ok
WinOltp1         plang-c1.plan... plang-fs1.pla... C:\ClusterSt... Ok
BuildVM3         plang-c2.plan... plang-fs1.pla... C:\ClusterSt... Ok
BuildVM1         plang-c2.plan... plang-fs1.pla... C:\ClusterSt... Ok
TR20-VMM         plang-z400.pl... plang-fs1.pla... C:\ClusterSt... Ok
BuildVM2         plang-c2.plan... plang-fs1.pla... C:\ClusterSt... Ok
TR20-VMM         plang-z400.pl... plang-fs1.pla... C:\ClusterSt... Ok
                                  plang-fs3.pla... C:\ClusterSt... Ok
                                  plang-fs2.pla... C:\ClusterSt... Ok
BuildVM4         plang-c2.plan... plang-fs2.pla... C:\ClusterSt... Ok
WinOltp1         plang-c1.plan... plang-fs2.pla... C:\ClusterSt... Ok
BuildVM3         plang-c2.plan... plang-fs2.pla... C:\ClusterSt... Ok
WinOltp1         plang-c1.plan... plang-fs2.pla... C:\ClusterSt... Ok
                                  plang-fs1.pla... C:\ClusterSt... Ok

Contoh perintah berikut diformat untuk menampilkan nama komputer virtual, nama host Hyper-V, IOPS, dan nama file VHD, diurutkan menurut IOPS.

PS C:\> Get-StorageQosFlow | Sort-Object StorageNodeIOPS -Descending | ft InitiatorName, @{Expression={$_.InitiatorNodeName.Substring(0,$_.InitiatorNodeName.IndexOf('.'))};Label="InitiatorNodeName"}, StorageNodeIOPS, Status, @{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf('\')+1)};Label="File"} -AutoSize

InitiatorName InitiatorNodeName StorageNodeIOPS Status File
------------- ----------------- --------------- ------ ----
WinOltp1      plang-c1                     3482     Ok IOMETER.VHDX
BuildVM2      plang-c2                      544     Ok BUILDVM2.VHDX
BuildVM1      plang-c2                      497     Ok BUILDVM1.VHDX
BuildVM4      plang-c2                      316     Ok BUILDVM4.VHDX
BuildVM3      plang-c2                      296     Ok BUILDVM3.VHDX
BuildVM4      plang-c2                      195     Ok WIN8RTM_ENTERPRISE_VL_BU...
TR20-VMM      plang-z400                    156     Ok DATA1.VHDX
BuildVM3      plang-c2                       81     Ok WIN8RTM_ENTERPRISE_VL_BU...
WinOltp1      plang-c1                       65     Ok BOOT.VHDX
                                             18     Ok DefaultFlow
                                             12     Ok DefaultFlow
WinOltp1      plang-c1                        4     Ok 9914.0.AMD64FRE.WINMAIN....
TR20-VMM      plang-z400                      4     Ok DATA2.VHDX
TR20-VMM      plang-z400                      3     Ok BOOT.VHDX
                                              0     Ok DefaultFlow
                                              0     Ok DefaultFlow
                                              0     Ok DefaultFlow
                                              0     Ok DefaultFlow
                                              0     Ok DefaultFlow
                                              0     Ok DefaultFlow
                                              0     Ok DefaultFlow

Contoh perintah berikut menunjukkan cara memfilter alur berdasarkan InitiatorName untuk dengan mudah menemukan performa dan pengaturan penyimpanan untuk komputer virtual tertentu.

PS C:\> Get-StorageQosFlow -InitiatorName BuildVm1 | Format-List

FilePath           : C:\ClusterStorage\Volume2\SHARES\TWO\BUILDWORKLOAD\BUILDVM1.V
                     HDX
FlowId             : ebfecb54-e47a-5a2d-8ec0-0940994ff21c
InitiatorId        : ae4e3dd0-3bde-42ef-b035-9064309e6fec
InitiatorIOPS      : 464
InitiatorLatency   : 26.2684
InitiatorName      : BuildVM1
InitiatorNodeName  : plang-c2.plang.nttest.microsoft.com
Interval           : 300000
Limit              : 500
PolicyId           : b145e63a-3c9e-48a8-87f8-1dfc2abfe5f4
Reservation        : 500
Status             : Ok
StorageNodeIOPS    : 475
StorageNodeLatency : 7.9725
StorageNodeName    : plang-fs1.plang.nttest.microsoft.com
TimeStamp          : 2/12/2015 2:58:49 PM
VolumeId           : 4d91fc3a-1a1e-4917-86f6-54853b2a6787
PSComputerName     :
MaximumIops        : 500
MinimumIops        : 500

Data yang Get-StorageQosFlow dikembalikan oleh cmdlet meliputi:

  • Nama host Hyper-V (InitiatorNodeName).

  • Nama komputer virtual dan Id-nya (InitiatorName dan InitiatorId)

  • Performa rata-rata terbaru seperti yang diamati oleh host Hyper-V untuk disk virtual (InitiatorIOPS, InitiatorLatency)

  • Performa rata-rata terbaru seperti yang diamati oleh kluster Penyimpanan untuk disk virtual (StorageNodeIOPS, StorageNodeLatency)

  • Kebijakan saat ini diterapkan ke file, jika ada, dan konfigurasi yang dihasilkan (PolicyId, Reservasi, Batas)

  • Status kebijakan

    • Ok - Tidak ada masalah

    • InsufficientThroughput- Kebijakan diterapkan, tetapi IOPS Minimum tidak dapat dikirimkan. Ini dapat terjadi jika minimum untuk VM, atau semua VM bersama-sama, lebih dari yang dapat dikirimkan oleh volume penyimpanan.

    • UnknownPolicyId - Kebijakan ditetapkan ke komputer virtual pada host Hyper-V, tetapi hilang dari server file. Kebijakan ini harus dihapus dari konfigurasi komputer virtual, atau kebijakan yang cocok harus dibuat pada kluster server file.

Melihat performa untuk volume menggunakan Get-StorageQosVolume

Metrik performa penyimpanan juga dikumpulkan pada tingkat volume per penyimpanan, selain metrik performa per alur. Ini memudahkan untuk melihat pemanfaatan total rata-rata dalam batas IOPS, latensi, dan agregat yang dinormalisasi dan reservasi yang diterapkan ke volume.

PS C:\> Get-StorageQosVolume | Format-List

Interval       : 300000
IOPS           : 0
Latency        : 0
Limit          : 0
Reservation    : 0
Status         : Ok
TimeStamp      : 2/12/2015 2:59:38 PM
VolumeId       : 434f561f-88ae-46c0-a152-8c6641561504
PSComputerName :
MaximumIops    : 0
MinimumIops    : 0

Interval       : 300000
IOPS           : 1097
Latency        : 3.1524
Limit          : 0
Reservation    : 1568
Status         : Ok
TimeStamp      : 2/12/2015 2:59:38 PM
VolumeId       : 4d91fc3a-1a1e-4917-86f6-54853b2a6787
PSComputerName :
MaximumIops    : 0
MinimumIops    : 1568

Interval       : 300000
IOPS           : 5354
Latency        : 6.5084
Limit          : 0
Reservation    : 781
Status         : Ok
TimeStamp      : 2/12/2015 2:59:38 PM
VolumeId       : 0d2fd367-8d74-4146-9934-306726913dda
PSComputerName :
MaximumIops    : 0
MinimumIops    : 781

Cara membuat dan memantau Kebijakan QoS Penyimpanan

Bagian ini menjelaskan cara membuat kebijakan Storage QoS, menerapkan kebijakan ini ke komputer virtual, dan memantau kluster penyimpanan setelah kebijakan diterapkan.

Membuat kebijakan QoS Penyimpanan

Kebijakan QoS penyimpanan ditentukan dan dikelola di kluster Server File Scale-Out. Anda dapat membuat kebijakan sebanyak yang diperlukan untuk penyebaran fleksibel (hingga 10.000 per kluster penyimpanan).

Setiap file VHD/VHDX yang ditetapkan ke komputer virtual dapat dikonfigurasi dengan kebijakan. File dan komputer virtual yang berbeda dapat menggunakan kebijakan yang sama atau masing-masing dapat dikonfigurasi dengan kebijakan terpisah. Jika beberapa file VHD/VHDX atau beberapa komputer virtual dikonfigurasi dengan kebijakan yang sama, mereka akan dikumpulkan bersama-sama dan akan berbagi MinimumIOPS dan MaximumIOPS secara adil. Jika Anda menggunakan kebijakan terpisah untuk beberapa file VHD/VHDX atau komputer virtual, minimum dan maksimum dilacak secara terpisah untuk masing-masing file.

Jika Anda membuat beberapa kebijakan serupa untuk komputer virtual yang berbeda dan komputer virtual memiliki permintaan penyimpanan yang sama, mereka akan menerima bagian IOPS yang sama. Jika satu VM menuntut lebih banyak dan yang lainnya lebih sedikit, maka IOPS akan mengikuti permintaan tersebut.

Jenis Kebijakan QoS Penyimpanan

Ada dua jenis kebijakan: Agregat (sebelumnya dikenal sebagai SingleInstance) dan Dedicated (sebelumnya dikenal sebagai MultiInstance). Kebijakan agregat menerapkan maksimum dan minimum untuk kumpulan gabungan file VHD/VHDX dan komputer virtual tempat mereka menerapkannya. Akibatnya, mereka berbagi sekumpulan IOPS dan bandwidth tertentu. Kebijakan khusus menerapkan nilai minimum dan maksimum untuk setiap VHD/VHDx, secara terpisah. Ini memudahkan untuk membuat satu kebijakan yang menerapkan batas serupa ke beberapa file VHD/VHDx.

Misalnya, jika Anda membuat kebijakan Agregat dengan minimal 300 IOPS dan maksimum 500 IOPS. Jika Anda menerapkan kebijakan ini ke 5 file VHD/VHDx yang berbeda, Anda memastikan bahwa gabungan 5 file VHD/VHDx akan dijamin setidaknya 300 IOPS (jika ada permintaan dan sistem penyimpanan dapat memberikan performa tersebut) dan tidak lebih dari 500 IOPS. Jika file VHD/VHDx memiliki permintaan tinggi yang serupa untuk IOPS dan sistem penyimpanan dapat mengikuti, setiap file VHD/VHDx akan mendapatkan sekitar 100 IOPS.

Namun, jika Anda membuat kebijakan Khusus dengan batas serupa dan menerapkannya ke file VHD/VHDx pada 5 komputer virtual yang berbeda, setiap komputer virtual akan mendapatkan setidaknya 300 IOPS dan tidak lebih dari 500 IOPS. Jika komputer virtual memiliki permintaan tinggi yang serupa untuk IOPS dan sistem penyimpanan dapat mengikuti, setiap komputer virtual akan mendapatkan sekitar 500 IOPS. . Jika salah satu komputer virtual memiliki beberapa file VHD/VHDx dengan kebijakan MulitInstance yang sama yang dikonfigurasi, mereka akan berbagi batas sehingga total IO dari VM dari file dengan kebijakan tersebut tidak akan melebihi batas.

Oleh karena itu, jika Anda memiliki sekelompok file VHD/VHDx yang ingin Anda pamerkan karakteristik performa yang sama dan Anda tidak ingin kesulitan membuat beberapa kebijakan serupa, Anda dapat menggunakan satu kebijakan Khusus dan berlaku untuk file setiap komputer virtual.

Pertahankan jumlah file VHD/VHDx yang ditetapkan ke satu kebijakan Agregat menjadi 20 atau kurang. Jenis kebijakan ini dimaksudkan untuk melakukan agregasi dengan beberapa VM pada kluster.

Membuat dan menerapkan kebijakan Khusus

Pertama, gunakan New-StorageQosPolicy cmdlet untuk membuat kebijakan di Server File Peluasan Skala seperti yang ditunjukkan dalam contoh berikut:

$desktopVmPolicy = New-StorageQosPolicy -Name Desktop -PolicyType Dedicated -MinimumIops 100 -MaximumIops 200

Selanjutnya, terapkan ke hard disk drive komputer virtual yang sesuai di server Hyper-V. Perhatikan PolicyId dari langkah sebelumnya atau simpan dalam variabel dalam skrip Anda.

Pada Server File Peluasan Skala, menggunakan PowerShell, buat kebijakan QoS Penyimpanan dan dapatkan ID Kebijakannya seperti yang ditunjukkan dalam contoh berikut:

PS C:\> $desktopVmPolicy = New-StorageQosPolicy -Name Desktop -PolicyType Dedicated -MinimumIops 100 -MaximumIops 200

C:\> $desktopVmPolicy.PolicyId

Guid
----
cd6e6b87-fb13-492b-9103-41c6f631f8e0

Di server Hyper-V, menggunakan PowerShell, atur Kebijakan QoS Penyimpanan menggunakan ID Kebijakan seperti yang ditunjukkan dalam contoh berikut:

Get-VM -Name Build* | Get-VMHardDiskDrive | Set-VMHardDiskDrive -QoSPolicyID cd6e6b87-fb13-492b-9103-41c6f631f8e0

Konfirmasikan bahwa kebijakan diterapkan

Gunakan Get-StorageQosFlow cmdlet PowerShell untuk mengonfirmasi bahwa MinimumIOPS dan MaximumIOPS telah diterapkan ke alur yang sesuai seperti yang ditunjukkan dalam contoh berikut.

PS C:\> Get-StorageQoSflow | Sort-Object InitiatorName |
 ft InitiatorName, Status, MinimumIOPS, MaximumIOPS, StorageNodeIOPS, Status, @{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf('\')+1)};Label="File"} -AutoSize

InitiatorName Status MinimumIops MaximumIops StorageNodeIOPS Status File
------------- ------ ----------- ----------- --------------- ------ ----
BuildVM1          Ok         100         200             250     Ok BUILDVM1.VHDX
BuildVM2          Ok         100         200             251     Ok BUILDVM2.VHDX
BuildVM3          Ok         100         200             252     Ok BUILDVM3.VHDX
BuildVM4          Ok         100         200             233     Ok BUILDVM4.VHDX
TR20-VMM          Ok          33         666               1     Ok DATA2.VHDX
TR20-VMM          Ok          33         666               5     Ok DATA1.VHDX
TR20-VMM          Ok          33         666               4     Ok BOOT.VHDX
WinOltp1          Ok           0           0               0     Ok 9914.0.AMD6...
WinOltp1          Ok           0           0            5166     Ok IOMETER.VHDX
WinOltp1          Ok           0           0               0     Ok BOOT.VHDX

Di server Hyper-V, Anda juga dapat menggunakan skrip yang disediakan Get-VMHardDiskDrivePolicy.ps1 untuk melihat kebijakan apa yang diterapkan ke hard disk drive virtual.

PS C:\> Get-VM -Name BuildVM1 | Get-VMHardDiskDrive | Format-List

Path                          : \\plang-fs.plang.nttest.microsoft.com\two\BuildWorkload
                                \BuildVM1.vhdx
DiskNumber                    :
MaximumIOPS                   : 0
MinimumIOPS                   : 0
QoSPolicyID                   : cd6e6b87-fb13-492b-9103-41c6f631f8e0
SupportPersistentReservations : False
ControllerLocation            : 0
ControllerNumber              : 0
ControllerType                : IDE
PoolName                      : Primordial
Name                          : Hard Drive
Id                            : Microsoft:AE4E3DD0-3BDE-42EF-B035-9064309E6FEC\83F8638B
                                -8DCA-4152-9EDA-2CA8B33039B4\0\0\D
VMId                          : ae4e3dd0-3bde-42ef-b035-9064309e6fec
VMName                        : BuildVM1
VMSnapshotId                  : 00000000-0000-0000-0000-000000000000
VMSnapshotName                :
ComputerName                  : PLANG-C2
IsDeleted                     : False

Kueri untuk Kebijakan QoS Penyimpanan

Get-StorageQosPolicy mencantumkan semua kebijakan yang dikonfigurasi dan statusnya di Server File Peluasan Skala.

PS C:\> Get-StorageQosPolicy

Name                 MinimumIops          MaximumIops          Status
----                 -----------          -----------          ------
Default              0                    0                    Ok
Limit500             0                    500                  Ok
SilverVm             500                  500                  Ok
Desktop              100                  200                  Ok
Limit500             0                    0                    Ok
VMM                  100                  2000                 Ok
Vdi                  1                    100                  Ok

Status dapat berubah dari waktu ke waktu berdasarkan performa sistem.

  • Ok - Semua alur yang menggunakan kebijakan tersebut menerima MinimumIOPS yang diminta.

  • InsufficientThroughput - Satu atau beberapa alur yang menggunakan kebijakan ini tidak menerima IOPS Minimum

Anda juga dapat menyalurkan kebijakan untuk Get-StorageQosPolicy mendapatkan status semua alur yang dikonfigurasi untuk menggunakan kebijakan sebagai berikut:

PS C:\> Get-StorageQosPolicy -Name Desktop | Get-StorageQosFlow | ft InitiatorName, *IOPS, Status, FilePath -AutoSize

InitiatorName MaximumIops MinimumIops InitiatorIOPS StorageNodeIOPS Status FilePat
                                                                           h
------------- ----------- ----------- ------------- --------------- ------ -------
BuildVM4              100          50           187              17     Ok C:\C...
BuildVM3              100          50           194              25     Ok C:\C...
BuildVM1              200         100           195             196     Ok C:\C...
BuildVM2              200         100           193             192     Ok C:\C...
BuildVM4              200         100           187             169     Ok C:\C...
BuildVM3              200         100           194             169     Ok C:\C...

Membuat Kebijakan Agregat

Kebijakan agregat dapat digunakan jika Anda ingin beberapa hard disk virtual berbagi satu kumpulan IOPS dan bandwidth. Misalnya, jika Anda menerapkan kebijakan Agregat yang sama ke hard disk dari dua komputer virtual, minimum akan dibagi di antara mereka sesuai dengan permintaan. Kedua disk akan dijamin minimum gabungan, dan bersama-sama tidak akan melebihi IOPS atau bandwidth maksimum yang ditentukan.

Pendekatan yang sama juga dapat digunakan untuk menyediakan satu alokasi ke semua file VHD/VHDx untuk komputer virtual yang terdiri dari layanan atau milik penyewa di lingkungan multihosting.

Tidak ada perbedaan dalam proses untuk membuat kebijakan Khusus dan Agregat selain PolicyType yang ditentukan.

Contoh berikut menunjukkan cara membuat Kebijakan QoS Penyimpanan Agregat dan mendapatkan policyID-nya di Server File Peluasan Skala:

PS C:\> $highPerf = New-StorageQosPolicy -Name SqlWorkload -MinimumIops 1000 -MaximumIops 5000 -PolicyType Aggregated
[plang-fs]: PS C:\Users\plang\Documents> $highPerf.PolicyId

Guid
----
7e2f3e73-1ae4-4710-8219-0769a4aba072

Contoh berikut menunjukkan cara menerapkan Kebijakan QoS Penyimpanan di server Hyper-V menggunakan policyID yang diperoleh dalam contoh sebelumnya:

PS C:\> Get-VM -Name WinOltp1 | Get-VMHardDiskDrive | Set-VMHardDiskDrive -QoSPolicyID 7e2f3e73-1ae4-4710-8219-0769a4aba072

Contoh berikut menunjukkan cara melihat efek kebijakan QoS Penyimpanan dari server file:

PS C:\> Get-StorageQosFlow -InitiatorName WinOltp1 | format-list InitiatorName, PolicyId, MinimumIOPS, MaximumIOPS, StorageNodeIOPS, FilePath

InitiatorName   : WinOltp1
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072
MinimumIops     : 250
MaximumIops     : 1250
StorageNodeIOPS : 0
FilePath        : C:\ClusterStorage\Volume2\SHARES\TWO\BASEVHD\9914.0.AMD64FRE.WIN
                  MAIN.141218-1718_SERVER_SERVERDATACENTER_EN-US.VHDX

InitiatorName   : WinOltp1
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072
MinimumIops     : 250
MaximumIops     : 1250
StorageNodeIOPS : 0
FilePath        : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\BOOT.VHDX

InitiatorName   : WinOltp1
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072
MinimumIops     : 1000
MaximumIops     : 5000
StorageNodeIOPS : 4550
FilePath        : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\IOMETER.VHDX
PS C:\> Get-StorageQosFlow -InitiatorName WinOltp1 | for
mat-list InitiatorName, PolicyId, MinimumIOPS, MaximumIOPS, StorageNodeIOPS, FilePath

InitiatorName   : WinOltp1
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072
MinimumIops     : 250
MaximumIops     : 1250
StorageNodeIOPS : 0
FilePath        : C:\ClusterStorage\Volume2\SHARES\TWO\BASEVHD\9914.0.AMD64FRE.WIN
                  MAIN.141218-1718_SERVER_SERVERDATACENTER_EN-US.VHDX

InitiatorName   : WinOltp1
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072
MinimumIops     : 250
MaximumIops     : 1250
StorageNodeIOPS : 0
FilePath        : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\BOOT.VHDX

InitiatorName   : WinOltp1
PolicyId        : 7e2f3e73-1ae4-4710-8219-0769a4aba072
MinimumIops     : 1000
MaximumIops     : 5000
StorageNodeIOPS : 4550
FilePath        : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\IOMETER.VHDX

Setiap hard disk virtual akan memiliki nilai MinimumIOPS dan MaximumIOPS dan MaximumIobandwidth yang disesuaikan berdasarkan bebannya. Ini memastikan bahwa jumlah total bandwidth yang digunakan untuk grup disk tetap berada dalam rentang yang ditentukan oleh kebijakan. Dalam contoh di atas, dua disk pertama diam, dan yang ketiga diizinkan untuk menggunakan hingga IOPS maksimum. Jika dua disk pertama mulai mengeluarkan IO lagi, maka IOPS maksimum disk ketiga akan diturunkan secara otomatis.

Mengubah kebijakan yang sudah ada

Properti Name, MinimumIOPS, MaximumIOPS, dan MaximumIoBandwidthcan dapat diubah setelah kebijakan dibuat. Namun, Jenis Kebijakan (Agregat/Khusus) tidak dapat diubah setelah kebijakan dibuat.

Cmdlet Windows PowerShell berikut ini memperlihatkan cara mengubah properti MaximumIOPS untuk kebijakan yang sudah ada:

[DBG]: PS C:\demoscripts>> Get-StorageQosPolicy -Name SqlWorkload | Set-StorageQosPolicy -MaximumIops 6000

Cmdlet berikut memverifikasi perubahan:

PS C:\> Get-StorageQosPolicy -Name SqlWorkload

Name                    MinimumIops            MaximumIops            Status
----                    -----------            -----------            ------
SqlWorkload             1000                   6000                   Ok

[plang-fs1]: PS C:\Users\plang\Documents> Get-StorageQosPolicy -Name SqlWorkload | Get-Storag
eQosFlow | Format-Table InitiatorName, PolicyId, MaximumIops, MinimumIops, StorageNodeIops -A
utoSize

InitiatorName PolicyId                             MaximumIops MinimumIops StorageNodeIops
------------- --------                             ----------- ----------- ---------------
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072        1500         250               0
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072        1500         250               0
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072        6000        1000            4507

Cara mengidentifikasi dan mengatasi masalah umum

Bagian ini menjelaskan cara menemukan komputer virtual dengan kebijakan QoS Penyimpanan yang tidak valid, cara membuat ulang kebijakan yang cocok, cara menghapus kebijakan dari komputer virtual, dan cara mengidentifikasi komputer virtual yang tidak memenuhi persyaratan kebijakan Storage QoS.

Mengidentifikasi komputer virtual dengan kebijakan yang tidak valid

Jika kebijakan dihapus dari server file sebelum dihapus dari komputer virtual, komputer virtual akan terus berjalan seolah-olah tidak ada kebijakan yang diterapkan.

PS C:\> Get-StorageQosPolicy -Name SqlWorkload | Remove-StorageQosPolicy

Confirm
Are you sure you want to perform this action?
Performing the operation "DeletePolicy" on target "MSFT_StorageQoSPolicy (PolicyId =
"7e2f3e73-1ae4-4710-8219-0769a4aba072")".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"):

Status untuk alur sekarang akan menampilkan "UnknownPolicyId"

PS C:\> Get-StorageQoSflow | Sort-Object InitiatorName | ft InitiatorName, Status, MinimumIOPS, MaximumIOPS, StorageNodeIOPS, Status, @{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf('\')+1)};Label="File"} -AutoSize

InitiatorName          Status MinimumIops MaximumIops StorageNodeIOPS          Status File
-------------          ------ ----------- ----------- ---------------          ------ ----
                           Ok           0           0               0              Ok Def...
                           Ok           0           0              10              Ok Def...
                           Ok           0           0              13              Ok Def...
                           Ok           0           0               0              Ok Def...
                           Ok           0           0               0              Ok Def...
                           Ok           0           0               0              Ok Def...
                           Ok           0           0               0              Ok Def...
                           Ok           0           0               0              Ok Def...
                           Ok           0           0               0              Ok Def...
BuildVM1                   Ok         100         200             193              Ok BUI...
BuildVM2                   Ok         100         200             196              Ok BUI...
BuildVM3                   Ok          50          64              17              Ok WIN...
BuildVM3                   Ok          50         136             179              Ok BUI...
BuildVM4                   Ok          50         100              23              Ok WIN...
BuildVM4                   Ok         100         200             173              Ok BUI...
TR20-VMM                   Ok          33         666               2              Ok DAT...
TR20-VMM                   Ok          25         975               3              Ok DAT...
TR20-VMM                   Ok          75        1025              12              Ok BOO...
WinOltp1      UnknownPolicyId           0           0               0 UnknownPolicyId 991...
WinOltp1      UnknownPolicyId           0           0            4926 UnknownPolicyId IOM...
WinOltp1      UnknownPolicyId           0           0               0 UnknownPolicyId BOO...

Membuat ulang kebijakan QoS Penyimpanan yang cocok

Jika kebijakan tidak sengaja dihapus, Anda dapat membuat kebijakan baru menggunakan PolicyId lama. Pertama, dapatkan PolicyId yang diperlukan

PS C:\> Get-StorageQosFlow -Status UnknownPolicyId | ft InitiatorName, PolicyId -AutoSize

InitiatorName PolicyId
------------- --------
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072
WinOltp1      7e2f3e73-1ae4-4710-8219-0769a4aba072

Selanjutnya, buat kebijakan baru menggunakan PolicyId tersebut

PS C:\> New-StorageQosPolicy -PolicyId 7e2f3e73-1ae4-4710-8219-0769a4aba072 -PolicyType Aggregated -Name RestoredPolicy -MinimumIops 100 -MaximumIops 2000

Name                    MinimumIops            MaximumIops            Status
----                    -----------            -----------            ------
RestoredPolicy          100                    2000                   Ok

Terakhir, verifikasi bahwa itu diterapkan.

PS C:\> Get-StorageQoSflow | Sort-Object InitiatorName | ft InitiatorName, Status, MinimumIOPS, MaximumIOPS, StorageNodeIOPS, Status, @{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf('\')+1)};Label="File"} -AutoSize

InitiatorName Status MinimumIops MaximumIops StorageNodeIOPS Status File
------------- ------ ----------- ----------- --------------- ------ ----
                  Ok           0           0               0     Ok DefaultFlow
                  Ok           0           0               8     Ok DefaultFlow
                  Ok           0           0               9     Ok DefaultFlow
                  Ok           0           0               0     Ok DefaultFlow
                  Ok           0           0               0     Ok DefaultFlow
                  Ok           0           0               0     Ok DefaultFlow
                  Ok           0           0               0     Ok DefaultFlow
                  Ok           0           0               0     Ok DefaultFlow
                  Ok           0           0               0     Ok DefaultFlow
BuildVM1          Ok         100         200             192     Ok BUILDVM1.VHDX
BuildVM2          Ok         100         200             193     Ok BUILDVM2.VHDX
BuildVM3          Ok          50         100              24     Ok WIN8RTM_ENTERPRISE_VL...
BuildVM3          Ok         100         200             166     Ok BUILDVM3.VHDX
BuildVM4          Ok          50         100              12     Ok WIN8RTM_ENTERPRISE_VL...
BuildVM4          Ok         100         200             178     Ok BUILDVM4.VHDX
TR20-VMM          Ok          33         666               2     Ok DATA2.VHDX
TR20-VMM          Ok          33         666               2     Ok DATA1.VHDX
TR20-VMM          Ok          33         666              10     Ok BOOT.VHDX
WinOltp1          Ok          25         500               0     Ok 9914.0.AMD64FRE.WINMA...

Menghapus Kebijakan QoS Penyimpanan

Jika kebijakan dihapus dengan sengaja, atau jika VM diimpor dengan kebijakan yang tidak Anda perlukan, kebijakan tersebut mungkin akan dihapus.

PS C:\> Get-VM -Name WinOltp1 | Get-VMHardDiskDrive | Set-VMHardDiskDrive -QoSPolicyID $null

Setelah PolicyId dihapus dari pengaturan hard disk virtual, statusnya akan menjadi "Ok" dan tidak ada minimum atau maksimum yang akan diterapkan.

PS C:\> Get-StorageQoSflow | Sort-Object InitiatorName | ft InitiatorName, MinimumIOPS, MaximumIOPS, StorageNodeIOPS, Status, @{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf('\')+1)};Label="File"} -AutoSize

InitiatorName MinimumIops MaximumIops StorageNodeIOPS Status File
------------- ----------- ----------- --------------- ------ ----
                        0           0               0     Ok DefaultFlow
                        0           0              16     Ok DefaultFlow
                        0           0              12     Ok DefaultFlow
                        0           0               0     Ok DefaultFlow
                        0           0               0     Ok DefaultFlow
                        0           0               0     Ok DefaultFlow
                        0           0               0     Ok DefaultFlow
                        0           0               0     Ok DefaultFlow
                        0           0               0     Ok DefaultFlow
BuildVM1              100         200             197     Ok BUILDVM1.VHDX
BuildVM2              100         200             192     Ok BUILDVM2.VHDX
BuildVM3                9           9              23     Ok WIN8RTM_ENTERPRISE_VL_BUILDW...
BuildVM3               91         191             171     Ok BUILDVM3.VHDX
BuildVM4                8           8              18     Ok WIN8RTM_ENTERPRISE_VL_BUILDW...
BuildVM4               92         192             163     Ok BUILDVM4.VHDX
TR20-VMM               33         666               2     Ok DATA2.VHDX
TR20-VMM               33         666               1     Ok DATA1.VHDX
TR20-VMM               33         666               5     Ok BOOT.VHDX
WinOltp1                0           0               0     Ok 9914.0.AMD64FRE.WINMAIN.1412...
WinOltp1                0           0            1811     Ok IOMETER.VHDX
WinOltp1                0           0               0     Ok BOOT.VHDX

Menemukan komputer virtual yang tidak memenuhi Kebijakan QoS Penyimpanan

Status InsufficientThroughput ditetapkan ke alur apa pun yang:

  • Memiliki IOPS minimum yang ditentukan yang ditetapkan oleh kebijakan; Dan

  • Memulai IO pada pertemuan tarif atau melebihi minimum; Dan

  • Tidak mencapai tingkat IOP minimum

PS C:\> Get-StorageQoSflow | Sort-Object InitiatorName | ft InitiatorName, MinimumIOPS, MaximumIOPS, StorageNodeIOPS, Status, @{Expression={$_.FilePath.Substring($_.FilePath.LastIndexOf('\')+1)};Label="File"} -AutoSize

InitiatorName MinimumIops MaximumIops StorageNodeIOPS                 Status File
------------- ----------- ----------- ---------------                 ------ ----
                        0           0               0                     Ok DefaultFlow
                        0           0               0                     Ok DefaultFlow
                        0           0              15                     Ok DefaultFlow
                        0           0               0                     Ok DefaultFlow
                        0           0               0                     Ok DefaultFlow
                        0           0               0                     Ok DefaultFlow
                        0           0               0                     Ok DefaultFlow
                        0           0               0                     Ok DefaultFlow
                        0           0               0                     Ok DefaultFlow
BuildVM3               50         100              20                     Ok WIN8RTM_ENTE...
BuildVM3              100         200             174                     Ok BUILDVM3.VHDX
BuildVM4               50         100              11                     Ok WIN8RTM_ENTE...
BuildVM4              100         200             188                     Ok BUILDVM4.VHDX
TR20-VMM               33         666               3                     Ok DATA1.VHDX
TR20-VMM               78        1032             180                     Ok BOOT.VHDX
TR20-VMM               22         968               4                     Ok DATA2.VHDX
WinOltp1             3750        5000               0                     Ok 9914.0.AMD64...
WinOltp1            15000       20000           11679 InsufficientThroughput IOMETER.VHDX
WinOltp1             3750        5000               0                     Ok BOOT.VHDX

Anda dapat menentukan alur untuk status apa pun, termasuk InsufficientThroughput seperti yang ditunjukkan dalam contoh berikut:

PS C:\> Get-StorageQosFlow -Status InsufficientThroughput | fl

FilePath           : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\IOMETER.VHDX
FlowId             : 1ca356ff-fd33-5b5d-b60a-2c8659dc803e
InitiatorId        : 2ceabcef-2eba-4f1b-9e66-10f960b50bbf
InitiatorIOPS      : 12168
InitiatorLatency   : 22.983
InitiatorName      : WinOltp1
InitiatorNodeName  : plang-c1.plang.nttest.microsoft.com
Interval           : 300000
Limit              : 20000
PolicyId           : 5d1bf221-c8f0-4368-abcf-aa139e8a7c72
Reservation        : 15000
Status             : InsufficientThroughput
StorageNodeIOPS    : 12181
StorageNodeLatency : 22.0514
StorageNodeName    : plang-fs2.plang.nttest.microsoft.com
TimeStamp          : 2/13/2015 12:07:30 PM
VolumeId           : 0d2fd367-8d74-4146-9934-306726913dda
PSComputerName     :
MaximumIops        : 20000
MinimumIops        : 15000

Memantau Kesehatan menggunakan QoS Penyimpanan

Layanan Kesehatan baru menyederhanakan pemantauan Kluster Penyimpanan, menyediakan satu tempat untuk memeriksa peristiwa yang dapat ditindak lanjuti di salah satu simpul. Bagian ini menjelaskan cara memantau kesehatan kluster penyimpanan Anda menggunakan debug-storagesubsystem cmdlet.

Lihat Status Penyimpanan dengan Debug-StorageSubSystem

Ruang Penyimpanan Berkluster juga memberikan informasi tentang kesehatan kluster penyimpanan dalam satu lokasi. Ini dapat membantu administrator dengan cepat mengidentifikasi masalah saat ini dalam penyebaran penyimpanan dan memantau saat masalah tiba atau diberhentikan.

VM dengan kebijakan yang tidak valid

VM dengan kebijakan yang tidak valid juga dilaporkan melalui pemantauan kesehatan subsistem penyimpanan. Berikut adalah contoh dari status yang sama seperti yang dijelaskan di bagian Menemukan VM dengan kebijakan yang tidak valid dari dokumen ini.

C:\> Get-StorageSubSystem -FriendlyName Clustered* | Debug-StorageSubSystem

EventTime                 :
FaultId                   : 0d16d034-9f15-4920-a305-f9852abf47c3
FaultingObject            :
FaultingObjectDescription : Storage QoS Policy 5d1bf221-c8f0-4368-abcf-aa139e8a7c72
FaultingObjectLocation    :
FaultType                 : Storage QoS policy used by consumer does not exist.
PerceivedSeverity         : Minor
Reason                    : One or more storage consumers (usually Virtual Machines) are
                            using a non-existent policy with id
                            5d1bf221-c8f0-4368-abcf-aa139e8a7c72. Consumer details:

                            Flow ID: 1ca356ff-fd33-5b5d-b60a-2c8659dc803e
                            Initiator ID: 2ceabcef-2eba-4f1b-9e66-10f960b50bbf
                            Initiator Name: WinOltp1
                            Initiator Node: plang-c1.plang.nttest.microsoft.com
                            File Path:
                            C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\IOMETER.VHDX
RecommendedActions        : {Reconfigure the storage consumers (usually Virtual Machines)
                            to use a valid policy., Recreate any missing Storage QoS
                            policies.}
PSComputerName            :

Redundansi yang hilang untuk disk virtual ruang penyimpanan

Dalam contoh ini, Ruang Penyimpanan Berkluster memiliki disk virtual yang dibuat sebagai cermin tiga arah. Disk yang gagal dihapus dari sistem, tetapi disk pengganti tidak ditambahkan. Subsistem penyimpanan melaporkan hilangnya redundansi dengan Peringatan HealthStatus, tetapi OperationalStatus "OK karena volume masih online.

PS C:\> Get-StorageSubSystem -FriendlyName Clustered*

FriendlyName                   HealthStatus                   OperationalStatus
------------                   ------------                   -----------------
Clustered Windows Storage o... Warning                        OK

[plang-fs1]: PS C:\Users\plang\Documents> Get-StorageSubSystem -FriendlyName Clustered* | Deb
ug-StorageSubSystem

EventTime                 :
FaultId                   : dfb4b672-22a6-4229-b2ed-c29d7485bede
FaultingObject            :
FaultingObjectDescription : Virtual disk 'Two'
FaultingObjectLocation    :
FaultType                 : VirtualDiskDegradedFaultType
PerceivedSeverity         : Minor
Reason                    : Virtual disk 'Two' does not have enough redundancy remaining to
                            successfully repair or regenerate its data.
RecommendedActions        : {Rebalance the pool, replace failed physical disks, or add new
                            physical disks to the storage pool, then repair the virtual
                            disk.}
PSComputerName            :

Contoh skrip untuk pemantauan berkelanjutan Storage QoS

Bagian ini mencakup contoh skrip yang menunjukkan bagaimana kegagalan umum dapat dipantau menggunakan skrip WMI. Ini dirancang sebagai bagian awal bagi pengembang untuk mengambil peristiwa kesehatan secara real time.

Contoh skrip:

param($cimSession)
# Register and display events
Register-CimIndicationEvent -Namespace root\microsoft\windows\storage -ClassName msft_storagefaultevent -CimSession $cimSession

while ($true)
{
     $e = (Wait-Event)
     $e.SourceEventArgs.NewEvent
     Remove-Event $e.SourceIdentifier
}

Pertanyaan Umum

Bagaimana cara mempertahankan kebijakan QoS Penyimpanan yang diberlakukan untuk komputer virtual saya jika saya memindahkan file VHD/VHDx ke kluster penyimpanan lain

Pengaturan pada file VHD/VHDx yang menentukan kebijakan adalah GUID ID kebijakan. Saat kebijakan dibuat, GUID dapat ditentukan menggunakan parameter PolicyID . Jika parameter tersebut tidak ditentukan, GUID acak akan dibuat. Oleh karena itu, Anda bisa mendapatkan PolicyID pada kluster penyimpanan tempat VM saat ini menyimpan file VHD/VHDx mereka dan membuat kebijakan yang identik pada kluster penyimpanan tujuan lalu menentukan bahwa itu dibuat dengan GUID yang sama. Ketika file VM dipindahkan ke kluster penyimpanan baru, kebijakan dengan GUID yang sama akan berlaku.

Manajer Komputer Virtual Pusat Sistem dapat digunakan untuk menerapkan kebijakan di beberapa kluster penyimpanan, yang membuat skenario ini jauh lebih mudah.

Jika saya mengubah Kebijakan QoS Penyimpanan, mengapa saya tidak melihatnya langsung berlaku saat saya menjalankan Get-StorageQoSFlow

Jika Anda memiliki alur yang mencapai maksimum kebijakan dan Anda mengubah kebijakan untuk membuatnya lebih tinggi atau lebih rendah, dan kemudian Anda segera menentukan latensi/IOPS/BandWidth dari alur menggunakan cmdlet PowerShell, diperlukan waktu hingga 5 menit untuk melihat efek penuh dari perubahan kebijakan pada alur. Batas baru akan berlaku dalam beberapa detik, tetapi cmdlet PowerShell Get-StorgeQoSFlow menggunakan rata-rata setiap penghitung menggunakan jendela geser 5 menit. Jika tidak, jika menampilkan nilai saat ini dan Anda menjalankan cmdlet PowerShell beberapa kali berturut-turut, Anda mungkin melihat nilai yang sangat berbeda karena nilai untuk IOPS dan latensi dapat berfluktuasi secara signifikan dari satu detik ke detik lainnya.

Fungsionalitas baru apa yang ditambahkan di Windows Server 2016

Di Windows Server 2016, nama jenis Kebijakan QoS Penyimpanan diganti namanya. Jenis kebijakan Multi-instans diganti namanya sebagai Khusus dan Instans tunggal diganti namanya menjadi Agregat. Perilaku manajemen kebijakan Khusus juga dimodifikasi - file VHD/VHDX dalam komputer virtual yang sama yang memiliki kebijakan Khusus yang sama yang diterapkan kepada mereka tidak akan berbagi alokasi I/O.

Ada dua fitur Storage QoS baru Windows Server 2016:

  • Bandwidth Maksimum

    QoS Penyimpanan di Windows Server 2016 memperkenalkan kemampuan untuk menentukan bandwidth maksimum yang dapat digunakan alur yang ditetapkan ke kebijakan. Parameter saat menentukannya di cmdlet StorageQosPolicy adalah MaximumIOBandwidth dan output dinyatakan dalam byte per detik. Jika MaximimIops dan MaximumIOBandwidth ditetapkan dalam kebijakan, keduanya akan berlaku dan yang pertama dicapai oleh alur akan membatasi I/O alur.

  • Normalisasi IOPS dapat dikonfigurasi

    Storage QoSin menggunakan normalisasi IOPS. Defaultnya adalah menggunakan ukuran normalisasi 8K. QoS Penyimpanan di Windows Server 2016 memperkenalkan kemampuan untuk menentukan ukuran normalisasi yang berbeda untuk kluster penyimpanan. Ukuran normalisasi ini mempengaruhi semua alur pada kluster penyimpanan dan segera berlaku (dalam beberapa detik) setelah diubah. Minimumnya adalah 1KB dan maksimumnya adalah 4GB (disarankan untuk tidak mengatur lebih dari 4MB karena tidak biasa memiliki lebih dari 4MB IO).

    Sesuatu yang perlu dipertimbangkan adalah bahwa pola/throughput IO yang sama muncul dengan angka IOPS yang berbeda dalam output QoS Penyimpanan saat Anda mengubah normalisasi IOPS karena perubahan perhitungan normalisasi. Jika Anda membandingkan IOPS antara kluster penyimpanan, Anda mungkin juga ingin memverifikasi nilai normalisasi apa yang masing-masing digunakan karena itu akan memengaruhi IOPS yang dinormalisasi yang dilaporkan.

Contoh 1: Membuat kebijakan baru dan melihat bandwidth maksimum pada kluster penyimpanan

Di PowerShell, Anda dapat menentukan unit tempat angka dinyatakan. Dalam contoh berikut, 10MB digunakan sebagai nilai bandwidth maksimum. QoS Penyimpanan akan mengonversi ini dan menyimpannya sebagai byte per detik Oleh karena itu, 10MB dikonversi menjadi 10485760 byte per detik.

PS C:\Windows\system32> New-StorageQosPolicy -Name HR_VMs -MaximumIops 1000 -MinimumIops 20 -MaximumIOBandwidth 10MB

Name   MinimumIops MaximumIops MaximumIOBandwidth Status
----   ----------- ----------- ------------------ ------
HR_VMs 20          1000        10485760           Ok

PS C:\Windows\system32> Get-StorageQosPolicy

Name    MinimumIops MaximumIops MaximumIOBandwidth Status
----    ----------- ----------- ------------------ ------
Default 0           0           0                  Ok
HR_VMs  20          1000        10485760           Ok

PS C:\Windows\system32> Get-StorageQoSFlow | fL InitiatorName,FilePath,InitiatorIOPS,InitiatorLatency,InitiatorBandwidth

InitiatorName      : testsQoS
FilePath           : C:\ClusterStorage\Volume2\TESTSQOS\VIRTUAL HARD DISKS\TESTSQOS.VHDX
InitiatorIOPS      : 5
InitiatorLatency   : 1.5455
InitiatorBandwidth : 37888

Contoh 2: Dapatkan pengaturan normalisasi IOPS dan tentukan nilai baru

Contoh berikut menunjukkan cara mendapatkan pengaturan normalisasi IOPS kluster penyimpanan (default 8KB), lalu mengaturnya ke 32KB, lalu menampilkannya lagi. Perhatikan, dalam contoh ini, tentukan "32KB", karena PowerShell memungkinkan menentukan unit alih-alih memerlukan konversi ke byte. Output memang menunjukkan nilai dalam byte per detik. Pengaturan ini memengaruhi semua komputer virtual. (Komputer virtual yang dibuat pada volume lokal juga terpengaruh.)

PS C:\Windows\system32> Get-StorageQosPolicyStore

IOPSNormalizationSize
---------------------
8192

PS C:\Windows\system32> Set-StorageQosPolicyStore -IOPSNormalizationSize 32KB
PS C:\Windows\system32> Get-StorageQosPolicyStore

IOPSNormalizationSize
---------------------
32768

Lihat Juga