November 26, 2020

798 words 4 mins read

Mengenal Ceph Cloud Storage

Mengenal Ceph Cloud Storage

Kehandalan klaster (cluster) penyimpanan data (atau cloud storage) dapat diwujudkan dengan menerapkan mekanisme redudansi. Mekanisme redudansi data yang banyak digunakan saat ini adalah RAID yang berbasis perangkat keras. Sedangkan Ceph merupakan alternatif yang mengusung teknologi SDS (Software Defined Storage).

Teknologi RAID (Redundant Array of Independent Disk) menggunakan perangkat kontroler khusus dan ini menyebabkan sistem penyimpanan tidak begitu skalabel. Dengan RAID, untuk melakukan ekspansi klaster penyimpanan data, dibutuhkan kontroler dengan tipe yang sama dengan kontroler yang sudah terpasang. Selain itu, apabila terjadi kerusakan pada kontroler, perangkat harus diganti dengan tipe yang sama.

Salah satu solusi untuk mengatasi masalah tersebut adalah menggunakan SDS (Software Defined Storage) seperti Ceph. Ceph menggunakan komponen software dengan algoritma CRUSH (Controlled Replication Under Scalable Hashing) untuk mewujudkan redudansi data. Penggunaan software dengan algoritma CRUSH dapat menggantikan peran perangkat kontroler fisik, sehingga ketergantungan terhadap vendor, jenis atau tipe hardware tertentu dapat dihilangkan. Penggunaan SDS seperti Ceph ini memungkinkan kita untuk membangun klaster penyimpanan data secara fleksibel dan memiliki skalabilitas tinggi.

Ceph

Ceph adalah sistem penyimpanan data yang dibangun dengan arsitektur berbasis klaster yang menggunakan komponen software dengan algoritma CRUSH untuk pengaturan data. Secara sederhana klaster adalah kumpulan dari beberapa komputer, atau biasa disebut dengan node, yang memiliki spesifikasi minimum tertentu . Kumpulan node tersebut saling terhubung satu dengan yang lain melalui jaringan (network) sehingga membentuk sebuah pool tunggal dari seluruh sumberdaya penyimpan data.

Syarat minimum untuk mewujudkan sistem klaster adalah: node, perangkat jaringan untuk menghungkan tiap node, sistem operasi pada setiap node, dan cluster middleware yang melakukan fungsi dan orkestrasi antar bagian serta antarmuka antara pengguna dengan sistem. Pada kasus sistem penyimpanan dengan Ceph, Ceph berperan sebagai cluster middleware. Masing-masing node dalam klaster harus memiliki sumberdaya komputasi seperti CPU (Central Processing Unit) dan memory (RAM, ROM, HDD atau SSD) yang independen. Jumlah minimum node untuk membangun sebuah klaster Ceph adalah dua node, karena ini yang secara logis menjadi syarat untuk redudansi.

Arsitektur klaster mendukung faktor skalabilitas sistem, apabila pada suatu saat sumberdaya komputasi perlu ditambah karena jumlah data atau pengguna meningkat, maka hanya perlu menambahkan node baru pada klaster yang sudah ada. Tentu fitur ini memerlukan perangkat jaringan yang sesuai dari sisi kehandalan dan kinerja, karena sistem klaster hanya bisa bekerja apabila konektivitas dan komunikasi antar komponen klaster berjalan dengan baik.

Komponen Utama Klaster Ceph

Klaster Ceph terdiri dari tiga servis (daemon) utama, yaitu MON (Monitor), MGR (Manager) dan OSD (Object Storage Daemon). Tiga daemon ini tergabung dalam arsitektur yang disebut dengan RADOS (Reliable Autonomic Distributed Object Store).

Terdapat dua jenis proses dasar pada sistem operasi UNIX-like, yaitu interaktif dan daemon. Proses interaktif memerlukan interaksi atau masukan dari pengguna e.g. melalui CLI (Command Line Interface). Sedangkan, daemon adalah proses yang berjalan di belakang layar (background) dan tanpa interaksi dengan pengguna. Pada sistem operasi Windows, daemon ini lebih dikenal dengan istilah services. Daemon normalnya adalah proses yang dieksekusi oleh proses init melalui prosedur forking. Init adalah proses yang pertama kali dieksekusi saat sistem operasi (UNIX-like) dijalankan dan proses tersebut akan tetap berjalan, bila tidak ada interferensi dari luar. Forking adalah system call (metode untuk merequest servis dari kernel) yang digunakan untuk membuat proses baru dari proses yang sudah berjalan (status running).

Instalasi daemon MON, MGR, dan OSD dalam setiap node, relatif cukup mudah. Namun, setelah instalasi masih perlu dilakukan proses inisialisasi. Inisialisasi ini bertujuan untuk menentukan nilai parameter operasional supaya klaster Ceph bekerja sesuai dengan yang kita kehendaki. Penggunaan (use-case) layanan cloud storage itu bervariasi, dan masing-masing use-case memiliki karakteristik berbeda. Untuk dapat membangun klaster cloud storage dengan performa terbaik, parameter-parameter tersebut harus dikonfigurasi dengan benar. Parameter dan nilainya disimpan dalam sebuah file konfigurasi yang akan dibaca oleh daemon-daemon Ceph pada saat mereka dieksekusi.

Klaster Ceph Sederhana

Contoh konfigurasi klaster Ceph sederhana ditampilkan dalam Gambar di atas. Konfigurasi tersebut adalah konfigurasi minimum untuk dapat mewujudkan sistem dengan kehandalan tinggi yang memiliki toleransi kegagalan maksimum sebanyak dua node. Klaster teriri dari tiga node identik yang terhubung ke dua jaringan berbeda, yaitu jaringan klaster (cluster network) dan jaringan publik. Jaringan klaster adalah jaringan yang dipergunakan Ceph untuk menjalankan fungsi internalnya, seperti replikasi atau sharding. Jaringan publik adalah jaringan yang menghubungkan pengguna dengan klaster Ceph. Masing-masing node memiliki 2 HDD, di mana 1 HDD untuk sistem operasi dan 1 HDD untuk OSD. Agar performa klaster maksimal, direkomendasikan OSD tidak disatukan dalam HDD yang sama dengan sistem operasi. Apabila HDD untuk OSD lebih dari satu, maka OSD dikonfigurasi di setiap HDD, hindari semua HDD dikonfigurasi sebagai satu OSD. Apabila jumlah HDD hanya satu dalam satu node maka terpaksa harus dibuat minimal dua partisi pada HDD tersebut, yakni satu partisi untuk sistem operasi dan satu partisi untuk OSD. Konfigurasi seperti ini tidak direkomendasikan karena akan menurunkan performa klaster.

Pada bagian berikutnya dari tulisan ini, akan dibahas proses intalasi Ceph menggunakan sistem operasi Ubuntu.

Penulis: Imam Nur Bani Yusuf Editor : AT, EM

comments powered by Disqus