Manajemen Klaster O2CB
Oracle Cluster File System v2 (OCFS2) adalah sistem berkas terklaster cakram-bersama (shared-disk) serbaguna yang dirancang untuk operasi baca dan tulis bersamaan (active/active) di beberapa host virtualisasi. Di Vapor, infrastruktur klaster dan manajemen penguncian terdistribusi ditangani oleh tumpukan O2CB (OCFS2 Cluster Base).
O2CB memungkinkan beberapa node Vapor memasang (mount) SAN LUN, target iSCSI, atau perangkat Multipath NVMe-oF yang sama secara bersamaan, sehingga mesin virtual dan kumpulan penyimpanan terklaster dapat berjalan serentak di seluruh infrastruktur tanpa risiko kerusakan data.
Arsitektur: Konfigurasi vs. Status Kernel Langsung
O2CB beroperasi pada dua lapisan utama yang harus dipahami oleh administrator:
+-------------------------------------------------------------+
| Konsol Web Vapor / REST API |
+-------------------------------------------------------------+
|
+---------------------+---------------------+
| |
v v
+-------------------------------+ +-------------------------------+
| Berkas Konfigurasi Statis | | Memori Kernel Linux |
| /etc/ocfs2/cluster.conf | | /sys/kernel/configfs/... |
| (Definisi klaster, node, IP) | | (Objek klaster aktif memori) |
+-------------------------------+ +-------------------------------+
| ^
+---- Pendaftaran Online Dinamis (o2cb) ----+- Konfigurasi Statis (
/etc/ocfs2/cluster.conf):- Berkas konfigurasi pada disk yang menentukan nama klaster, slot node, nama node, alamat IP, port (default
7777), dan wilayah heartbeat global.
- Berkas konfigurasi pada disk yang menentukan nama klaster, slot node, nama node, alamat IP, port (default
- Memori Kernel Langsung (
/sys/kernel/config/cluster/<cluster>/):- Sistem berkas kernel dinamis
configfsyang mewakili objek klaster aktif dalam memori. Agar node dapat berpartisipasi dalam komunikasi klaster dan penguncian DLM, definisinya harus terdaftar di memori kernel.
- Sistem berkas kernel dinamis
- Pendaftaran Online Dinamis:
- Menjalankan
o2cb register-cluster <cluster>akan memprosescluster.confdan mendaftarkan node baru secara dinamis ke dalam memori kernel tanpa memerlukan pelepasan sistem berkas (unmount) atau restart layanan.
- Menjalankan
Mode Heartbeat
O2CB memantau kesehatan host melalui dua mekanisme heartbeat:
| Mode Heartbeat | Deskripsi | Direkomendasikan Untuk |
|---|---|---|
| Local Heartbeat (Default) | Metadata heartbeat ditulis langsung ke blok khusus pada setiap sistem berkas OCFS2 yang terpasang. Penyiapan lebih sederhana tanpa memerlukan perangkat khusus. | Sebagian besar penyebaran standar dengan beberapa datastore bersama. |
| Global Heartbeat | Heartbeat berjalan pada perangkat blok wilayah heartbeat (heartbeat region) khusus yang terpisah sebagai layanan latar belakang permanen sebelum datastore dipasang. | Klaster skala besar, banyak LUN bersama, atau lingkungan SAN enterprise. |
Mengelola O2CB di Konsol Web Vapor
Di konsol web Vapor, navigasikan ke Storage > O2CB Cluster untuk mengelola dan memantau status klaster O2CB.
1. Status & Aksi Klaster
Kartu bagian atas memberikan status waktu nyata dan kontrol operasional:
- Identitas Klaster: Menampilkan nama klaster aktif, mode heartbeat, jumlah total node yang dikonfigurasi, dan wilayah heartbeat yang aktif.
- Lencana Status:
Online(Hijau): Klaster terdaftar dan aktif di memori kernel.Offline(Abu-abu): Klaster dihentikan atau belum didaftarkan.Not in Kernel(Kuning): Klaster ada dalam berkas konfigurasi tetapi belum didaftarkan ke kernel.
- Aksi Utama:
- Register Cluster / Sync to Kernel: Membaca
cluster.confsecara otomatis dan menyinkronkan seluruh node ke dalam memori kernel yang sedang berjalan. - Enter Maintenance / Exit Maintenance: Melepas (unmount) sistem berkas aktif dan membatalkan pendaftaran node secara bersih sebelum pemeliharaan host.
- Register Cluster / Sync to Kernel: Membaca
- Menu Aksi (
⋮):- Start Heartbeat / Stop Heartbeat: Mengontrol runtime heartbeat global (hanya mode global).
- Set Heartbeat Mode: Beralih antara mode heartbeat
localdanglobal. - Unregister Cluster: Menghapus objek klaster dari memori kernel.
- Delete Cluster: Menghapus definisi klaster dari
/etc/ocfs2/cluster.conf.
2. Manajemen Node
Bagian Nodes memungkinkan administrator melihat, menambah, dan menghapus anggota klaster:
+---------------------------------------------------------------------------------------------------+
| Node Name Number IP Address Port Status Actions |
+---------------------------------------------------------------------------------------------------+
| reg2-1 1 10.99.16.20 7777 [Local] [✓ In Kernel] — |
| reg2-2 2 10.99.16.21 7777 [✓ In Kernel] [Remove] |
| reg2-3 3 10.99.16.22 7777 [✓ In Kernel] [Remove] |
| reg2-4 4 10.99.16.250 7777 [⚠ Not in Kernel] [Remove] |
+---------------------------------------------------------------------------------------------------+Indikator Status Node:
- Lencana
Local: Menunjukkan bahwa node ini merupakan host Vapor lokal saat ini. ✓ In Kernel(Lencana Hijau): Memastikan node terdaftar secara aktif dalam memori kernel Linux yang sedang berjalan.⚠ Not in Kernel(Lencana Kuning): Menunjukkan node ada di/etc/ocfs2/cluster.conftetapi belum dimuat ke memori kernel langsung. Gunakan Sync to Kernel untuk mendaftarkannya secara online.
Menambahkan Node:
- Di bawah bagian Nodes, buka formulir Add Node.
- Masukkan Node Name (misalnya
n04atauhost-4), Node Number (indeks slot), IP Address, dan Port (default7777). - Klik Add Node.
- Vapor secara otomatis menyimpan node ke
/etc/ocfs2/cluster.confdan langsung menjalankan pendaftaran online untuk menyinkronkan node ke memori kernel tanpa downtime.
Menghapus Node:
- Klik Remove di sebelah node untuk menghapus entrinya dari berkas konfigurasi.
3. Wilayah Heartbeat (Mode Global)
Saat mode heartbeat global diaktifkan, bagian Heartbeat Regions memungkinkan administrator untuk:
- Menambahkan jalur perangkat blok (misalnya
/dev/mapper/mpathaatau/dev/sdb) untuk berpartisipasi dalam detak klaster. - Menghapus perangkat heartbeat yang sudah tidak digunakan.
Alur Kerja Mode Pemeliharaan (Maintenance Mode)
Sebelum melakukan pemeliharaan jaringan penyimpanan yang berdampak (seperti peningkatan firmware switch, rekonfigurasi multipath, atau penggantian HBA/NIC), masukkan host ke dalam Mode Pemeliharaan:
- Klik Enter Maintenance pada header klaster.
- Vapor melakukan pemeriksaan pra-kegiatan keamanan:
- Mengidentifikasi semua sistem berkas OCFS2 yang terpasang.
- Memverifikasi apakah ada disk virtual VM atau beban kerja aktif yang sedang menggunakan penyimpanan tersebut.
- Melepas (unmount) semua kumpulan penyimpanan OCFS2 aktif secara bersih.
- Menghentikan layanan heartbeat dan membatalkan pendaftaran node dari tumpukan O2CB.
- Setelah pekerjaan fisik selesai, klik Exit Maintenance untuk mendaftarkan ulang klaster, memulai heartbeat, dan memasang kembali datastore bersama.
Jangan pernah memaksa unmount saat VM masih aktif
Mematikan host secara tiba-tiba tanpa melepas sistem berkas OCFS2 aktif akan memicu pemagaran mandiri (self-fencing / reboot darurat) O2CB untuk mencegah kerusakan data split-brain.
Referensi REST API
Vapor menyediakan REST API lengkap untuk manajemen klaster O2CB:
| Metode | Endpoint | Deskripsi |
|---|---|---|
GET | /storage/o2cb/clusters | Daftar semua klaster O2CB yang dikonfigurasi. |
POST | /storage/o2cb/clusters | Buat definisi klaster O2CB baru. |
GET | /storage/o2cb/clusters/{name} | Dapatkan detail konfigurasi klaster dan node. |
DELETE | /storage/o2cb/clusters/{name} | Hapus konfigurasi klaster O2CB. |
GET | /storage/o2cb/clusters/{name}/status | Kueri status kernel langsung dari klaster. |
POST | /storage/o2cb/clusters/{name}/register | Daftarkan klaster secara dinamis dan sinkronkan node ke kernel. |
POST | /storage/o2cb/clusters/{name}/unregister | Batalkan pendaftaran klaster dari memori kernel. |
GET | /storage/o2cb/clusters/{name}/nodes | Daftar semua node anggota beserta status kernelnya. |
POST | /storage/o2cb/clusters/{name}/nodes | Tambah node anggota baru dan daftarkan otomatis online. |
DELETE | /storage/o2cb/clusters/{name}/nodes/{node} | Hapus node anggota. |
GET | /storage/o2cb/clusters/{name}/heartbeats | Daftar semua wilayah heartbeat yang dikonfigurasi. |
POST | /storage/o2cb/clusters/{name}/heartbeats | Tambah perangkat wilayah heartbeat. |
DELETE | /storage/o2cb/clusters/{name}/heartbeats/{device} | Hapus perangkat wilayah heartbeat. |
PUT | /storage/o2cb/clusters/{name}/heartbeat-mode | Atur mode heartbeat (local atau global). |
GET | /storage/o2cb/clusters/{name}/maintenance/preflight | Jalankan pemeriksaan pra-kegiatan sebelum mode pemeliharaan. |
POST | /storage/o2cb/clusters/{name}/maintenance/enter | Masuk ke mode pemeliharaan O2CB dengan aman. |
POST | /storage/o2cb/clusters/{name}/maintenance/exit | Keluar dari mode pemeliharaan dan pasang kembali datastore. |
Referensi CLI
Administrator dengan akses SSH atau konsol dapat memeriksa status O2CB menggunakan perintah CLI standar:
# Memeriksa status klaster di memori kernel
sudo o2cb cluster-status <nama-klaster>
# Mendaftarkan konfigurasi ke dalam kernel yang sedang berjalan
sudo o2cb register-cluster <nama-klaster>
# Membatalkan pendaftaran klaster dari kernel
sudo o2cb unregister-cluster <nama-klaster>
# Memeriksa node aktif di configfs kernel
ls -la /sys/kernel/config/cluster/<nama-klaster>/node/
# Memulai dan menghentikan layanan heartbeat global
sudo o2cb start-heartbeat <nama-klaster>
sudo o2cb stop-heartbeat <nama-klaster>Pemecahan Masalah & Praktik Terbaik
1. Mengatasi Ketidaksesuaian Node "Not in Kernel"
- Penyebab: Node ditambahkan ke
/etc/ocfs2/cluster.confsecara langsung atau saat tumpukan klaster sedang offline. - Solusi: Klik tombol Sync to Kernel di UI Vapor atau jalankan
sudo o2cb register-cluster <nama-klaster>melalui CLI.
2. Persyaratan Firewall Jaringan
- Semua node klaster yang berpartisipasi harus dapat berkomunikasi dua arah melalui port TCP
7777. Pastikan aturan firewall mengizinkan lalu lintas antarmuka penyimpanan:bashsudo ufw allow 7777/tcp # atau firewalld: sudo firewall-cmd --permanent --add-port=7777/tcp && sudo firewall-cmd --reload
3. Aturan Pemagaran (Fencing) dan Kuorum
- OCFS2 menggunakan algoritma kuorum mayoritas. Jika komunikasi antar node terputus, partisi minoritas akan secara otomatis memagari diri sendiri (reboot darurat) untuk melindungi integritas data. Pastikan tautan jaringan redundan (Bonds / Multipath) dikonfigurasi pada antarmuka penyimpanan.