Skip to content

Penyimpanan dan Manajemen Grup Bersama

Cockpit menyediakan antarmuka untuk mengonfigurasi datastore hypervisor (storage pool) dan mengoordinasikan kluster penyimpanan bersama (shared storage) multi-host.


1. Datastore (Storage Pool)

Datastore digunakan untuk menyimpan citra disk virtual (.qcow2, .raw) dan file ISO. Cockpit mengklasifikasikan storage pool berdasarkan cakupannya:

Cakupan Storage Pool

  • Cakupan Lokal: Storage pool yang terikat pada satu host hypervisor saja (misalnya, pool berbasis direktori yang dipetakan ke /var/lib/libvirt/images/). Datastore lokal cocok untuk beban kerja host mandiri atau migrasi langsung tanpa penyimpanan bersama (shared-nothing migration).
  • Cakupan Bersama: Storage pool yang dapat diakses secara bersamaan oleh beberapa host hypervisor. Contohnya termasuk Network File System (NFS), iSCSI LUNs, Fibre Channel (FC), atau sistem file terklaster seperti OCFS2. Datastore bersama memungkinkan migrasi langsung VM secara cepat menggunakan penyimpanan bersama.
    • Siklus Hidup Datastore Terklaster OCFS2: Untuk menginisialisasi datastore OCFS2 terklaster, perangkat blok bersama (seperti /dev/sda) harus dilepas (unmount) pada semua host yang berpartisipasi dan dihapus dari semua tanda tangan sistem file sebelumnya menggunakan wipefs -a. Cockpit mengotomatiskan pembuatan OCFS2 dengan memformat perangkat, mendaftarkan jalur perangkat host (host_devices), mengonfigurasi pemetaan IP node host (host_node_ips), memilih mode heartbeat, dan mengalokasikan slot klaster (misalnya, 4).

Operasi Datastore

  • Pemantauan Kapasitas: Mengambil metrik tentang kapasitas total, penyimpanan yang dialokasikan, dan sisa byte yang tersedia.
  • Penyegaran (Refresh): Memindai direktori storage pool untuk menyinkronkan database Cockpit dengan file aktual yang ada pada sistem file host.
  • Mulai / Hentikan (Start / Stop): Mengontrol status runtime storage pool pada host. Menghentikan pool akan menonaktifkan lampiran disk VM yang dipetakan ke pool tersebut.
  • Hapus (Delete): Menghapus registrasi storage pool. Administrator dapat mengaktifkan bendera delete_volumes (menjalankan API DELETE /api/v1/datastores/:id?delete_volumes=true) untuk menghapus semua file disk virtual yang ada di dalam pool tersebut.

2. Konfigurasi Adapter Software iSCSI (Multipathing)

Untuk lingkungan yang menggunakan penyimpanan blok bersama melalui jaringan IP, Cockpit menyediakan API proxy tingkat host untuk menginisialisasi dan mengonfigurasi adapter Software iSCSI, menyiapkan multipathing jaringan, menemukan portal target, dan masuk ke iSCSI Qualified Name (IQN) target.

Alur Kerja Konfigurasi

  1. Inisialisasi Adapter: Membuat adapter Software iSCSI pada host (misalnya, iscsi-smoke-01) dengan Initiator IQN kustom (misalnya, iqn.2026-04.awid5.mid-7d6a2e8c:iscsi-smoke-01) dan mengatur mode mulai (misalnya, manual atau automatic).
  2. Pengikatan Antarmuka Jaringan (Port Binding): Mengikat antarmuka jaringan fisik atau virtual (misalnya, enp2s0 dan enp3s0) ke adapter. Pengikatan beberapa antarmuka memungkinkan multipathing sesi, menyediakan redundansi dan penyeimbangan beban di seluruh jaringan penyimpanan.
  3. Penemuan Portal (Discovery): Memicu penemuan SendTargets terhadap IP portal penyimpanan utama (misalnya, 192.168.242.235:3260), menentukan portal pengikat untuk setiap antarmuka jaringan guna membangun beberapa jalur ke server penyimpanan target.
  4. Masuk Sesi Target (Login): Membangun koneksi aktif ke target IQN (misalnya, iqn.2026-05.io.awan:storage-server). Jika autentikasi CHAP dikonfigurasi, kredensial nama pengguna dan kata sandi akan disertakan.
  5. Pemantauan Sesi: Memverifikasi bahwa OS berhasil mendaftarkan semua sesi dan mengarahkan disk target di bawah pemetaan perangkat multipath (misalnya, /dev/sda).

Pembongkaran & Penghapusan

Saat menonaktifkan atau mengubah rute penyimpanan:

  • Keluar Sesi: Keluar dari ID sesi aktif individu.
  • Lupakan Target: Memerintahkan daemon iSCSI untuk melupakan portal yang telah ditemukan.
  • Penghapusan Adapter: Menghapus konfigurasi adapter Software iSCSI dari host.

3. Manajemen Grup Bersama (O2CB Cluster Proxy)

Untuk memasang (mount) dan menggunakan sistem file terklaster (seperti OCFS2) secara bersamaan di beberapa host hypervisor, administrator harus mengonfigurasi dan memelihara grup klaster O2CB (Oracle Cluster File System 2 Social Club). Di Cockpit, lapisan koordinasi ini dikelola melalui Manajemen Grup Bersama.

IMPORTANT

Hubungan antara Datastore Bersama dan Grup Bersama: Perangkat penyimpanan blok bersama (SAN/iSCSI) yang menjalankan OCFS2 memungkinkan operasi baca/tulis secara bersamaan. Namun, untuk mencegah kerusakan data, host-host harus mengoordinasikan manajemen penguncian (lock management) dan detak jantung (heartbeat) mereka. Grup Bersama O2CB mengelola keanggotaan node, port komunikasi, dan heartbeat di seluruh hypervisor yang berpartisipasi. Mencoba memasang dan menulis ke datastore OCFS2 tanpa adanya Grup Bersama yang aktif dan tersinkronisasi di semua host yang berpartisipasi akan menyebabkan kerusakan sistem file secara langsung.

Parameter Konfigurasi Grup Bersama

  • Nama Klaster (Cluster Name): Pengidentifikasi alfanumerik untuk klaster O2CB (misalnya, ocfs2). Nama ini harus sama persis di seluruh host di dalam datacenter.
  • Nama Node (Node Name): Pengidentifikasi untuk setiap host yang berpartisipasi dalam klaster O2CB (biasanya cocok dengan nama host fisik).
  • IP & Port Node: Alamat IP khusus dan port TCP (default: 7777) yang digunakan oleh daemon O2CB untuk komunikasi antar-node dan lalu lintas protokol penguncian.
  • Mode Heartbeat:
    • Lokal (Local): Heartbeat ditulis ke wilayah disk tertentu pada perangkat penyimpanan bersama itu sendiri.
    • Global: Menggunakan layanan heartbeat klaster khusus.
  • Jalur Perangkat Heartbeat (Heartbeat Device Path): Jalur perangkat blok (misalnya, /dev/mapper/mpathb) tempat tanda tangan heartbeat lokal ditulis.

Alur Kerja Operasional dan Tindakan

Cockpit mengotomatiskan konfigurasi O2CB di semua host dalam datacenter:

  1. Siapkan Grup Bersama (Wizard): Memulai konfigurasi O2CB di semua host datacenter. Wizard mendaftarkan nama klaster, menambahkan pemetaan node (nama, IP, port) untuk semua host yang berpartisipasi, dan menetapkan mode heartbeat.
  2. Siklus Hidup Registrasi:
    • Daftarkan semua (Register all): Memerintahkan semua host untuk mendaftarkan konfigurasi klaster O2CB ke dalam kernel space.
    • Hapus pendaftaran semua (Unregister all): Menghapus konfigurasi klaster O2CB secara aman dari semua host.
  3. Kontrol Runtime Heartbeat:
    • Mulai heartbeat (Start heartbeat): Memulai layanan heartbeat O2CB di semua host (diperlukan dalam mode global atau sebelum memasang penyimpanan).
    • Hentikan heartbeat (Stop heartbeat): Menghentikan layanan heartbeat.
  4. Manajemen Anggota: Menambah atau menghapus node anggota dari definisi klaster O2CB. Mengubah keanggotaan node akan meneruskan pembaruan konfigurasi ke file konfigurasi semua host anggota.
  5. Pemantauan Status Per Host: Memantau status kernel O2CB di setiap host, menampilkan:
    • Keberadaan klaster (apakah klaster O2CB telah ditentukan).
    • Status online (apakah tumpukan klaster aktif/online).
    • Jumlah anggota aktif.
    • Wilayah heartbeat yang dikonfigurasi.
    • Log dan kesalahan daemon O2CB tingkat host.