Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Teknologi untuk meningkatkan kinerja berdasarkan penggunaan SSD dan banyak digunakan dalam sistem penyimpanan telah lama ditemukan. Pertama-tama, penggunaan SSD sebagai ruang penyimpanan, yang 100% efektif, tetapi mahal. Oleh karena itu, teknologi melelahkan dan caching digunakan, di mana SSD hanya digunakan untuk data (“panas”) yang paling populer. Tiering cocok untuk skenario penggunaan data “panas” dalam jangka panjang (hari-minggu). Sebaliknya, caching ditujukan untuk penggunaan jangka pendek (menit-jam). Kedua opsi ini diterapkan dalam sistem penyimpanan QSAN XCubeSAN. Pada artikel ini kita akan melihat implementasi algoritma kedua - cache SSD.

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Inti dari teknologi caching SSD adalah penggunaan SSD sebagai cache perantara antara hard drive dan RAM pengontrol. Kinerja SSD, tentu saja, lebih rendah daripada kinerja cache pengontrol itu sendiri, tetapi volumenya jauh lebih tinggi. Oleh karena itu, kami mendapatkan kompromi tertentu antara kecepatan dan volume.

Indikasi menggunakan cache SSD untuk membaca:

  • Dominasi operasi baca dibandingkan operasi tulis (paling sering terjadi pada database dan aplikasi web);
  • Adanya hambatan berupa kinerja susunan harddisk;
  • Jumlah data yang dibutuhkan lebih kecil dari ukuran cache SSD.

Indikasi untuk menggunakan cache SSD baca+tulis adalah sama, kecuali sifat operasinya – tipe campuran (misalnya, server file).

Sebagian besar vendor penyimpanan menggunakan cache SSD read-only di produk mereka. Perbedaan mendasar QSAN Mereka juga menyediakan kemampuan untuk menggunakan cache untuk menulis. Untuk mengaktifkan fungsionalitas caching SSD di sistem penyimpanan QSAN, Anda harus membeli lisensi terpisah (disediakan secara elektronik).

Cache SSD di XCubeSAN diimplementasikan secara fisik dalam bentuk kumpulan cache SSD terpisah. Mungkin ada hingga empat di antaranya dalam sistem. Setiap kumpulan, tentu saja, menggunakan rangkaian SSDnya sendiri. Dan sudah di properti disk virtual kita menentukan apakah akan menggunakan kumpulan cache dan yang mana. Mengaktifkan dan menonaktifkan penggunaan cache untuk volume dapat dilakukan secara online tanpa menghentikan I/O. Anda juga dapat menambahkan SSD ke kumpulan dan menghapusnya dari sana. Saat membuat cache kumpulan SSD, Anda harus memilih mode operasinya: baca-saja atau baca+tulis. Organisasi fisiknya bergantung pada hal ini. Karena terdapat beberapa kumpulan cache, fungsinya dapat berbeda (yaitu, sistem dapat memiliki kumpulan cache baca dan tulis pada saat yang bersamaan).

Jika kumpulan cache read-only digunakan, maka dapat terdiri dari 1-8 SSD. Disk tidak harus memiliki kapasitas dan vendor yang sama, karena disk tersebut digabungkan ke dalam struktur NRAID+. Semua SSD di kumpulan dibagikan. Sistem secara mandiri mencoba memparalelkan permintaan masuk antara semua SSD untuk mencapai kinerja maksimal. Jika salah satu SSD gagal, tidak ada hal buruk yang akan terjadi: lagi pula, cache hanya berisi salinan data yang disimpan di array hard drive. Hanya saja jumlah cache SSD yang tersedia akan berkurang (atau menjadi nol jika menggunakan cache SSD asli dari satu drive).

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Jika cache digunakan untuk operasi baca + tulis, maka jumlah SSD dalam kumpulan harus kelipatan dua, karena kontennya dicerminkan pada pasangan drive (struktur NRAID 1+ digunakan). Menduplikasi cache diperlukan karena mungkin berisi data yang belum ditulis ke hard drive. Dan dalam kasus ini, kegagalan SSD dari kumpulan cache akan menyebabkan hilangnya informasi. Dalam kasus NRAID 1+, kegagalan SSD hanya akan menyebabkan cache dipindahkan ke status hanya-baca, dengan data tidak tertulis dibuang ke susunan hard drive. Setelah mengganti SSD yang rusak, cache akan kembali ke mode operasi aslinya. Omong-omong, untuk keamanan yang lebih baik, Anda dapat menetapkan hot spare khusus ke cache baca + tulis.

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Saat menggunakan fungsi caching SSD di XCubeSAN, ada sejumlah persyaratan untuk jumlah memori pengontrol penyimpanan: semakin banyak memori sistem, semakin besar kumpulan cache yang tersedia.

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Berbeda dengan kebanyakan produsen sistem penyimpanan yang hanya menawarkan opsi untuk menghidupkan/mematikan cache SSD, QSAN memberikan lebih banyak opsi. Secara khusus, Anda dapat memilih mode operasi cache tergantung pada sifat bebannya. Ada tiga templat preset yang paling dekat pengoperasiannya dengan layanan terkait: database, sistem file, layanan web. Selain itu, administrator dapat membuat profilnya sendiri dengan mengatur nilai parameter yang diperlukan:

  • Ukuran blok (Ukuran Blok Cache) – 1/2/4 MB
  • Jumlah permintaan untuk membaca blok sehingga disalin ke cache (Ambang Batas Populate-on-Read) – 1..4
  • Jumlah permintaan untuk menulis blok sehingga disalin ke cache (Ambang Batas Populate-on-Write) – 0..4

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Profil dapat diubah dengan cepat, tetapi, tentu saja, dengan isi ulang cache dan “pemanasan” barunya.

Mengingat prinsip pengoperasian cache SSD, kami dapat menyoroti operasi utama saat bekerja dengannya:

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Membaca data saat tidak ada dalam cache

  1. Permintaan dari tuan rumah tiba di pengontrol;
  2. Karena yang diminta tidak ada dalam cache SSD, maka dibaca dari hard drive;
  3. Data yang dibaca dikirim ke host. Pada saat yang sama, pemeriksaan dilakukan untuk melihat apakah blok-blok ini “panas”;
  4. Jika ya, maka mereka disalin ke cache SSD untuk digunakan lebih lanjut.

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Membaca data saat ada di cache

  1. Permintaan dari tuan rumah tiba di pengontrol;
  2. Karena data yang diminta ada dalam cache SSD, data tersebut dibaca dari sana;
  3. Data yang dibaca dikirim ke host.

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Menulis data saat menggunakan cache baca

  1. Permintaan tulis dari host tiba di pengontrol;
  2. Data ditulis ke hard drive;
  3. Respons yang menunjukkan rekaman berhasil dikembalikan ke host;
  4. Pada saat yang sama, diperiksa apakah blok tersebut “panas” (parameter Populate-on-Write Threshold dibandingkan). Jika ya, maka itu disalin ke cache SSD untuk digunakan nanti.

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Menulis data saat menggunakan cache baca+tulis

  1. Permintaan tulis dari host tiba di pengontrol;
  2. Data ditulis ke cache SSD;
  3. Respons yang menunjukkan rekaman berhasil dikembalikan ke host;
  4. Data dari cache SSD ditulis ke hard drive di latar belakang;

Periksa dalam tindakan

Tempat uji coba

2 server (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) dihubungkan melalui dua port melalui Fibre Channel 16G langsung ke sistem penyimpanan XCubeSAN XS5224D (RAM/pengontrol 16GB).

Kami menggunakan 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, digabungkan dalam RAID5 (15+1), untuk susunan data dan 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SAS 12Gb/s sebagai cache

2 volume dibuat: satu untuk setiap server.

Pengujian 1. Cache SSD hanya-baca dari 1-8 SSD

Tembolok SSD

  • Tipe I/O: Kustomisasi
  • Ukuran Blok Cache: 4MB
  • Ambang Batas Populasi saat dibaca: 1
  • Ambang Batas Isi-saat-tulis: 0

Pola I/O

  • Alat: IOmeter V1.1.0
  • Pekerja: 1
  • Luar Biasa (Kedalaman Antrian): 128
  • Spesifikasi Akses: 4KB, 100% Baca, 100% Acak

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Secara teori, semakin banyak SSD dalam kumpulan cache, semakin tinggi kinerjanya. Dalam praktiknya, hal ini telah dikonfirmasi. Satu-satunya peningkatan signifikan dalam jumlah SSD dengan jumlah volume yang kecil tidak menimbulkan efek ledakan.

Tes 2. Cache SSD dalam mode baca + tulis dengan 2-8 SSD

Tembolok SSD

  • Tipe I/O: Kustomisasi
  • Ukuran Blok Cache: 4MB
  • Ambang Batas Populasi saat dibaca: 1
  • Ambang Batas Isi-saat-tulis: 1

Pola I/O

  • Alat: IOmeter V1.1.0
  • Pekerja: 1
  • Luar Biasa (Kedalaman Antrian): 128
  • Spesifikasi Akses: 4KB, 100% Tulis, 100% Acak

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Hasil yang sama: pertumbuhan dan penskalaan kinerja yang eksplosif seiring dengan meningkatnya jumlah SSD.

Dalam kedua pengujian, jumlah data yang berfungsi kurang dari total ukuran cache. Oleh karena itu, seiring waktu, semua blok disalin ke cache. Dan pekerjaan tersebut, pada kenyataannya, sudah dilakukan dengan SSD, praktis tanpa mempengaruhi hard drive. Tujuan dari pengujian ini adalah untuk menunjukkan dengan jelas keefektifan pemanasan cache dan meningkatkan kinerjanya tergantung pada jumlah SSD.

Sekarang mari kita kembali ke bumi dan memeriksa situasi yang lebih realistis, ketika jumlah data lebih besar dari ukuran cache. Agar pengujian dapat lulus dalam jangka waktu yang wajar (periode "pemanasan" cache meningkat pesat seiring dengan peningkatan ukuran volume), kami akan membatasi ukuran volume hingga 120 GB.

Tes 3. Emulasi basis data

Tembolok SSD

  • Tipe I/O: Basis Data
  • Ukuran Blok Cache: 1MB
  • Ambang Batas Populasi saat dibaca: 2
  • Ambang Batas Isi-saat-tulis: 1

Pola I/O

  • Alat: IOmeter V1.1.0
  • Pekerja: 1
  • Luar Biasa (Kedalaman Antrian): 128
  • Spesifikasi Akses: 8KB, 67% Baca, 100% Acak

Implementasi caching SSD di sistem penyimpanan QSAN XCubeSAN

Putusan

Kesimpulan yang jelas, tentu saja, adalah efisiensi yang baik dalam menggunakan cache SSD untuk meningkatkan kinerja sistem penyimpanan apa pun. Diaplikasikan ke QSAN XCubeSAN Pernyataan ini sepenuhnya berlaku: fungsi caching SSD diterapkan dengan sempurna. Ini menyangkut dukungan untuk mode baca dan baca + tulis, pengaturan fleksibel untuk skenario penggunaan apa pun, serta kinerja sistem secara keseluruhan. Oleh karena itu, dengan biaya yang sangat wajar (harga lisensi sebanding dengan biaya 1-2 SSD), Anda dapat meningkatkan kinerja keseluruhan secara signifikan.

Sumber: www.habr.com

Tambah komentar