Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Teknologi untuk meningkatkan prestasi berdasarkan penggunaan SSD dan digunakan secara meluas dalam sistem storan telah lama dicipta. Pertama sekali, ia adalah penggunaan SSD sebagai ruang penyimpanan, yang 100% berkesan, tetapi mahal. Oleh itu, teknologi yang memenatkan dan caching digunakan, di mana SSD digunakan hanya untuk data (β€œpanas”) yang paling popular. Pemeringkatan adalah baik untuk senario penggunaan jangka panjang (hari-minggu) data "panas". Caching, sebaliknya, adalah untuk penggunaan jangka pendek (minit-jam). Kedua-dua pilihan ini dilaksanakan dalam sistem storan QSAN XCubeSAN. Dalam artikel ini kita akan melihat pelaksanaan algoritma kedua - Caching SSD.

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Intipati teknologi caching SSD ialah penggunaan SSD sebagai cache perantaraan antara cakera keras dan RAM pengawal. Prestasi SSD, sudah tentu, lebih rendah daripada prestasi cache pengawal sendiri, tetapi volumnya adalah susunan magnitud yang lebih tinggi. Oleh itu, kami mendapat kompromi tertentu antara kelajuan dan kelantangan.

Petunjuk untuk menggunakan cache SSD untuk membaca:

  • Keutamaan operasi baca berbanding operasi tulis (paling kerap tipikal untuk pangkalan data dan aplikasi web);
  • Kehadiran kesesakan dalam bentuk prestasi tatasusunan cakera keras;
  • Jumlah data yang diperlukan adalah kurang daripada saiz cache SSD.

Petunjuk untuk menggunakan cache SSD baca+tulis adalah sama, kecuali untuk sifat operasi – jenis campuran (contohnya, pelayan fail).

Kebanyakan vendor storan menggunakan cache SSD baca sahaja dalam produk mereka. Perbezaan asas QSAN Mereka menyediakan keupayaan untuk menggunakan cache untuk menulis juga. Untuk mengaktifkan fungsi caching SSD dalam sistem storan QSAN, anda mesti membeli lesen berasingan (dibekalkan secara elektronik).

Cache SSD dalam XCubeSAN dilaksanakan secara fizikal dalam bentuk kumpulan cache SSD berasingan. Terdapat sehingga empat daripadanya dalam sistem. Setiap kumpulan, sudah tentu, menggunakan set SSD sendiri. Dan sudah dalam sifat cakera maya kita menentukan sama ada ia akan menggunakan kolam cache dan yang mana. Mendayakan dan melumpuhkan penggunaan cache untuk volum boleh dilakukan dalam talian tanpa menghentikan I/O. Anda juga boleh menambah SSD ke kolam dan mengeluarkannya dari sana. Apabila membuat cache pool SSD, anda perlu memilih mod yang akan beroperasi dalam: baca sahaja atau baca+tulis. Organisasi fizikalnya bergantung pada ini. Memandangkan terdapat beberapa kumpulan cache, fungsinya mungkin berbeza (iaitu, sistem boleh mempunyai kedua-dua kumpulan cache baca dan baca+tulis pada masa yang sama).

Jika kumpulan cache baca sahaja digunakan, ia boleh terdiri daripada 1-8 SSD. Cakera tidak perlu mempunyai kapasiti yang sama dan vendor yang sama, kerana ia digabungkan ke dalam struktur NRAID+. Semua SSD dalam kolam dikongsi. Sistem secara bebas cuba menyelaraskan permintaan masuk antara semua SSD untuk mencapai prestasi maksimum. Jika salah satu SSD gagal, tiada perkara buruk akan berlaku: lagipun, cache hanya mengandungi salinan data yang disimpan pada tatasusunan cakera keras. Cuma jumlah cache SSD yang tersedia akan berkurangan (atau menjadi sifar jika menggunakan cache SSD asal dari satu pemacu).

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Jika cache digunakan untuk operasi baca + tulis, maka bilangan SSD dalam kumpulan hendaklah gandaan dua, kerana kandungannya dicerminkan pada pasangan pemacu (struktur NRAID 1+ digunakan). Penduaan cache adalah perlu kerana ia mungkin mengandungi data yang belum ditulis ke cakera keras. Dan dalam kes ini, kegagalan SSD daripada kumpulan cache akan menyebabkan kehilangan maklumat. Dalam kes NRAID 1+, kegagalan SSD hanya akan menyebabkan cache dipindahkan ke keadaan baca sahaja, dengan data tidak bertulis dibuang ke tatasusunan cakera keras. Selepas menggantikan SSD yang rosak, cache akan kembali ke mod operasi asalnya. Ngomong-ngomong, untuk keselamatan yang lebih baik, anda boleh menetapkan alat ganti panas khusus kepada cache baca + tulis.

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Apabila menggunakan fungsi caching SSD dalam XCubeSAN, terdapat beberapa keperluan untuk jumlah memori pengawal storan: lebih banyak memori sistem, lebih besar kumpulan cache akan tersedia.

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Tidak seperti kebanyakan pengeluar sistem storan, yang hanya menawarkan pilihan untuk menghidupkan/mematikan cache SSD, QSAN menyediakan lebih banyak pilihan. Khususnya, anda boleh memilih mod operasi cache bergantung pada sifat beban. Terdapat tiga templat pratetap yang paling hampir dalam operasinya dengan perkhidmatan yang sepadan: pangkalan data, sistem fail, perkhidmatan web. Di samping itu, pentadbir boleh membuat profilnya sendiri dengan menetapkan nilai parameter yang diperlukan:

  • Saiz blok (Saiz Blok Cache) – 1/2/4 MB
  • Bilangan permintaan untuk membaca blok supaya ia disalin ke cache (Populate-on-Read Threshold) – 1..4
  • Bilangan permintaan untuk menulis blok supaya ia disalin ke cache (Populate-on-Write Threshold) – 0..4

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Profil boleh ditukar dengan cepat, tetapi, sudah tentu, dengan kandungan tetapan semula cache dan "pemanasan" baharunya.

Memandangkan prinsip operasi cache SSD, kami boleh menyerlahkan operasi utama apabila bekerja dengannya:

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Membaca data apabila ia tiada dalam cache

  1. Permintaan daripada hos tiba di pengawal;
  2. Memandangkan yang diminta tiada dalam cache SSD, ia dibaca dari pemacu keras;
  3. Data yang dibaca dihantar kepada hos. Pada masa yang sama, semakan dibuat untuk melihat sama ada blok ini "panas";
  4. Jika ya, maka ia disalin ke cache SSD untuk kegunaan selanjutnya.

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Baca data apabila ia terdapat dalam cache

  1. Permintaan daripada hos tiba di pengawal;
  2. Memandangkan data yang diminta berada dalam cache SSD, ia dibaca dari sana;
  3. Data yang dibaca dihantar kepada hos.

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Menulis data apabila menggunakan cache baca

  1. Permintaan tulis daripada hos tiba di pengawal;
  2. Data ditulis ke cakera keras;
  3. Respons yang menunjukkan rakaman berjaya dikembalikan kepada hos;
  4. Pada masa yang sama, ia diperiksa sama ada blok itu "panas" (parameter Ambang Populasi-pada-Tulis dibandingkan). Jika ya, maka ia disalin ke cache SSD untuk kegunaan kemudian.

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Menulis data apabila menggunakan cache baca+tulis

  1. Permintaan tulis daripada hos tiba di pengawal;
  2. Data ditulis ke cache SSD;
  3. Respons yang menunjukkan rakaman berjaya dikembalikan kepada hos;
  4. Data daripada cache SSD ditulis pada pemacu keras di latar belakang;

Daftar masuk tindakan

Tempat ujian

2 pelayan (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) disambungkan oleh dua port melalui Fiber Channel 16G terus ke sistem storan XCubeSAN XS5224D (16GB RAM/pengawal).

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

2 jilid telah dicipta: satu untuk setiap pelayan.

Ujian 1. Cache SSD baca sahaja daripada 1-8 SSD

Cache SSD

  • Jenis I/O: Penyesuaian
  • Saiz Blok Cache: 4MB
  • Isi-pada-baca Ambang: 1
  • Isi-atas-tulis Ambang: 0

Corak I/O

  • Alat: IOmeter V1.1.0
  • Pekerja: 1
  • Cemerlang (Kedalaman Baris Gilir): 128
  • Spesifikasi Akses: 4KB, 100% Baca, 100% Rawak

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Secara teori, lebih banyak SSD dalam kumpulan cache, lebih tinggi prestasinya. Dalam amalan, ini telah disahkan. Satu-satunya peningkatan ketara dalam bilangan SSD dengan bilangan volum yang kecil tidak membawa kepada kesan letupan.

Uji 2. Cache SSD dalam mod baca + tulis dengan 2-8 SSD

Cache SSD

  • Jenis I/O: Penyesuaian
  • Saiz Blok Cache: 4MB
  • Isi-pada-baca Ambang: 1
  • Isi-atas-tulis Ambang: 1

Corak I/O

  • Alat: IOmeter V1.1.0
  • Pekerja: 1
  • Cemerlang (Kedalaman Baris Gilir): 128
  • Spesifikasi Akses: 4KB, 100% Tulis, 100% Rawak

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Hasil yang sama: pertumbuhan prestasi yang meletup dan penskalaan apabila bilangan SSD bertambah.

Dalam kedua-dua ujian, jumlah data yang berfungsi adalah kurang daripada jumlah saiz cache. Oleh itu, dari masa ke masa, semua blok telah disalin ke cache. Dan kerja itu, sebenarnya, telah dijalankan dengan SSD, secara praktikal tanpa menjejaskan cakera keras. Tujuan ujian ini adalah untuk menunjukkan dengan jelas keberkesanan memanaskan cache dan menskalakan prestasinya bergantung pada bilangan SSD.

Sekarang mari kita kembali ke bumi dan semak situasi yang lebih realistik, apabila jumlah data lebih besar daripada saiz cache. Agar ujian lulus dalam tempoh masa yang munasabah (tempoh "memanaskan badan" cache meningkat dengan pesat apabila saiz volum meningkat), kami akan mengehadkan saiz volum kepada 120GB.

Ujian 3. Emulasi pangkalan data

Cache SSD

  • Jenis I/O: Pangkalan Data
  • Saiz Blok Cache: 1MB
  • Isi-pada-baca Ambang: 2
  • Isi-atas-tulis Ambang: 1

Corak I/O

  • Alat: IOmeter V1.1.0
  • Pekerja: 1
  • Cemerlang (Kedalaman Baris Gilir): 128
  • Spesifikasi Akses: 8KB, 67% Baca, 100% Rawak

Pelaksanaan caching SSD dalam sistem storan QSAN XCubeSAN

Keputusan

Kesimpulan yang jelas, sudah tentu, adalah kecekapan yang baik menggunakan cache SSD untuk meningkatkan prestasi mana-mana sistem storan. Digunakan untuk QSAN XCubeSAN Kenyataan ini terpakai sepenuhnya: fungsi caching SSD dilaksanakan dengan sempurna. Ini melibatkan sokongan untuk mod baca dan baca + tulis, tetapan fleksibel untuk sebarang senario penggunaan, serta prestasi keseluruhan sistem secara keseluruhan. Oleh itu, untuk kos yang sangat berpatutan (harga lesen adalah setanding dengan kos 1-2 SSD), anda boleh meningkatkan prestasi keseluruhan dengan ketara.

Sumber: www.habr.com

Tambah komen