Bagaimana cara memilih angka K & M untuk Erasure Code?
Cara kerja kode penghapusan:
Parameter kode penghapusan Ceph K & M melibatkan efisiensi kapasitas yang dapat digunakan dan redundansi terhadap kegagalan perangkat keras. K adalah jumlah potongan data dan M adalah jumlah potongan kode. Ketika seorang klien menulis objek data ke cluster penyimpanan Ceph, objek data tersebut akan dibagi menjadi K potongan data yang berukuran sama. Ceph menggunakan potongan data untuk mengkodekan M potongan kode yang akan digunakan untuk menghitung potongan data yang hilang ketika perangkat keras gagal.
Potongan data dan potongan kode akan didistribusikan dan disimpan di domain kegagalan yang ditentukan oleh K+M. Jumlah maksimum potongan data yang dapat hilang adalah M domain kegagalan. Domain kegagalan yang tersedia tergantung pada bagaimana server penyimpanan dialokasikan dalam infrastruktur fisik. Untuk kluster Ceph skala kecil, kegagalan bisa terjadi pada disk atau host server. Domain kegagalan kluster skala lebih besar bisa berupa rak server, ruang server, atau pusat data, dll.
Objek data direkonstruksi dari potongan data ketika klien ingin membaca data tersebut.
Kinerja penyimpanan
Dibandingkan dengan algoritma replikasi data Ceph, pengkodean penghapusan biasanya memiliki efisiensi ruang yang lebih baik. Karena kode penghapusan memanfaatkan lebih banyak operasi I/O disk untuk menyelesaikan I/O data, ini kurang ramah terhadap beban kerja yang membutuhkan IOPS tinggi. Semakin besar jumlah K+M, semakin banyak sumber daya IOPS disk yang dikonsumsi oleh operasi I/O.
Saat menggunakan K yang lebih besar dan M yang lebih kecil, total jumlah byte data yang ditransfer di jaringan cluster Ceph akan lebih sedikit. Ini dapat meningkatkan kinerja throughput I/O dari objek data berukuran besar.
Efisiensi ruang
Efisiensi ruang yang dapat digunakan dari kumpulan kode penghapusan sama dengan K/(K+M). Sebagai contoh, efisiensi ruang dari kumpulan kode penghapusan K=4, M=2 adalah 4/6 = 66,7%. Ini dua kali lebih efisien dibandingkan dengan kumpulan replika 3 yang memberikan kinerja IOPS lebih tinggi dengan tingkat redundansi perangkat keras yang sama.
K yang wajar lebih besar dari M karena efisiensi ruang yang dapat digunakan. Kode penghapusan (K-M) yang lebih besar mendapatkan efisiensi ruang yang lebih baik.
Jumlah host server
Jumlah K+M juga menentukan jumlah host atau domain kegagalan yang lebih besar yang diperlukan dalam kluster.
- Kolam kode penghapusan yang khas memerlukan minimal K+M host server untuk sepenuhnya mendistribusikan semua potongan EC.
- Konfigurasi kode penghapusan yang canggih memungkinkan penyimpanan beberapa potongan EC per domain kegagalan. Konfigurasi ini mengurangi jumlah server yang diperlukan untuk mendistribusikan potongan EC.
Ringkasan pengaruh kode penghapusan K & M:
- M menentukan jumlah domain kegagalan yang redundan.
- K + M yang lebih besar mengakibatkan kinerja IOPS objek kecil yang berkurang untuk klien tetapi meningkatkan throughput untuk objek yang lebih besar.
- Efisiensi ruang penyimpanan = K/(K+M)
- Jumlah minimum server yang diperlukan.