Ceph (perangkat lunak)
Ceph | |||||||||
---|---|---|---|---|---|---|---|---|---|
Tipe | perangkat lunak bebas | ||||||||
Versi stabil | |||||||||
Genre | Penyimpanan objek terdistribusi | ||||||||
Lisensi | LGPL 2.1[1] | ||||||||
Eponim | Cephalopoda | ||||||||
| |||||||||
| |||||||||
| |||||||||
Ceph (diucapkan /ˈsɛf/ atau /ˈkɛf/ ) adalah perangkat lunak sumber terbuka penyimpanan terdistribusi yang berbasis penyimpanan objek pada suatu kluster komputer. Ceph menyediakan antarmuka penyimpanan dengan level objek, blok- dan berkas. Tujuan utama Ceph adalah menyediakan penyimpanan terdistribusi tanpa satu titik kegagalan, dapat ditingkatkan hingga skala exabyte, dan tersedia secara bebas.
Ceph bekerja dengan melakukan mereplikasi data dan membuatnya toleran terhadap kesalahan.[7] Ceph dapat dibangun dengan perangkat keras komoditas dan tidak memerlukan dukungan perangkat keras tertentu. Ceph didesain dengan tujuan meminimalisir waktu administrasi dan manajemen serta biaya lainnya dengan fitur penyembuhan otomatis (slef-healing) dan mengatur diri sendiri (self-managing).
Pada 21 April 2016, tim pengembang Ceph merilis versi "Jewel", rilis Ceph pertama di mana CephFS dianggap stabil. Beberapa peningkatan dan fitur di versi ini antara lain alat perbaikan dan pemulihan bencana CephFS kini telah sempurna (dengan fitur snapshot, mendukung banyak server metadata aktif dan beberapa fungsi lainnya dinonaktifkan secara default).[8]
Pada Agustus 2017, Ceph dengan nama kode "Luminous" dirilis dan memperkenalkan format penyimpanan baru, BlueStore yang siap-produksi. Format BlueStore ini didesain untuk memperbaiki banyak kekurangan filestore yang berbasis sistem file, sehingga dapat mengurasi latensi dan fitur penyimpanan tambahan.[9]
Ceph dengan nama kodel "Mimic" dirilis pada Agustus 2018 dengan versi v13.2.0. Beberapa fitur terbaru pada rilis ini antara lain: implementasi dasbor Ceph baru turunan dari OpenATTIC yang menyediakan akses manajemen klaster dengan antarmuka webUI, konfigurasi yang kini disimpan dan diatur terpusat oleh monitor, dll.[10]
Arsitektur
[sunting | sunting sumber]Ceph didesain sebagai platform penyimpanan data terdistribusi yang sangat andal, mudah dikelola dan gratis. Pondasi dasar dari Ceph adalah RADOS (Reliable, Autonomic Distributed Object Store).
RADOS menyediakan layanan penyimpanan data pada level dasar yang kemudian akan digunakan oleh aplikasi di atasnya. RADOS mengatur distribusi data di dalam Ceph dan secara aktif mengelola keandalan dan ketersediaan data. Hal ini dicapai dengan melakukan operasi pemulihan yang dibutuhkan saat terdapat komponen yang gagal serta menyeimbangkan klaster saat kapasitas bertambah atau berkurang.[11]
Data yang diterima dari klien Ceph akan disimpan ke dalam bentuk objek. Objek merupakan bentuk terkecil dari data yang disimpang Ceph. Setiap objek diidentifikasi dengan nama yang unik. Tidak ada objek yang memiliki nama yang sama pada satu klaster dengan namespace yang sama.[11]
Ceph menyimpan objek ini ke dalam Object-based Storage Devices
(OSDs). RADOS akan menghitung distribusi objek-objek berdasarkan algoritme CRUSH agar penempatan objek terdistribusi dengan baik. RADOS juga akan menghitung jumlah replikasi, menggandakan objek dan menyimpan objek pada failure domain yang berbeda untuk memastikan keandalan data.[12]
Tiap objek akan ditempatkan ke dalam partisi logika yang disebut sebagai 'pool'. Setiap pool memiliki sejumlah Placement Group (PG). Algoritme CRUSH kemudian secara dinamis akan menghitung dan memetakan penempatan PG terhadap OSD.[13]
Pada rilis terbaru, "Mimic" arsitektur Ceph dapat dibagi ke dalam lima jenis daemon yang berbeda:[14]
- Monitor klaster (ceph-mon) yang berfungsi sebagai manajemen terpusat yang memantau keseluruhan kluster
- Server metadata (ceph-mds) berfungsi untuk menyimpan metadata dari inode dan direktori
- Perangkat penyimpanan objek (ceph-osd) berfungsi untuk menuliskan objek langsung pada penyimpanan disk (pada sistem dengan format BlueStore,[15] sejak rilis v12.x) atau menyimpan objek ke dalam sistem file (pada sistem XFS) untuk format Filestore) [16]
- Gateway penyimpanan objek dengan RESTful (ceph-rgw) yang mengekspos penyimpanan objek sebagai antarmuka yang kompatibel dengan Amazon S3 atau OpenStack Swift APIs
- Manager Ceph (
ceph-mgr
) merupakan daemon yang menyediakan fungsi pemantauan (monitoring) serta mengekspos antarmuka untuk pemantauan dan manajemen eksternal[17]
Semua fitur di atas dijalankan secara terdistribusi, namun juga dapat berjalan pada server yang sama. Klien yang menggunakan layanan dari Ceph dapat berinteraksi langsung dengan satu atau lebih dari daemon-daemon tersebut.[18]
Prinsip utama dari Ceph adalah melakukan penyimpanan berkas (file) dalam bentuk objek. Ceph akan melakukan pembagian berkas menjadi beberapa objek berkas yang lebih kecil. Prinsip ini mirip dengan striping berkas pada sistem RAID0 yang membagi partisi ke banyak hard drive. Proses ini dilakukan untuk mencapai throughput yang lebih tinggi.[13]
Lihat pula
[sunting | sunting sumber]- Situs web resmi
- SUSE Enterprise Storage (Ceph)
- Laboratorium Penelitian Sistem UCSC
- Pusat Penelitian Sistem Penyimpanan
- Kinerja dan Optimasi Ceph, Ceph Day Frankfurt (2014) di Slideshare
Rujukan
[sunting | sunting sumber]- ^ "LGPL2.1 license file in the Ceph sources". 2014-10-24. Diakses tanggal 2014-10-24.
- ^ "FreeBSD Quarterly Status Report".
- ^ "Ceph Community Forms Advisory Board". 2015-10-28. Diarsipkan dari versi asli tanggal 2019-01-29. Diakses tanggal 2016-01-20.
- ^ "13.2.4 Mimic released".
- ^ "v14.0.0 Nautilus".
- ^ "GitHub Repository".
- ^ Jeremy Andrews (2007-11-15). "Ceph Distributed Network File System". KernelTrap. Diarsipkan dari versi asli tanggal 2007-11-17. Diakses tanggal 2007-11-15.
- ^ Sage Weil (2016-04-21). "v10.2.0 Infernalis Released". Ceph Blog.
- ^ Sage Weil (2017-08-29). "v12.2.0 Luminous Released". Ceph Blog.
- ^ "v13.2.0 Mimic released". Ceph (dalam bahasa Inggris). 2018-06-01. Diakses tanggal 2019-01-31.
- ^ a b Anthony,, D'Atri,; Vaibhav,, Bhembre,. Learning Ceph : a unified, scalable, and reliable open source storage solution (edisi ke-Second edition). Birmingham, UK. ISBN 9781787122918. OCLC 1010935455.
- ^ Karan,, Singh,. Learning Ceph : a practical guide to designing, implementing, and managing your software-defined, massively scalable Ceph storage system. Birmingham, England. ISBN 9781783985630. OCLC 903966657.
- ^ a b "Architecture — Ceph Documentation". docs.ceph.com. Diakses tanggal 2019-01-31.[pranala nonaktif permanen]
- ^ a b M. Tim Jones (2010-06-04). "Ceph: A Linux petabyte-scale distributed file system" (PDF). IBM. Diakses tanggal 2014-12-03.
- ^ "BlueStore". Ceph. Diarsipkan dari versi asli tanggal 2019-01-28. Diakses tanggal 2017-09-29.
- ^ "Hard Disk and File System Recommendations". Diarsipkan dari versi asli tanggal 2017-07-14. Diakses tanggal 2017-03-17.
- ^ "Ceph Manager Daemon — Ceph Documentation". docs.ceph.com. Diakses tanggal 2019-01-31.[pranala nonaktif permanen]
- ^ Jake Edge (2007-11-14). "The Ceph filesystem". LWN.net.