Kualitas Layanan Penyimpanan
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.
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 untuk mereka 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.
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 : 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
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
----
1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
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 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
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 : 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
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 harus 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
----
1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
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 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
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 : 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
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 : 2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6
MinimumIops : 250
MaximumIops : 1250
StorageNodeIOPS : 0
FilePath : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\BOOT.VHDX
InitiatorName : WinOltp1
PolicyId : 3cccccc3-4dd4-5ee5-6ff6-7aaaaaaaaaa7
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 : 4dddddd4-5ee5-6ff6-7aa7-8bbbbbbbbbb8
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 : 5eeeeee5-6ff6-7aa7-8bb8-9cccccccccc9
MinimumIops : 250
MaximumIops : 1250
StorageNodeIOPS : 0
FilePath : C:\ClusterStorage\Volume3\SHARES\THREE\WINOLTP1\BOOT.VHDX
InitiatorName : WinOltp1
PolicyId : 6ffffff6-7aa7-8bb8-9cc9-0dddddddddd0
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 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5 1500 250 0
WinOltp1 2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6 1500 250 0
WinOltp1 3cccccc3-4dd4-5ee5-6ff6-7aaaaaaaaaa7 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 =
"1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5")".
[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 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
WinOltp1 2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6
WinOltp1 3cccccc3-4dd4-5ee5-6ff6-7aaaaaaaaaa7
Selanjutnya, buat kebijakan baru menggunakan PolicyId tersebut
PS C:\> New-StorageQosPolicy -PolicyId 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5 -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 dapat 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 : 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5
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 memengaruhi 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