VP CEPAT dalam Penyimpanan Persatuan: Cara Kerja

Hari ini kita akan berbicara tentang teknologi menarik yang diimplementasikan dalam sistem penyimpanan Unity / Unity XT - FAST VP. Jika Anda pertama kali mendengar tentang Unity, maka tautan di akhir artikel Anda bisa berkenalan dengan karakteristik sistem. Sebagai bagian dari tim proyek Dell EMC, saya telah bekerja pada FAST VP selama lebih dari setahun. Hari ini saya ingin berbicara lebih banyak tentang teknologi ini dan mengungkapkan beberapa detail penerapannya. Tentu saja, hanya mereka yang diizinkan untuk mengungkapkan. Jika Anda tertarik pada masalah penyimpanan data yang efisien atau hanya belum menemukan dokumentasi, maka artikel ini pasti akan berguna dan menarik.



Saya harus segera mengatakan tentang apa yang tidak akan ada dalam materi. Tidak akan ada pencarian pesaing dan perbandingan dengan mereka. Saya juga tidak berencana untuk berbicara tentang teknologi serupa dari open source, karena pembaca yang penasaran sudah tahu tentang mereka. Dan, tentu saja, saya tidak akan mengiklankan apa pun.

Tingkat Penyimpanan. Sasaran dan sasaran VP FAST


FAST VP adalah singkatan dari Tiering Storage Sepenuhnya Otomatis untuk Virtual Pool. Apakah ini rumit? Tidak ada, sekarang kita akan mengetahuinya. Tiering adalah cara mengatur penyimpanan data, di mana ada beberapa tingkatan (tingkatan) di mana data ini disimpan. Masing-masing memiliki karakteristik sendiri. Yang paling penting: kinerja, volume dan harga penyimpanan satu unit informasi. Tentu saja ada hubungan di antara mereka.

Fitur penting dari tiering adalah bahwa akses ke data disediakan secara seragam, terlepas dari tingkat penyimpanan mereka saat ini, dan ukuran kumpulan sama dengan jumlah ukuran sumber daya yang termasuk di dalamnya. Di sinilah letak perbedaan dari cache: ukuran cache tidak ditambahkan ke jumlah total sumber daya (kumpulan dalam kasus ini), dan data cache akan menduplikasi sebagian data pada media utama (atau akan menggandakan jika data dari cache belum ditulis). Juga, distribusi data berdasarkan level disembunyikan dari pengguna. Artinya, dia tidak melihat data seperti apa yang terletak di setiap level, meskipun dia dapat mempengaruhinya secara tidak langsung dengan menetapkan kebijakan (tentang mereka nanti).

Sekarang mari kita lihat fitur implementasi tiering penyimpanan di Unity. Unity membedakan 3 level, atau tier'a:

  • Kinerja ekstrem (SSD)
  • Kinerja (SAS HDD 10k / 15k RPM)
  • Kapasitas (NL-SAS HDD 7200 RPM)

Mereka disajikan dalam urutan penurunan kinerja dan harga. Kinerja ekstrem termasuk solid state drive (SSD) secara eksklusif. Dalam dua tier'a - disk drive magnetik lainnya, berbeda dalam kecepatan rotasi dan, karenanya, kinerja.

Media penyimpanan dari satu tingkat dan satu ukuran digabungkan ke dalam array RAID, membentuk grup RAID (kelompok RAID, singkatnya - RG); level RAID yang tersedia dan direkomendasikan dapat ditemukan dalam dokumentasi resmi. Dari grup RAID dari satu atau beberapa level, kumpulan penyimpanan dibentuk, dari mana ruang kosong kemudian dialokasikan. Dan sudah dari ruang kolam dialokasikan untuk sistem file dan LUN.



Mengapa saya membutuhkan Tiering?


Singkatnya dan abstrak: untuk mencapai hasil yang lebih besar, menggunakan sumber daya minimum. Lebih khusus, hasilnya biasanya dipahami sebagai seperangkat karakteristik sistem penyimpanan - kecepatan dan waktu akses, biaya penyimpanan, dan lain-lain. Dengan sumber daya minimum berarti biaya paling rendah: uang, energi, dan sebagainya. FAST VP hanya mengimplementasikan mekanisme redistribusi data pada tingkat yang berbeda dalam sistem penyimpanan Unity / Unity XT. Jika Anda percaya kepada saya, Anda dapat melewati paragraf berikutnya. Untuk sisanya saya akan memberi tahu Anda lebih banyak.

Distribusi data menurut tingkat penyimpanan yang benar memungkinkan Anda menghemat total biaya penyimpanan dengan mengorbankan kecepatan akses ke beberapa informasi yang jarang digunakan, dan meningkatkan produktivitas dengan memindahkan data yang sering digunakan ke media penyimpanan yang lebih cepat. Di sini seseorang mungkin berpendapat bahwa bahkan tanpa tiering, administrator normal tahu di mana harus meletakkan data apa, karakteristik sistem penyimpanan yang diinginkan untuk tugasnya, dll. Ini tidak diragukan lagi benar, tetapi distribusi data manual memiliki kekurangan:

  • Butuh waktu dan perhatian dari administrator;
  • Tidak selalu mungkin untuk "menggambar ulang" sumber daya penyimpanan untuk mengubah kondisi;
  • keuntungan penting menghilang: akses terpadu ke sumber daya yang terletak di tingkat penyimpanan yang berbeda.

Untuk membuat administrator penyimpanan kurang khawatir tentang keamanan pekerjaan, saya akan menambahkan bahwa perencanaan sumber daya yang kompeten juga diperlukan. Sekarang tugas tiering dijelaskan secara singkat, mari kita lihat apa yang dapat Anda harapkan dari FAST VP. Inilah saatnya untuk kembali ke definisi. Dua kata pertama - Otomatis Penuh - secara harfiah diterjemahkan sebagai "sepenuhnya otomatis" dan berarti bahwa distribusi level terjadi secara otomatis. Well, Virtual Pool adalah kumpulan data yang mencakup sumber daya dari tingkat penyimpanan yang berbeda. Begini tampilannya:

gambar

Ke depan, saya akan mengatakan bahwa FAST VP hanya memindahkan data dalam satu kumpulan, dan bukan antara beberapa kumpulan.

Tugas menyelesaikan VP CEPAT


Mari kita bicara secara abstrak terlebih dahulu. Kami memiliki kumpulan dan beberapa mekanisme yang dapat mendistribusikan kembali data di dalam kumpulan ini. Mengingat bahwa tugas kita adalah mencapai kinerja maksimal, kita bertanya pada diri sendiri: dengan cara apa hal itu dapat dicapai? Mungkin ada beberapa di antaranya, dan di sini FAST VP menawarkan sesuatu kepada pengguna, karena teknologinya lebih dari sekadar penyimpanan tingkat. Berikut adalah beberapa cara FAST VP dapat meningkatkan kinerja kumpulan:

  • Distribusi data dengan berbagai jenis disk, level
  • Mendistribusikan data di antara drive dari jenis yang sama
  • Distribusi data ekspansi kumpulan

Sebelum menganalisis bagaimana tugas-tugas ini diselesaikan, kita perlu mengetahui beberapa fakta yang diperlukan tentang pekerjaan FAST VP. FAST VP beroperasi dengan blok dengan ukuran tertentu - 256 megabita. Ini adalah "potongan" kontinyu terkecil dari data yang dapat dipindahkan. Disebut dalam dokumentasi: slice. Dari sudut pandang FAST VP, semua grup RAID terdiri dari sekumpulan “keping”. Dengan demikian, semua statistik I / O diakumulasikan untuk blok data tersebut. Mengapa ukuran blok ini dipilih dan apakah akan dikurangi? Blok ini cukup besar, tetapi ini adalah kompromi antara granularitas data (ukuran blok lebih kecil - lebih tepatnya distribusi) dan sumber daya komputasi yang tersedia: di bawah pembatasan ketat pada RAM dan sejumlah besar blok, statistik ini dapat mengambil terlalu banyak, dan jumlah perhitungan akan meningkat secara proporsional.

Bagaimana FAST VP menempatkan data dalam kumpulan. Politisi


Untuk mengontrol penempatan data dalam kumpulan dengan FAST VP diaktifkan, kebijakan berikut ada:

  • Tingkat Tertinggi Yang Tersedia
  • Tingkat otomatis
  • Mulai Tinggi lalu Auto-Tier (default)
  • Tingkat Tersedia Terendah

Mereka mempengaruhi penempatan awal blok (data pertama kali direkam) dan redistribusi berikutnya. Ketika data sudah berada di disk, redistribusi akan dimulai sesuai dengan jadwal atau secara manual.

Tier Tertinggi Yang Tersedia mencoba untuk menempatkan blok baru pada level paling produktif. Dengan kurangnya ruang di atasnya - pada tingkat kinerja berikutnya, tetapi kemudian data dapat dipindahkan ke tingkat yang lebih produktif (jika ada ruang atau memadatkan data lain). Tier Otomatis menempatkan data baru pada level yang berbeda tergantung pada ukuran ruang yang tersedia, dan mereka didistribusikan kembali tergantung pada permintaan dan ruang kosong. Mulai Tinggi lalu Auto-Tier adalah kebijakan default dan juga disarankan. Pada penempatan awal, ini berfungsi sebagai Tingkat Tertinggi yang Tersedia, dan kemudian data dipindahkan tergantung pada statistik penggunaannya. Kebijakan Tingkat Terendah yang Tersedia berupaya menempatkan data pada tingkat yang paling tidak produktif.

Transfer data dilakukan dengan prioritas rendah sehingga tidak mengganggu pekerjaan sistem penyimpanan yang bermanfaat, namun ada pengaturan "Tingkat relokasi data" yang mengubah prioritas. Ada kekhasan: tidak semua blok data memiliki urutan redistribusi yang sama. Misalnya, blok yang ditandai sebagai metadata akan dipindahkan ke tingkat yang lebih cepat terlebih dahulu. Metadata, dengan kata lain, "data tentang data", beberapa informasi tambahan yang bukan data pengguna, tetapi menyimpan deskripsinya. Misalnya, informasi dalam sistem file tentang blok mana file tertentu berada. Ini berarti bahwa kecepatan akses ke data tergantung pada kecepatan akses ke metadata. Mengingat bahwa metadata biasanya berukuran jauh lebih kecil, lebih banyak diharapkan mendapat manfaat dari pindah ke disk yang lebih produktif.

Kriteria yang digunakan Fast VP dalam pekerjaan


Kriteria utama untuk setiap blok, jika sangat kasar, adalah karakteristik "permintaan" dari data, yang tergantung pada jumlah membaca dan menulis fragmen data. Karakteristik ini disebut "Temperatur". Ada data panas yang lebih panas dari yang tidak diklaim. Itu dihitung secara berkala, secara default dengan interval satu jam.

Fungsi perhitungan suhu memiliki sifat-sifat berikut:

  • Dengan tidak adanya I / O, data "mendingin" dari waktu ke waktu.
  • Dengan beban yang kurang lebih sama dalam waktu, suhu naik pertama dan kemudian stabil dalam kisaran tertentu.

Selanjutnya, kebijakan yang dijelaskan di atas dan ruang kosong di setiap tingkatan diperhitungkan. Untuk kejelasan, saya akan memberikan gambar dari dokumentasi. Di sini warna merah, kuning, dan biru menunjukkan masing-masing balok dengan suhu tinggi, sedang, dan rendah.

gambar

Tapi kembali ke tugas. Jadi, kita bisa mulai menganalisis apa yang sedang dilakukan untuk menyelesaikan masalah FAST VP.

A. Distribusi data dengan berbagai jenis disk, level


Sebenarnya, ini adalah tugas utama FAST VP. Selebihnya, dalam arti tertentu, berasal darinya. Bergantung pada kebijakan yang dipilih, data akan didistribusikan di berbagai tingkatan penyimpanan. Pertama-tama, kebijakan penempatan diperhitungkan, kemudian suhu blok dan ukuran / kecepatan kelompok RAID.

Untuk kebijakan Tier Tersedia Tertinggi / Terendah, semuanya cukup sederhana. Untuk dua lainnya, inilah masalahnya. Pada tingkat yang berbeda, data didistribusikan dengan mempertimbangkan ukuran dan kinerja kelompok RAID: sehingga rasio total "suhu" dari blok ke "kinerja maksimum bersyarat" dari masing-masing kelompok RAID kira-kira sama. Dengan demikian, beban didistribusikan lebih atau kurang merata. Lebih banyak data yang diminta ditransfer ke operator cepat, jarang digunakan - lebih lambat. Idealnya, distribusinya harus seperti ini:

gambar

B. Distribusi data antar disk dengan tipe yang sama


Ingat, pada awalnya saya menulis bahwa pembawa informasi dari satu atau beberapa tingkatan digabungkan menjadi satu kelompok? Dalam hal level tunggal untuk FAST VP, ada juga pekerjaan. Untuk memaksimalkan kinerja di tingkat mana pun, disarankan untuk mendistribusikan data secara merata di antara disk. Ini akan memungkinkan (secara teori) untuk mendapatkan jumlah maksimum IOPS. Data di dalam kelompok RAID dapat dianggap merata di seluruh disk, tetapi di antara kelompok-kelompok RAID ini jauh dari selalu demikian. Jika terjadi ketidakseimbangan, FAST VP akan memindahkan data antara kelompok RAID secara proporsional dengan ukuran dan "kinerja kondisional" (dalam istilah numerik). Untuk lebih jelasnya, saya akan menunjukkan skema penyeimbangan ulang di antara tiga kelompok RAID:

gambar

B. Distribusi data selama ekspansi kumpulan


Tugas ini adalah kasus khusus dari yang sebelumnya dan dilakukan ketika kelompok RAID ditambahkan ke kumpulan. Agar grup RAID yang baru ditambahkan tidak berdiam diri, bagian dari data akan ditransfer ke sana, yang berarti bahwa beban pada semua grup RAID akan didistribusikan kembali.

Levelling pemakaian SSD


Dengan perataan keausan, FAST VP dapat memperpanjang usia SSD, meskipun fitur ini tidak terkait langsung dengan Storage Tiering. Karena sudah ada data suhu, jumlah operasi penulisan juga diperhitungkan, kami dapat memindahkan blok data, logis bagi FAST VP untuk menyelesaikan masalah ini.

Jika jumlah catatan dalam satu kelompok RAID secara signifikan melebihi jumlah catatan di yang lain, maka FAST VP akan mendistribusikan kembali data sesuai dengan jumlah operasi penulisan. Di satu sisi, ini menghilangkan beban dan menghemat sumber daya dari beberapa disk, di sisi lain, ini menambah "bekerja" untuk yang kurang dimuat, meningkatkan kinerja secara keseluruhan.

Dengan demikian, FAST VP mengambil tugas tradisional Tiering Penyimpanan dan melakukan sedikit lebih dari itu. Semua ini memungkinkan Anda untuk secara efektif menyimpan data dalam keluarga sistem penyimpanan Unity.


  1. . best practices, . , , , . .
  2. FAST VP, . , . .
  3. . , Unity .
  4. , . , FAST VP . , . , 2.
  5. FAST VP, . RAID- , . «» . , «» , . , , , , . , FAST VP, .

Jika Anda memperhatikan produk ini dengan seksama, maka Anda dapat mencoba Unity dalam bisnis secara gratis dengan mengunduh alat virtual Unity VSA.



Di akhir artikel, saya membagikan beberapa tautan bermanfaat:


Kesimpulan


Saya ingin banyak menulis, tetapi saya mengerti bahwa tidak semua detail akan menarik bagi pembaca. Misalnya, Anda dapat memberi tahu secara lebih rinci tentang kriteria yang digunakan oleh FAST VP untuk mentransfer data, tentang proses analisis statistik I / O. Juga, topik interaksi dengan Dynamic Pools tidak terpengaruh sama sekali , dan ini menarik ke artikel terpisah. Anda bahkan dapat bermimpi tentang perkembangan teknologi ini. Saya harap itu tidak membosankan, dan saya tidak membuat Anda bosan. Sampai jumpa lagi!

All Articles