Bagikan melalui


Memahami cache kumpulan penyimpanan

Storage Spaces Direct, teknologi virtualisasi penyimpanan dasar di belakang Azure Local dan Windows Server, memiliki cache sisi server bawaan untuk memaksimalkan performa penyimpanan sekaligus mengurangi biaya. Ini adalah cache baca dan tulis real time yang besar, persisten, dan real-time yang dikonfigurasi secara otomatis setelah penyebaran. Dalam kebanyakan kasus, tidak diperlukan manajemen manual apa pun. Cara kerja cache tergantung pada jenis drive yang ada.

Jenis drive dan opsi penyebaran

Storage Spaces Direct saat ini berfungsi dengan empat jenis drive:

Jenis penggerak Description
PMem PMem mengacu pada memori persisten, jenis baru latensi rendah, penyimpanan performa tinggi.
NVMe NVMe (Non-Volatile Memory Express) mengacu pada solid-state drive yang duduk langsung di bus PCIe. Faktor bentuk umum adalah 2,5" U.2, PCIe Add-In-Card (AIC), dan M.2. NVMe menawarkan IOPS dan throughput I/O yang lebih tinggi dengan latensi yang lebih rendah dibandingkan dengan jenis perangkat penyimpanan lain yang kami dukung saat ini, kecuali PMem.
SSD SSD mengacu pada drive solid-state, yang terhubung melalui SATA atau SAS konvensional.
HDD HDD mengacu pada rotasi, hard disk magnetik drive, yang menawarkan kapasitas penyimpanan yang luas dengan biaya rendah.

Ini dapat dikombinasikan dengan berbagai cara, yang kita kelompokkan menjadi dua kategori: "all-flash" dan "hybrid". Penyebaran dengan seluruh HDD tidak didukung.

Note

Artikel ini membahas konfigurasi cache dengan NVMe, SSD, dan HDD. Untuk informasi tentang menggunakan memori persisten sebagai cache, lihat Memahami dan menyebarkan memori persisten.

Kemungkinan implementasi all-flash

Penyebaran all-flash bertujuan untuk memaksimalkan performa penyimpanan dan tidak menyertakan HDD.

Diagram menunjukkan semua penyebaran flash, termasuk NVMe untuk kapasitas, NVMe untuk cache dengan SSD untuk kapasitas, dan SSD untuk kapasitas.

Kemungkinan penyebaran hibrid

Penyebaran hibrid bertujuan untuk menyeimbangkan performa dan kapasitas atau untuk memaksimalkan kapasitas, dan mencakup HDD.

Diagram menunjukkan penyebaran hibrid, termasuk NVMe untuk cache dan HDD untuk kapasitas, SSD untuk cache dan HDD untuk kapasitas, serta NVMe untuk cache dengan HDD dan SSD untuk kapasitas.

Note

Penyebaran hibrid tidak didukung dalam konfigurasi server tunggal. Semua konfigurasi jenis penyimpanan tunggal datar (misalnya all-NVMe atau all-SSD) adalah satu-satunya jenis penyimpanan yang didukung untuk server tunggal.

Kandar cache dipilih secara otomatis

Dalam penyebaran dengan beberapa jenis drive, Storage Spaces Direct secara otomatis menggunakan semua drive dari jenis tercepat untuk penyimpanan sementara. Drive yang tersisa digunakan untuk penyimpanan.

Jenis mana yang "tercepat" ditentukan sesuai dengan hierarki berikut.

Diagram menunjukkan jenis disk yang diatur lebih cepat agar lebih lambat dalam urutan NVMe, SSD, disk tidak berlabel yang mewakili HDD.

Misalnya, jika Anda memiliki NVMe dan SSD, gunakan NVMe sebagai cache untuk SSD.

Jika Anda memiliki SSD dan HDD, SSD berfungsi sebagai cache untuk HDD.

Note

Drive cache tidak memberikan kapasitas penyimpanan yang berguna kepada kluster. Semua data yang disimpan dalam cache juga disimpan di tempat lain, atau akan disimpan di tempat lain setelah dikeluarkan dari cache. Ini berarti total kapasitas penyimpanan mentah kluster Anda adalah jumlah drive kapasitas Anda saja.

Ketika semua drive memiliki jenis yang sama, tidak ada cache yang dikonfigurasi secara otomatis. Anda memiliki opsi untuk mengonfigurasi drive dengan daya tahan yang lebih tinggi secara manual ke cache untuk drive ketahanan yang lebih rendah dengan jenis yang sama - lihat bagian Konfigurasi manual untuk mempelajari caranya.

Tip

Dalam beberapa kasus, menggunakan cache kumpulan penyimpanan tidak masuk akal. Misalnya, dalam penyebaran berbasis NVMe atau SSD secara keseluruhan, terutama pada skala yang sangat kecil, tidak ada drive yang digunakan untuk cache dapat meningkatkan efisiensi penyimpanan dan memaksimalkan performa. Demikian pula, kantor jarak jauh atau cabang kecil dapat memiliki ruang terbatas untuk drive cache.

Perilaku cache diatur secara otomatis

Perilaku cache ditentukan secara otomatis berdasarkan jenis drive yang sedang di-cache. Saat penembolokan untuk flash drive (seperti penembolokan NVMe untuk SSD), hanya tulisan yang di-cache. Saat pengelolaan cache untuk drive disk yang berputar (seperti pengelolaan cache SSD untuk HDD), kegiatan baca dan tulis juga di-cache.

Diagram membandingkan penembolokan untuk semua-flash, di mana penulisan di-cache dan pembacaan tidak, dengan hibrida, di mana pembacaan dan penulisan di-cache.

Penulisan-saja memori cache untuk penyebaran semua-flash

Caching dapat digunakan dalam skenario all-flash, misalnya dengan memanfaatkan NVMe sebagai cache untuk mempercepat performa SSD. Saat penimbunan cache untuk penyebaran all-flash, hanya penulisan data yang di-cache. Ini mengurangi keausan pada drive kapasitas karena banyak penulisan dan penulisan ulang dapat terkumpul di cache dan kemudian dipindahkan hanya sesuai kebutuhan, mengurangi lalu lintas kumulatif ke drive kapasitas dan memperpanjang masa pakainya. Untuk alasan ini, sebaiknya pilih drive dengan daya tahan yang lebih tinggi dan dioptimalkan untuk cache. Drive dengan kapasitas besar mungkin memiliki daya tahan tulis yang lebih rendah secara wajar.

Karena pembacaan tidak secara signifikan memengaruhi masa pakai memori flash, dan karena SSD secara universal menawarkan latensi baca yang rendah, pembacaan tidak di-cache: mereka disajikan langsung dari drive kapasitas (kecuali ketika data baru saja ditulis sehingga belum dipindahkan dari cache ke drive kapasitas). Ini memungkinkan cache didedikasikan sepenuhnya untuk menulis, memaksimalkan efektivitasnya.

Ini menghasilkan karakteristik tulis, seperti latensi tulis, dikendalikan oleh drive cache, sementara karakteristik baca dikendalikan oleh drive kapasitas. Keduanya konsisten, dapat diprediksi, dan seragam.

Penyimpanan sementara baca/tulis untuk penyebaran hibrid

Saat penembolokan untuk HDD, pembacaan dan penulisan di-cache, untuk memberikan latensi seperti lampu kilat (sering kali ~ 10x lebih baik) untuk keduanya. Cache baca menyimpan data yang baru saja dan sering diakses untuk akses cepat dan meminimalkan akses acak ke HDD. (Karena penundaan waktu akses dan rotasi, latensi dan waktu yang hilang yang disebabkan oleh akses acak ke HDD signifikan.) Penulisan di-cache untuk menampung ledakan dan, seperti sebelumnya, menyatukan penulisan dan penulisan ulang untuk meminimalkan lalu lintas total ke drive penyimpanan.

Storage Spaces Direct mengimplementasikan algoritma yang menghilangkan acak pada penulisan sebelum menyimpannya, untuk meniru pola IO ke disk yang tampak berurutan bahkan ketika I/O aktual yang berasal dari beban kerja (seperti mesin virtual) bersifat acak. Ini memaksimalkan IOPS dan throughput ke HDD.

Caching dalam penyebaran dengan NVMe, SSD, dan HDD

Ketika ketiga jenis drive tersedia, drive NVMe menyediakan penyimpanan sementara untuk SSD dan HDD. Perilaku ini seperti yang dijelaskan di atas: hanya penulisan yang di-cache untuk SSD, dan pembacaan serta penulisan di-cache untuk HDD. Beban penyimpanan cache untuk HDD didistribusikan secara merata di antara drive cache.

Summary

Tabel ini meringkas drive mana yang digunakan untuk cache, yang digunakan untuk kapasitas, dan seperti apa perilaku cache untuk setiap kemungkinan penyebaran.

Deployment Kandar cache Drive kapasitas Perilaku cache (default)
Semua NVMe Tidak ada (Opsional: konfigurasikan secara manual) NVMe Hanya tulis (jika dikonfigurasi)
Semua SSD Tidak ada (Opsional: konfigurasikan secara manual) SSD Hanya tulis (jika dikonfigurasi)
NVMe + SSD NVMe SSD Write-only
NVMe + HDD NVMe HDD Baca + Tulis
SSD + HDD SSD HDD Baca + Tulis
NVMe + SSD + HDD NVMe SSD + HDD Baca + Tulis untuk HDD, Tulis-saja untuk SSD

Arsitektur sisi server

Cache diimplementasikan pada tingkat drive: drive cache individual dalam satu server terikat ke satu atau banyak drive kapasitas dalam server yang sama.

Karena cache berada di bawah tumpukan penyimpanan yang berbasis perangkat lunak Windows lainnya, cache tidak memiliki atau membutuhkan pemahaman terhadap konsep-konsep seperti Ruang Penyimpanan atau toleransi kesalahan. Anda dapat menganggapnya sebagai membuat drive "hibrid" (bagian flash, bagian disk) yang kemudian dipresentasikan kepada sistem operasi. Seperti halnya drive hibrida yang sebenarnya, pergerakan data panas dan dingin secara real-time antara bagian media fisik yang lebih cepat dan lebih lambat hampir tidak terlihat oleh pihak luar.

Mengingat bahwa ketahanan di Ruang Penyimpanan Langsung setidaknya tingkat server (artinya salinan data selalu ditulis ke server yang berbeda; paling banyak satu salinan per server), data dalam cache mendapat manfaat dari ketahanan yang sama dengan data yang tidak ada di cache.

Diagram mewakili tiga server yang digabungkan oleh cermin tiga arah dalam lapisan Ruang Penyimpanan, yang mengakses lapisan cache drive NVMe yang mengakses drive kapasitas yang tidak berlabel.

Misalnya, saat menggunakan pencerminan tiga arah, tiga salinan data apa pun ditulis ke server yang berbeda, di mana mereka mendarat di cache. Terlepas dari apakah mereka kemudian didestagasi atau tidak, tiga salinan selalu ada.

Pengikatan drive bersifat dinamis

Pengikatan antara cache dan drive kapasitas dapat memiliki rasio apa pun, dari 1:1 hingga 1:12 dan seterusnya. Ini menyesuaikan secara dinamis setiap kali perangkat penyimpanan ditambahkan atau dihapus, seperti saat memperbesar kapasitas atau setelah kegagalan. Ini berarti Anda dapat menambahkan drive cache atau drive kapasitas secara independen, kapan pun Anda mau.

Diagram animasi menunjukkan dua drive cache NVMe yang secara dinamis memetakan ke empat drive kapasitas, kemudian enam, lalu delapan.

Sebaiknya buat jumlah drive kapasitas sebagai kelipatan dari jumlah drive cache, untuk simetri. Misalnya, jika Anda memiliki 4 drive cache, Anda mengalami performa yang lebih merata dengan 8 drive kapasitas (rasio 1:2) daripada dengan 7 atau 9.

Menangani kegagalan drive cache

Ketika drive cache gagal, setiap penulisan yang belum didestagasi hilang ke server lokal, yang berarti mereka hanya ada di salinan lain (di server lain). Sama seperti setelah kegagalan drive lainnya, Storage Spaces dapat pulih secara otomatis dengan memanfaatkan salinan yang masih ada.

Untuk periode singkat, drive kapasitas yang terikat ke drive cache yang hilang tampak tidak sehat. Setelah pengikatan ulang cache terjadi (otomatis) dan perbaikan data telah selesai (otomatis), mereka melanjutkan menunjukkan sebagai sehat.

Skenario inilah sebabnya mengapa minimal dua drive cache diperlukan per server untuk mempertahankan performa.

Diagram animasi menunjukkan dua drive cache SSD yang dipetakan ke enam drive kapasitas sampai salah satu drive cache gagal, mengakibatkan semua enam drive kapasitas dipetakan ke drive cache yang tersisa.

Anda kemudian dapat mengganti drive cache sama seperti penggantian drive lainnya.

Note

Anda mungkin perlu mematikan daya untuk mengganti NVMe dengan aman yang merupakan bentuk kartu Add-In (AIC) atau M.2.

Hubungan dengan cache lain

Ada beberapa cache lain yang tidak terkait di tumpukan penyimpanan yang ditentukan perangkat lunak Windows. Contohnya termasuk cache tulis-balik Ruang Penyimpanan dan cache baca dalam-memori Cluster Shared Volume (CSV).

Dengan Azure Local, cache write-back Storage Spaces tidak boleh dimodifikasi dari perilaku defaultnya. Misalnya, parameter seperti -WriteCacheSize pada cmdlet New-Volume tidak boleh digunakan.

Anda dapat memilih untuk menggunakan cache CSV, atau tidak - terserah Anda. Ini aktif secara default di Azure Local, tetapi tidak bertentangan dengan cache yang dijelaskan dalam topik ini dengan cara apa pun. Dalam skenario tertentu dapat memberikan keuntungan performa yang berharga. Untuk informasi selengkapnya, lihat Menggunakan cache baca dalam memori CSV dengan Azure Local.

Konfigurasi manual

Untuk sebagian besar penyebaran, konfigurasi manual tidak diperlukan. Jika Anda membutuhkannya, lihat bagian berikut.

Jika Anda perlu membuat perubahan pada model perangkat cache setelah penyiapan, edit Dokumen Komponen Dukungan Layanan Kesehatan, seperti yang dijelaskan dalam gambaran umum Layanan Kesehatan.

Tentukan model drive cache

Dalam penyebaran di mana semua drive memiliki jenis yang sama, seperti penyebaran all-NVMe atau all-SSD, tidak ada cache yang dikonfigurasi karena Windows tidak dapat membedakan karakteristik seperti daya tahan tulis secara otomatis di antara drive dengan jenis yang sama.

Untuk menggunakan drive ketahanan yang lebih tinggi ke cache untuk drive dengan daya tahan yang lebih rendah dengan jenis yang sama, Anda dapat menentukan model drive mana yang akan digunakan dengan parameter -CacheDeviceModel dari cmdlet Enable-ClusterS2D . Semua drive dari model tersebut digunakan untuk caching.

Tip

Pastikan untuk mencocokkan string model persis seperti yang muncul dalam output Get-PhysicalDisk.

Example

Pertama, dapatkan daftar disk fisik:

Get-PhysicalDisk | Group Model -NoElement

Berikut adalah beberapa contoh output:

Count Name
----- ----
    8 FABRIKAM NVME-1710
   16 CONTOSO NVME-1520

Kemudian masukkan perintah berikut, menentukan model perangkat cache:

Enable-ClusterS2D -CacheDeviceModel "FABRIKAM NVME-1710"

Anda dapat memverifikasi bahwa drive yang Anda maksudkan digunakan untuk penembolokan dengan menjalankan Get-PhysicalDisk di PowerShell dan memverifikasi bahwa properti Penggunaan mereka bertuliskan "Jurnal".

Kemungkinan penyebaran manual

Konfigurasi manual memungkinkan kemungkinan penyebaran berikut:

Diagram menunjukkan kemungkinan penyebaran, termasuk NVMe untuk cache dan kapasitas, SSD untuk cache dan kapasitas, dan SSD untuk cache serta SSD dan HDD campuran untuk kapasitas.

Mengatur perilaku cache

Dimungkinkan untuk mengubah perilaku bawaan cache. Misalnya, Anda dapat mengaturnya untuk melakukan cache pada pembacaan bahkan dalam penyebaran berbasis all-flash. Kami mencegah memodifikasi perilaku kecuali Anda yakin defaultnya tidak sesuai dengan beban kerja Anda.

Untuk mengambil alih perilaku, gunakan cmdlet Set-ClusterStorageSpacesDirect dan parameter -CacheModeSSD dan -CacheModeHDD . Parameter CacheModeSSD mengatur perilaku cache saat penembolokan untuk SSD. Parameter CacheModeHDD mengatur perilaku cache saat penembolokan untuk HDD.

Anda dapat menggunakan Get-ClusterStorageSpacesDirect untuk memverifikasi perilaku diatur.

Example

Pertama, dapatkan pengaturan Storage Spaces Direct:

Get-ClusterStorageSpacesDirect

Berikut adalah beberapa contoh output:

CacheModeHDD : ReadWrite
CacheModeSSD : WriteOnly

Kemudian, lakukan hal berikut:

Set-ClusterStorageSpacesDirect -CacheModeSSD ReadWrite

Get-ClusterS2D

Berikut adalah beberapa contoh output:

CacheModeHDD : ReadWrite
CacheModeSSD : ReadWrite

Mengukur cache

Cache harus diatur ukurannya untuk mengakomodasi set kerja (data yang sedang dibaca atau ditulis secara aktif pada waktu tertentu) dari aplikasi dan beban kerja Anda.

Ini sangat penting dalam penyebaran hibrid dengan hard disk drive. Jika set kerja aktif melebihi ukuran cache, atau jika set kerja aktif beralih terlalu cepat, cache baca yang terlewat meningkat dan penulisan perlu dikeluarkan lebih agresif, mengganggu performa keseluruhan.

Anda dapat menggunakan utilitas Monitor Performa (PerfMon.exe) bawaan di Windows untuk memeriksa tingkat ketinggalan cache. Secara khusus, Anda dapat membandingkan Cache Miss Reads/detik dari penghitung Cluster Storage Hybrid Disk yang diatur ke IOPS baca keseluruhan penyebaran Anda. Setiap "Disk Hibrid" sesuai dengan satu drive kapasitas.

Misalnya, 2 drive cache yang terikat ke 4 drive kapasitas menghasilkan 4 instans objek "Disk Hibrid" per server.

Performance-Monitor.

Tidak ada aturan universal, tetapi jika terlalu banyak bacaan yang tidak memiliki cache, itu mungkin berukuran kecil dan Anda harus mempertimbangkan untuk menambahkan drive cache untuk memperluas cache Anda. Anda dapat menambahkan drive cache atau drive kapasitas secara independen kapan pun Anda inginkan.

Langkah selanjutnya

Untuk pengetahuan penyimpanan tambahan, lihat juga: