Artikel

Virtualisasi: Dari Virtual Machine, Container, Pod, hingga Proxmox High Availability

Pendahuluan Perkembangan layanan digital menyebabkan kebutuhan server terus bertambah. Satu organisasi dapat membutuhkan web server, database, aplikasi sekolah, CBT Server, file server, DNS Server, VPN Server, monitoring, dan sistem bac...

Virtualisasi: Dari Virtual Machine, Container, Pod, hingga Proxmox High Availability

Ditulis oleh Guru SKJ pada 29 Jul 2026

Pendahuluan

Perkembangan layanan digital menyebabkan kebutuhan server terus bertambah. Satu organisasi dapat membutuhkan web server, database, aplikasi sekolah, CBT Server, file server, DNS Server, VPN Server, monitoring, dan sistem backup.

Apabila setiap layanan harus menggunakan satu komputer fisik, kebutuhan perangkat, listrik, ruang, dan biaya pemeliharaan akan menjadi besar. Banyak server juga tidak selalu menggunakan seluruh kemampuan prosesor dan memorinya.

Virtualisasi hadir untuk mengatasi masalah tersebut.

Dengan virtualisasi, satu server fisik dapat menjalankan beberapa sistem operasi, mesin virtual, container, atau layanan secara bersamaan. Setiap layanan dapat dipisahkan sehingga lebih mudah dikelola, diamankan, dipindahkan, dibackup, dan dipulihkan.

Virtualisasi kemudian berkembang dari sekadar menjalankan beberapa mesin virtual menjadi pengelolaan pusat data yang mendukung:

  • virtual machine;

  • container;

  • cluster;

  • shared storage;

  • live migration;

  • replikasi;

  • backup;

  • monitoring;

  • otomatisasi;

  • High Availability;

  • orkestrasi aplikasi menggunakan pod.

Salah satu platform yang banyak digunakan untuk kebutuhan tersebut adalah Proxmox Virtual Environment atau Proxmox VE. Proxmox VE menggabungkan virtual machine berbasis KVM, Linux Container atau LXC, storage, jaringan, cluster, backup, dan High Availability dalam satu antarmuka pengelolaan. (Proxmox)


1. Pengertian Virtualisasi

Virtualisasi adalah teknologi yang membuat versi virtual dari sumber daya komputer.

Sumber daya yang dapat divirtualisasi antara lain:

  • komputer;

  • sistem operasi;

  • prosesor;

  • memori;

  • penyimpanan;

  • jaringan;

  • aplikasi;

  • desktop;

  • server.

Tanpa virtualisasi, satu komputer fisik biasanya menjalankan satu sistem operasi utama.

Hardware Fisik
      |
Sistem Operasi
      |
Aplikasi

Dengan virtualisasi, satu hardware dapat menjalankan beberapa sistem operasi.

Hardware Fisik
      |
Hypervisor
  ┌───┼────┬────┐
  |   |    |    |
 VM1 VM2  VM3  VM4

Setiap virtual machine dapat memiliki:

  • sistem operasi sendiri;

  • CPU virtual;

  • RAM virtual;

  • disk virtual;

  • kartu jaringan virtual;

  • aplikasi sendiri.


2. Tujuan Virtualisasi

Virtualisasi digunakan untuk meningkatkan efisiensi dan fleksibilitas infrastruktur teknologi informasi.

Tujuan utamanya meliputi:

2.1 Efisiensi perangkat keras

Satu server fisik dapat menjalankan beberapa layanan.

Contoh:

Server Fisik
├── VM Web Server
├── VM Database Server
├── VM CBT Server
├── VM Monitoring
└── VM VPN Server

2.2 Isolasi layanan

Masalah pada satu virtual machine tidak selalu langsung merusak virtual machine lainnya.

Sebagai contoh, jika web server mengalami error, database server pada VM lain masih dapat berjalan.

2.3 Kemudahan pengujian

Virtualisasi cocok digunakan sebagai laboratorium karena peserta didik dapat:

  • memasang sistem operasi;

  • membuat server;

  • mengubah jaringan;

  • mencoba firewall;

  • membuat VPN;

  • menghapus mesin;

  • mengembalikan snapshot.

2.4 Kemudahan pemindahan

Virtual machine dapat dipindahkan dari satu host ke host lain, bergantung pada konfigurasi storage dan cluster.

2.5 Kemudahan backup

Mesin virtual dapat dibackup beserta konfigurasi dan disk-nya.

2.6 Ketersediaan layanan

Pada lingkungan cluster, layanan dapat dipindahkan atau dinyalakan kembali pada node lain ketika node utama mengalami kegagalan.


3. Istilah Penting dalam Virtualisasi

3.1 Host

Host adalah komputer fisik yang menjalankan sistem virtualisasi.

Contoh:

Server Proxmox
CPU 16 core
RAM 64 GB
Storage 4 TB

3.2 Guest

Guest adalah sistem operasi atau layanan yang berjalan di atas host.

Contoh:

  • Windows Server;

  • Ubuntu Server;

  • MikroTik CHR;

  • Debian;

  • CBT Server.

3.3 Hypervisor

Hypervisor adalah lapisan yang mengatur virtual machine dan membagi sumber daya hardware.

Hypervisor mengelola:

  • CPU;

  • RAM;

  • disk;

  • interface jaringan;

  • akses perangkat;

  • isolasi antarmesin.

3.4 Virtual Machine

Virtual machine atau VM adalah komputer virtual lengkap yang mempunyai sistem operasi sendiri.

3.5 Container

Container adalah lingkungan terisolasi yang menjalankan aplikasi dan dependensinya dengan memanfaatkan kernel host.

3.6 Snapshot

Snapshot adalah catatan kondisi mesin pada waktu tertentu.

Snapshot dapat mencakup:

  • kondisi disk;

  • konfigurasi;

  • pada platform tertentu, kondisi memori.

3.7 Template

Template adalah mesin dasar yang telah disiapkan agar dapat digandakan dengan cepat.

3.8 Clone

Clone adalah salinan virtual machine atau container.


4. Jenis Virtualisasi

4.1 Server Virtualization

Server fisik dibagi menjadi beberapa server virtual.

Contoh:

Proxmox Host
├── Ubuntu Web Server
├── Windows Server
├── MikroTik CHR
└── Database Server

4.2 Desktop Virtualization

Desktop pengguna dijalankan secara virtual dan dapat diakses dari perangkat lain.

4.3 Network Virtualization

Perangkat dan jaringan dibuat secara virtual.

Contohnya:

  • virtual switch;

  • virtual bridge;

  • VLAN;

  • virtual router;

  • software-defined networking;

  • virtual firewall.

4.4 Storage Virtualization

Beberapa media penyimpanan dikelola sebagai satu sistem penyimpanan logis.

4.5 Application Virtualization

Aplikasi dijalankan dalam lingkungan terisolasi tanpa memasang seluruh sistem operasi baru.

4.6 Container Virtualization

Aplikasi dijalankan di dalam container yang berbagi kernel dengan host.


5. Hypervisor Tipe 1 dan Tipe 2

5.1 Hypervisor Tipe 1

Hypervisor tipe 1 berjalan langsung pada hardware server.

Hardware
   |
Hypervisor
   |
Virtual Machine

Contoh penggunaan:

  • pusat data;

  • server perusahaan;

  • cloud;

  • cluster;

  • High Availability.

Proxmox VE termasuk platform yang dipasang langsung pada server dan menggunakan KVM untuk virtual machine.

5.2 Hypervisor Tipe 2

Hypervisor tipe 2 berjalan di atas sistem operasi host.

Hardware
   |
Windows atau Linux
   |
VirtualBox
   |
Virtual Machine

Contohnya:

  • VirtualBox;

  • VMware Workstation.

Tipe ini cocok untuk:

  • pembelajaran;

  • simulasi;

  • pengembangan;

  • pengujian aplikasi;

  • laboratorium pribadi.


6. Virtual Machine dan Container

Virtual machine dan container sama-sama digunakan untuk menjalankan layanan secara terisolasi, tetapi cara kerjanya berbeda.

6.1 Virtual Machine

Setiap VM mempunyai sistem operasi lengkap.

Hardware
   |
Hypervisor
   |
Guest OS
   |
Aplikasi

Kelebihan VM:

  • isolasi kuat;

  • dapat menjalankan sistem operasi berbeda;

  • cocok untuk Windows dan Linux;

  • fleksibel;

  • cocok untuk aplikasi lama;

  • dapat menggunakan kernel sendiri.

Kekurangan VM:

  • membutuhkan RAM lebih besar;

  • disk lebih besar;

  • waktu boot lebih lama;

  • penggunaan sumber daya lebih tinggi.

6.2 Container

Container tidak membawa sistem operasi lengkap. Container berbagi kernel dengan host.

Hardware
   |
Host Linux
   |
Container Engine
   |
Container A, B, C

Kelebihan container:

  • ringan;

  • cepat dijalankan;

  • penggunaan RAM lebih kecil;

  • mudah digandakan;

  • cocok untuk microservices;

  • mudah dipindahkan melalui image.

Kekurangan container:

  • isolasi tidak sama dengan VM penuh;

  • bergantung pada kernel host;

  • memerlukan pemahaman storage dan network;

  • aplikasi stateful memerlukan perencanaan lebih lanjut.


7. Container LXC pada Proxmox

Proxmox VE mendukung Linux Container melalui LXC.

LXC digunakan untuk menjalankan lingkungan Linux terisolasi tanpa menjalankan kernel guest terpisah. Proxmox dapat menyimpan container pada berbagai jenis storage yang didukung, seperti directory, LVM, ZFS, dan storage jaringan. (Proxmox VE)

Contoh penggunaan LXC:

  • web server;

  • DNS Server;

  • reverse proxy;

  • file server ringan;

  • monitoring;

  • syslog server;

  • aplikasi internal;

  • layanan Linux sederhana.

Contoh struktur:

Proxmox Host
├── CT 101 Web Server
├── CT 102 DNS Server
├── CT 103 Monitoring
└── CT 104 Reverse Proxy

Dalam Proxmox, container sering disebut CT.


8. Docker dan Container Aplikasi

Docker menggunakan image untuk menjalankan container aplikasi.

Contoh image:

nginx
mysql
wordpress
redis
grafana
prometheus

Alur sederhana:

Dockerfile
    |
Build Image
    |
Container Image
    |
Run Container
    |
Aplikasi Aktif

Sebuah container biasanya berisi:

  • aplikasi;

  • library;

  • runtime;

  • konfigurasi;

  • dependensi.

Container sebaiknya dibuat agar mudah dihentikan dan dibuat ulang.

Data penting tidak sebaiknya hanya disimpan di lapisan sementara container. Gunakan:

  • volume;

  • bind mount;

  • persistent storage;

  • database eksternal;

  • storage jaringan.


9. Pengertian Pod

Pod adalah unit terkecil yang dapat dijalankan dan dikelola oleh Kubernetes.

Satu pod dapat berisi satu atau beberapa container yang saling berkaitan. Container dalam satu pod berbagi sumber daya tertentu, termasuk jaringan dan storage yang didefinisikan untuk pod tersebut. (Kubernetes)

Contoh pod sederhana:

Pod Web
└── Container Nginx

Contoh pod dengan beberapa container:

Pod Aplikasi
├── Container Utama
├── Container Logging
└── Container Proxy

Container dalam satu pod dapat berkomunikasi melalui:

localhost

karena mereka berbagi ruang jaringan pod.


10. Container dan Pod Tidak Sama

Container adalah lingkungan tempat aplikasi berjalan.

Pod adalah pembungkus atau unit pengelolaan satu atau beberapa container di Kubernetes.

Node Kubernetes
   |
Pod
├── Container A
├── Container B
└── Shared Volume

Perbedaannya:

Aspek Container Pod
Fungsi Menjalankan aplikasi Mengelola satu atau beberapa container
Platform umum Docker, containerd Kubernetes
Jaringan Memiliki jaringan container Container dalam pod berbagi jaringan pod
Siklus hidup Dikelola container engine Dikelola Kubernetes
Skalabilitas Dijalankan satu per satu Umumnya dikelola controller

11. Pod Bersifat Sementara

Pod dirancang sebagai objek yang relatif sementara.

Pod dapat:

  • dibuat;

  • dijadwalkan ke node;

  • berjalan;

  • dihentikan;

  • gagal;

  • dihapus;

  • diganti oleh pod baru.

Jika sebuah node gagal, pod yang berada di node tersebut tidak sekadar berpindah sebagai objek yang sama. Controller Kubernetes dapat membuat pod pengganti, kemudian scheduler menempatkannya pada node yang sehat. (Kubernetes)

Karena itu, aplikasi Kubernetes sebaiknya tidak menganggap pod sebagai server permanen.


12. Deployment, ReplicaSet, dan Pod

Pod biasanya tidak dibuat satu per satu untuk aplikasi produksi.

Kubernetes menggunakan resource seperti Deployment untuk mengelola pod.

Alurnya:

Deployment
    |
ReplicaSet
    |
Pod 1
Pod 2
Pod 3

Deployment mendefinisikan kondisi yang diinginkan, kemudian controller menyesuaikan kondisi aktual agar mendekati kondisi tersebut. Deployment juga digunakan untuk pembaruan aplikasi dan pengelolaan ReplicaSet. (Kubernetes)

Contoh:

Desired replicas: 3
Actual replicas : 2

Controller akan mencoba membuat satu pod tambahan.


13. Jenis Workload Kubernetes

13.1 Deployment

Digunakan untuk aplikasi stateless.

Contoh:

  • web frontend;

  • API;

  • aplikasi web.

13.2 StatefulSet

Digunakan untuk aplikasi yang membutuhkan identitas dan penyimpanan lebih stabil.

Contoh:

  • database;

  • cluster aplikasi stateful;

  • layanan dengan urutan tertentu.

13.3 DaemonSet

Menjalankan pod pada setiap node atau node tertentu.

Contoh:

  • log collector;

  • monitoring agent;

  • network plugin.

13.4 Job

Digunakan untuk tugas yang dijalankan sampai selesai. Kubernetes Job dapat membuat satu atau beberapa pod dan mengulanginya sampai target penyelesaian tercapai. (Kubernetes)

Contoh:

  • backup;

  • migrasi database;

  • pemrosesan data;

  • pembuatan laporan.


14. Init Container dan Sidecar

14.1 Init Container

Init container berjalan sebelum container utama.

Contoh kegunaan:

  • menunggu database aktif;

  • mengunduh konfigurasi;

  • menyiapkan permission;

  • melakukan migrasi awal;

  • memeriksa dependensi.

Init container harus selesai dengan berhasil sebelum aplikasi utama dijalankan. (Kubernetes)

14.2 Sidecar Container

Sidecar berjalan bersama aplikasi utama.

Contoh:

  • pengirim log;

  • proxy;

  • sinkronisasi file;

  • agent keamanan;

  • service mesh proxy.


15. Pengertian Proxmox VE

Proxmox Virtual Environment adalah platform virtualisasi berbasis Debian Linux.

Proxmox menggabungkan:

  • KVM Virtual Machine;

  • LXC Container;

  • web management;

  • cluster;

  • storage management;

  • virtual networking;

  • firewall;

  • backup;

  • replication;

  • High Availability;

  • role-based access;

  • REST API.

Proxmox VE dirancang untuk mengelola VM dan container dari antarmuka web yang sama. (Proxmox)


16. Komponen Utama Proxmox

16.1 KVM

KVM digunakan untuk menjalankan virtual machine penuh.

Cocok untuk:

  • Windows Server;

  • Linux dengan kernel khusus;

  • MikroTik CHR;

  • firewall virtual;

  • aplikasi yang membutuhkan isolasi lebih kuat.

16.2 LXC

LXC digunakan untuk menjalankan Linux Container.

Cocok untuk:

  • aplikasi ringan;

  • web server;

  • DNS;

  • monitoring;

  • reverse proxy.

16.3 Web Interface

Proxmox dapat diakses melalui browser.

Contoh:

https://192.168.10.2:8006

16.4 Cluster Manager

Cluster menggabungkan beberapa node Proxmox agar dapat dikelola dalam satu lingkungan.

16.5 Storage Manager

Storage digunakan untuk menyimpan:

  • disk VM;

  • root filesystem container;

  • ISO;

  • template;

  • backup;

  • snippet.

16.6 Network Manager

Jaringan Proxmox dapat menggunakan:

  • Linux Bridge;

  • VLAN;

  • bond;

  • interface fisik;

  • software-defined networking.


17. Instalasi Dasar Proxmox

Tahapan umum:

1. Unduh ISO Proxmox VE.
2. Buat media instalasi.
3. Boot server dari media instalasi.
4. Pilih disk.
5. Tentukan negara dan zona waktu.
6. Buat password administrator.
7. Tentukan email.
8. Atur hostname.
9. Atur IP management.
10. Selesaikan instalasi.
11. Akses web interface.

Proxmox VE terus dikembangkan. Versi terbaru harus diperiksa sebelum instalasi agar dokumentasi, repository, dan kompatibilitas hardware sesuai. (Proxmox)


18. Konfigurasi Penting Setelah Instalasi

18.1 Hostname

Gunakan hostname yang jelas.

Contoh:

pve-node1.lab.local
pve-node2.lab.local
pve-node3.lab.local

Hindari mengubah hostname secara sembarangan setelah cluster terbentuk.

18.2 IP Address Statis

Node Proxmox sebaiknya menggunakan IP statis.

Contoh:

Node 1 : 192.168.10.11
Node 2 : 192.168.10.12
Node 3 : 192.168.10.13
Gateway: 192.168.10.1

18.3 DNS

Pastikan seluruh node dapat saling menerjemahkan hostname.

Gunakan:

  • DNS internal;

  • catatan /etc/hosts yang konsisten;

  • hostname unik.

18.4 Waktu dan NTP

Waktu seluruh node harus sinkron.

Waktu yang tidak sesuai dapat mengganggu:

  • cluster;

  • log;

  • autentikasi;

  • sertifikat;

  • monitoring;

  • analisis insiden.

18.5 Update Sistem

Lakukan update secara terencana.

apt update
apt full-upgrade

Backup konfigurasi dan workload penting sebelum upgrade besar.


19. Jaringan Proxmox

19.1 Linux Bridge

Linux Bridge berfungsi seperti switch virtual.

Contoh:

vmbr0

Topologi:

Interface Fisik
     |
   vmbr0
  ┌──┼────┐
 VM1 VM2  CT1

VM dan container dapat dihubungkan ke bridge yang sama.

19.2 Management Network

Digunakan untuk:

  • web interface;

  • SSH;

  • komunikasi cluster;

  • API.

Contoh:

192.168.10.0/24

19.3 VM Network

Digunakan untuk trafik aplikasi.

Contoh:

172.16.10.0/24

19.4 Storage Network

Digunakan untuk:

  • Ceph;

  • NFS;

  • iSCSI;

  • replikasi;

  • backup.

Contoh:

10.10.10.0/24

19.5 Corosync Network

Digunakan untuk komunikasi cluster.

Untuk cluster penting, jaringan Corosync sebaiknya:

  • stabil;

  • memiliki latensi rendah;

  • tidak penuh oleh trafik backup;

  • memiliki redundansi jika memungkinkan.


20. Bonding

Bonding menggabungkan beberapa interface jaringan.

Tujuan bonding:

  • redundansi;

  • peningkatan bandwidth pada mode tertentu;

  • failover interface.

Contoh:

eno1 ─┐
      ├── bond0 ── vmbr0
eno2 ─┘

Mode bonding harus disesuaikan dengan dukungan switch.

Contoh mode:

  • active-backup;

  • balance-xor;

  • 802.3ad atau LACP.


21. VLAN pada Proxmox

VLAN digunakan untuk memisahkan jaringan secara logis.

Contoh:

VLAN 10 : Management
VLAN 20 : Server
VLAN 30 : Storage
VLAN 40 : Cluster
VLAN 50 : Backup

Satu interface trunk dapat membawa beberapa VLAN.

Switch Trunk
     |
Proxmox
     |
VLAN-aware Bridge
├── VLAN 20 VM Server
├── VLAN 30 Storage
└── VLAN 40 Cluster

Segmentasi mengurangi pencampuran trafik dan mempermudah firewall.


22. Storage pada Proxmox

Storage merupakan bagian yang sangat penting.

Pilihan storage meliputi:

  • directory;

  • LVM;

  • LVM-Thin;

  • ZFS;

  • Ceph;

  • NFS;

  • iSCSI;

  • Proxmox Backup Server.

Proxmox menyediakan framework storage yang memungkinkan beberapa backend dikelola melalui web interface, API, atau command line. (Proxmox VE)


23. Local Storage

Storage lokal berada pada satu node.

Contohnya:

  • local directory;

  • local-lvm;

  • ZFS lokal.

Kelebihan:

  • mudah;

  • murah;

  • performa baik;

  • cocok untuk laboratorium.

Kekurangan:

  • data tidak otomatis tersedia pada node lain;

  • migrasi tertentu memerlukan pemindahan disk;

  • kegagalan node dapat membuat workload tidak tersedia.


24. Shared Storage

Shared storage dapat diakses oleh beberapa node.

Contoh:

  • NFS;

  • iSCSI;

  • Ceph;

  • storage area network.

Topologi:

Node 1 ─┐
Node 2 ─┼── Shared Storage
Node 3 ─┘

Shared storage mempermudah:

  • migrasi VM;

  • HA;

  • pemindahan workload;

  • pengelolaan disk bersama.

Namun, shared storage juga harus memiliki redundansi. Jika storage bersama menjadi satu titik kegagalan, seluruh cluster dapat kehilangan akses ke disk VM.


25. ZFS

ZFS merupakan filesystem dan volume manager.

Fitur penting:

  • checksum;

  • snapshot;

  • compression;

  • replication;

  • RAID-Z;

  • integritas data.

ZFS cocok untuk:

  • server tunggal;

  • storage lokal kuat;

  • snapshot;

  • replikasi antarnode.

ZFS membutuhkan perencanaan RAM, disk, dan redundancy.


26. Ceph

Ceph adalah distributed storage.

Data disebarkan ke beberapa node dan disk.

Contoh:

Node 1: OSD
Node 2: OSD
Node 3: OSD

Keuntungan:

  • storage terdistribusi;

  • redundansi;

  • dapat berkembang;

  • mendukung lingkungan cluster;

  • mengurangi ketergantungan pada satu storage eksternal.

Kekurangan:

  • membutuhkan minimal beberapa node;

  • membutuhkan jaringan cepat;

  • konfigurasi lebih kompleks;

  • memerlukan disk dan sumber daya memadai.

Untuk laboratorium kecil, Ceph dapat disimulasikan. Untuk produksi, kapasitas, jaringan, jenis disk, dan jumlah node harus direncanakan dengan baik.


27. Cluster Proxmox

Cluster adalah kumpulan node Proxmox yang dikelola bersama.

Contoh:

Cluster: LAB-CLUSTER
├── pve-node1
├── pve-node2
└── pve-node3

Manfaat cluster:

  • satu antarmuka pengelolaan;

  • migrasi VM;

  • pengelolaan storage bersama;

  • pengelolaan user;

  • High Availability;

  • konsistensi konfigurasi cluster.

Proxmox menggunakan Proxmox Cluster File System atau pmxcfs untuk menyimpan dan mendistribusikan konfigurasi cluster. (Proxmox VE)


28. Quorum

Quorum digunakan agar cluster dapat mengambil keputusan secara aman.

Dalam cluster tiga node:

Node 1 aktif
Node 2 aktif
Node 3 gagal

Dua node masih membentuk mayoritas.

Jika hanya menggunakan dua node, kegagalan komunikasi dapat menimbulkan kebingungan mengenai node mana yang masih benar.

Karena itu, cluster HA umumnya lebih baik menggunakan minimal tiga vote.

Vote dapat berasal dari:

  • node cluster;

  • QDevice pada skenario tertentu.

Quorum membantu mencegah dua bagian cluster berjalan sendiri-sendiri dan mengaktifkan workload yang sama.


29. Split Brain

Split brain adalah kondisi ketika beberapa bagian cluster kehilangan komunikasi tetapi masing-masing menganggap dirinya masih aktif.

Risikonya:

  • VM yang sama aktif di dua lokasi;

  • data rusak;

  • konflik storage;

  • konfigurasi berbeda;

  • layanan tidak konsisten.

Pencegahan:

  • quorum;

  • jaringan cluster yang stabil;

  • fencing;

  • watchdog;

  • konfigurasi HA yang benar;

  • redundansi jaringan.


30. High Availability

High Availability atau HA adalah kemampuan sistem untuk menjaga layanan tetap tersedia ketika terjadi kegagalan.

Tujuan HA bukan menjamin sistem tidak pernah gagal. Tujuannya adalah:

  • mendeteksi kegagalan;

  • mengambil keputusan;

  • memindahkan atau menyalakan ulang layanan;

  • mengurangi waktu gangguan.

Contoh:

VM CBT berjalan di Node 1
        |
Node 1 gagal
        |
Cluster mendeteksi kegagalan
        |
VM CBT dijalankan di Node 2

Proxmox VE menyediakan pengelolaan High Availability untuk VM dan container dalam cluster. (Proxmox)


31. Komponen HA Proxmox

31.1 Cluster

Node harus tergabung dalam cluster.

31.2 Quorum

Cluster harus memiliki quorum untuk mengambil keputusan.

31.3 HA Manager

HA Manager memantau dan mengelola resource HA.

31.4 Watchdog

Watchdog membantu mendeteksi node bermasalah dan mendukung proses fencing.

31.5 Storage

Disk workload harus dapat digunakan pada node tujuan.

Pilihan:

  • shared storage;

  • Ceph;

  • replikasi ZFS;

  • metode pemindahan lain yang sesuai.

31.6 Network

Node tujuan harus mempunyai jaringan yang dapat menggantikan fungsi node asal.

Bridge dan VLAN harus konsisten.


32. Cara Kerja HA

Alur kerja sederhana:

1. VM berjalan di Node 1.
2. Cluster memantau Node 1.
3. Node 1 gagal atau terisolasi.
4. Cluster memastikan kondisi node.
5. Resource HA dipindahkan ke Node 2.
6. VM dijalankan pada Node 2.
7. Layanan kembali tersedia.

Flowchart:

[Mulai]
    |
[VM berjalan di Node Aktif]
    |
[Node masih sehat?]
   / \
 Ya   Tidak
 |      |
 |   [Cluster mendeteksi kegagalan]
 |      |
 |   [Quorum tersedia?]
 |      |
 |   [Fencing/Watchdog]
 |      |
 |   [Pilih Node Tujuan]
 |      |
 |   [Pastikan storage tersedia]
 |      |
 |   [Jalankan VM/CT]
 |      |
 |   [Periksa layanan]
 |      |
 └---->[Layanan tersedia]

33. HA Tidak Sama dengan Live Migration

Live Migration

Live migration memindahkan VM dari satu node ke node lain secara terencana.

Contoh:

Node 1 akan maintenance
        |
VM dipindahkan ke Node 2
        |
Node 1 dimatikan

High Availability

HA bekerja ketika terjadi kegagalan atau ketika resource harus dipulihkan otomatis.

Contoh:

Node 1 tiba-tiba mati
        |
VM dinyalakan kembali di Node 2

Live migration membantu menghindari downtime saat maintenance.

HA membantu mengurangi downtime ketika terjadi kegagalan.


34. HA Tidak Sama dengan Backup

HA membuat layanan cepat tersedia kembali.

Backup membuat salinan data agar dapat dipulihkan.

Contoh:

Node gagal:
HA menyalakan VM di node lain.

Data terhapus:
Backup mengembalikan data sebelumnya.

HA tidak selalu dapat membantu jika:

  • file dihapus;

  • database rusak;

  • ransomware mengenkripsi data;

  • aplikasi salah konfigurasi;

  • data sudah ikut direplikasi dalam kondisi rusak.

Karena itu, HA dan backup harus digunakan bersama.

Proxmox VE dapat membuat backup penuh yang mencakup konfigurasi dan data VM atau container. Backup dapat dijalankan melalui GUI maupun perintah vzdump. (Proxmox VE)


35. HA Tidak Sama dengan Disaster Recovery

Disaster Recovery atau DR digunakan untuk memulihkan layanan setelah bencana besar.

Contoh:

  • gedung terbakar;

  • seluruh cluster rusak;

  • storage utama gagal;

  • serangan ransomware;

  • lokasi kehilangan listrik dalam waktu lama.

Perbandingan:

Konsep Tujuan
HA Menjaga layanan tetap tersedia saat komponen gagal
Backup Menyediakan salinan data
Replication Menyalin data ke lokasi lain
DR Memulihkan layanan setelah bencana besar

36. Backup di Proxmox

Backup dapat dilakukan ke:

  • disk lokal;

  • NFS;

  • storage eksternal;

  • Proxmox Backup Server.

Data yang dibackup:

  • konfigurasi VM;

  • disk VM;

  • konfigurasi container;

  • data container.

Strategi backup perlu mempertimbangkan:

  • frekuensi;

  • retensi;

  • lokasi;

  • enkripsi;

  • pengujian restore;

  • backup di luar cluster.


37. Proxmox Backup Server

Proxmox Backup Server atau PBS dirancang untuk backup VM, container, dan host.

Fitur penting:

  • incremental backup;

  • deduplication;

  • compression;

  • encryption;

  • verification;

  • retention;

  • restore.

PBS sebaiknya tidak hanya berada pada storage yang sama dengan cluster utama.

Topologi:

Proxmox Cluster
       |
   Backup Network
       |
Proxmox Backup Server
       |
Storage Backup

38. Replication

Replication menyalin disk atau data VM dari satu node ke node lain.

Pada ZFS replication:

Node 1 ZFS
    |
Replication
    |
Node 2 ZFS

Replication membantu mempercepat pemulihan karena salinan data sudah tersedia pada node tujuan.

Namun, replication bukan pengganti backup. Kerusakan atau penghapusan data dapat ikut disalin.


39. Membuat Cluster Proxmox

Contoh nama cluster:

pvecm create LAB-CLUSTER

Menampilkan status:

pvecm status

Pada node lain, gunakan informasi join yang diberikan cluster.

Sebelum join:

  • pastikan hostname benar;

  • IP statis;

  • waktu sinkron;

  • node belum memiliki guest yang konflik;

  • DNS atau hosts benar;

  • jaringan stabil.

Dokumentasi cluster Proxmox menjelaskan bahwa node yang akan bergabung perlu dipersiapkan dengan hati-hati, khususnya jika sudah memiliki guest. Salah satu pendekatan aman adalah membackup guest terlebih dahulu sebelum node dimasukkan ke cluster. (Proxmox VE)


40. Menambahkan Resource ke HA

Secara konsep:

Datacenter
   |
HA
   |
Add Resource
   |
Pilih VM atau CT

Tentukan:

  • resource ID;

  • group;

  • state;

  • preferred node;

  • prioritas jika diperlukan.

Sebelum mengaktifkan HA, lakukan pengujian manual:

  1. pastikan VM dapat dimigrasi;

  2. pastikan storage dapat diakses;

  3. pastikan bridge tersedia di node tujuan;

  4. pastikan CPU kompatibel;

  5. pastikan VM dapat boot;

  6. pastikan layanan dapat diakses.


41. HA Group

HA Group digunakan untuk mengatur node yang boleh menjalankan resource tertentu.

Contoh:

Group: SERVER-HA
Nodes:
pve-node1 priority 3
pve-node2 priority 2
pve-node3 priority 1

Resource lebih diutamakan berjalan pada node dengan prioritas lebih tinggi, bergantung pada konfigurasi dan kondisi cluster.

HA group dapat membantu:

  • menentukan preferred node;

  • membatasi lokasi workload;

  • mengelompokkan server;

  • merencanakan kapasitas.


42. Kapasitas untuk Failover

Cluster tidak boleh menggunakan seluruh sumber daya pada kondisi normal.

Misalnya:

Node 1: RAM terpakai 90%
Node 2: RAM terpakai 90%
Node 3: RAM terpakai 90%

Jika satu node gagal, node lain mungkin tidak memiliki kapasitas untuk menjalankan VM tambahan.

Gunakan prinsip N+1.

Artinya, cluster menyediakan kapasitas untuk menanggung kegagalan minimal satu node.

Contoh:

Total kebutuhan workload: 120 GB RAM
Kapasitas tiga node     : 192 GB RAM

Masih tersedia ruang untuk failover.


43. Contoh Topologi High Availability

                         INTERNET
                             |
                      Router/Firewall
                             |
                       Core Switch
           ┌─────────────────┼─────────────────┐
           |                 |                 |
      Proxmox Node 1    Proxmox Node 2    Proxmox Node 3
      192.168.10.11     192.168.10.12     192.168.10.13
           |                 |                 |
           └──────── Cluster/Corosync ─────────┘
                             |
                      Shared Storage
                    Ceph / NFS / iSCSI
                             |
                    Proxmox Backup Server

Jaringan dapat dipisahkan:

Management : 192.168.10.0/24
Cluster    : 192.168.20.0/24
Storage    : 10.10.10.0/24
VM Network : 172.16.10.0/24
Backup     : 10.20.20.0/24

44. Menjalankan Kubernetes di Atas Proxmox

Proxmox dapat digunakan sebagai lapisan infrastruktur untuk membuat VM Kubernetes.

Contoh:

Proxmox Cluster
├── VM Control Plane 1
├── VM Control Plane 2
├── VM Control Plane 3
├── VM Worker 1
├── VM Worker 2
└── VM Worker 3

Di dalam VM tersebut dijalankan:

  • container runtime;

  • kubelet;

  • control plane;

  • scheduler;

  • controller;

  • network plugin;

  • storage plugin.

Alurnya:

Hardware
   |
Proxmox
   |
VM Kubernetes Node
   |
Container Runtime
   |
Pod
   |
Container Aplikasi

45. Mengapa Kubernetes Sebaiknya Menggunakan VM?

Menjalankan Kubernetes node sebagai VM memberikan keuntungan:

  • isolasi;

  • snapshot;

  • backup;

  • clone;

  • pemindahan node;

  • fleksibilitas resource;

  • pemisahan jaringan;

  • simulasi banyak node.

Namun, jangan menganggap HA Proxmox otomatis menggantikan HA Kubernetes.

Keduanya bekerja pada lapisan berbeda.

HA Proxmox:
Menjaga VM Kubernetes tetap tersedia.

HA Kubernetes:
Menjaga pod dan aplikasi tetap tersedia.

46. Perbandingan HA Proxmox dan Kubernetes

Aspek Proxmox HA Kubernetes
Objek VM dan CT Pod dan workload
Lapisan Infrastruktur Aplikasi
Kegagalan node VM dinyalakan di node lain Pod pengganti dibuat pada node sehat
Storage Shared storage atau replication Persistent Volume
Pengelola HA Manager Controller dan Scheduler
Tujuan Ketersediaan mesin Ketersediaan aplikasi

Kubernetes menggunakan controller untuk mengelola replikasi dan pemulihan pod. Jika node gagal, controller dapat membuat pod pengganti dan scheduler menempatkannya pada node sehat. (Kubernetes)


47. Storage untuk Pod

Pod bersifat sementara, sehingga data penting membutuhkan persistent storage.

Gunakan:

  • Persistent Volume;

  • Persistent Volume Claim;

  • NFS;

  • Ceph;

  • CSI driver;

  • storage class.

Contoh:

Pod Database
     |
Persistent Volume Claim
     |
Ceph Storage

Jika pod diganti, data tetap berada pada storage.


48. Resource Request dan Limit

Container dalam pod dapat diberikan resource request dan limit.

Contoh:

resources:
  requests:
    cpu: "500m"
    memory: "512Mi"
  limits:
    cpu: "1"
    memory: "1Gi"

Request digunakan untuk membantu penjadwalan.

Limit membatasi penggunaan maksimum.

Kubernetes juga mengelompokkan pod ke kelas Quality of Service berdasarkan hubungan antara request dan limit. Kelas tersebut memengaruhi cara pod ditangani ketika node kekurangan sumber daya. (Kubernetes)


49. Health Check pada Pod

Kubernetes menyediakan probe:

Liveness Probe

Memeriksa apakah aplikasi masih hidup.

Jika gagal, container dapat direstart.

Readiness Probe

Memeriksa apakah aplikasi siap menerima trafik.

Jika gagal, pod dapat dikeluarkan sementara dari service.

Startup Probe

Digunakan untuk aplikasi yang membutuhkan waktu startup lama.

Probe membantu Kubernetes membedakan:

  • aplikasi masih memulai;

  • aplikasi belum siap;

  • aplikasi mengalami kegagalan.


50. Monitoring Proxmox

Hal yang perlu dipantau:

  • CPU;

  • RAM;

  • disk;

  • latency storage;

  • jaringan;

  • suhu;

  • status cluster;

  • quorum;

  • status HA;

  • backup;

  • replication;

  • error log;

  • umur disk;

  • SMART;

  • kapasitas storage.

Tools yang dapat digunakan:

  • dashboard Proxmox;

  • Prometheus;

  • Grafana;

  • Zabbix;

  • Netdata;

  • syslog server.


51. Log Penting Proxmox

Beberapa lokasi log yang sering diperiksa:

/var/log/syslog
/var/log/pve/tasks/
/var/log/pveproxy/
/var/log/pvedaemon.log
/var/log/pve-ha-lrm.log
/var/log/pve-ha-crm.log
/var/log/corosync/

Perintah dasar:

journalctl -xe

Service tertentu:

journalctl -u pveproxy
journalctl -u pvedaemon
journalctl -u corosync

Status cluster:

pvecm status

Status HA:

ha-manager status

52. Keamanan Proxmox

52.1 Gunakan jaringan management khusus

Jangan membuka web Proxmox secara bebas ke internet.

Akses sebaiknya melalui:

  • LAN admin;

  • VPN;

  • jump server;

  • firewall.

52.2 Gunakan autentikasi dua faktor

Aktifkan TFA untuk akun administrator.

52.3 Gunakan akun terpisah

Jangan menggunakan satu akun root bersama.

52.4 Terapkan role-based access

Berikan hak sesuai kebutuhan.

Contoh:

  • administrator;

  • operator VM;

  • auditor;

  • peserta praktikum.

52.5 Backup konfigurasi

Backup:

  • VM;

  • CT;

  • konfigurasi cluster;

  • dokumentasi jaringan;

  • credential penting secara aman.

52.6 Perbarui sistem

Update dilakukan terjadwal dan diuji.

52.7 Gunakan firewall

Gunakan:

  • firewall eksternal;

  • firewall Proxmox;

  • firewall VM;

  • segmentasi VLAN.


53. Best Practice High Availability

  1. Gunakan minimal tiga vote.

  2. Gunakan IP statis.

  3. Pastikan hostname dan DNS benar.

  4. Sinkronkan waktu.

  5. Pisahkan trafik cluster dan backup.

  6. Gunakan jaringan cluster stabil.

  7. Gunakan storage redundan.

  8. Sediakan kapasitas N+1.

  9. Uji migrasi sebelum HA.

  10. Uji failover secara berkala.

  11. Backup tetap wajib.

  12. Simpan backup di luar cluster.

  13. Monitoring dan alert harus aktif.

  14. Dokumentasikan setiap node.

  15. Jangan mengandalkan satu switch jika sistem kritis.


54. Skenario Laboratorium Sekolah

Sebuah sekolah memiliki tiga server Proxmox.

Node 1 : 192.168.10.11
Node 2 : 192.168.10.12
Node 3 : 192.168.10.13

Workload:

VM 101 : CBT Server
VM 102 : Database
CT 103 : Reverse Proxy
CT 104 : Monitoring
VM 105 : VPN Server

Storage:

Ceph Cluster

Backup:

Proxmox Backup Server
192.168.50.10

Kondisi normal:

Node 1 menjalankan CBT.
Node 2 menjalankan database.
Node 3 menjalankan monitoring dan VPN.

Ketika Node 1 gagal:

1. Cluster mendeteksi Node 1 tidak aktif.
2. Quorum tetap tersedia.
3. Node bermasalah diisolasi.
4. HA memilih Node 2 atau Node 3.
5. Disk CBT tersedia dari Ceph.
6. VM CBT dinyalakan.
7. Monitoring memeriksa layanan.
8. Administrator menerima notifikasi.

55. Flowchart Pemilihan VM atau Container

[Mulai]
    |
[Apakah membutuhkan OS berbeda?]
   / \
 Ya   Tidak
 |      |
[Gunakan VM] 
        |
[Apakah membutuhkan kernel sendiri?]
   / \
 Ya   Tidak
 |      |
[Gunakan VM] 
        |
[Apakah aplikasi Linux ringan?]
   / \
 Ya   Tidak
 |      |
[Gunakan LXC]   [Pertimbangkan VM]

Contoh:

Windows Server → VM
MikroTik CHR   → VM
Web Linux      → LXC atau VM
Docker Host    → VM atau host Linux khusus
Database kritis→ VM atau cluster database

56. Flowchart Deployment Aplikasi Container

[Source Code]
      |
[Build Container Image]
      |
[Push ke Registry]
      |
[Buat Deployment]
      |
[Kubernetes Membuat ReplicaSet]
      |
[ReplicaSet Membuat Pod]
      |
[Scheduler Memilih Node]
      |
[Kubelet Menjalankan Container]
      |
[Readiness Probe Berhasil?]
       / \
     Tidak Ya
       |   |
[Perbaiki] [Service Mengirim Trafik]

57. Flowchart High Availability Proxmox

[VM/CT berjalan]
       |
[Monitoring node]
       |
[Node sehat?]
   /          \
 Ya            Tidak
 |               |
[Tetap berjalan] |
                 |
       [Cluster memeriksa quorum]
                 |
       [Quorum tersedia?]
          /            \
       Tidak            Ya
        |                |
[Hentikan keputusan] [Fencing node gagal]
                         |
                 [Pilih node tujuan]
                         |
                 [Storage tersedia?]
                    /          \
                 Tidak          Ya
                   |             |
            [Kirim alert]   [Start VM/CT]
                                   |
                           [Layanan aktif?]
                              /        \
                           Tidak        Ya
                             |           |
                       [Troubleshoot] [Selesai]

58. Perbedaan Snapshot, Backup, Clone, dan Replication

Fitur Fungsi
Snapshot Menyimpan kondisi pada titik waktu tertentu
Backup Membuat salinan untuk pemulihan
Clone Menggandakan VM atau CT
Replication Menyalin data secara berkala ke node lain
HA Menyalakan workload pada node sehat
Migration Memindahkan workload ke node lain

Snapshot bukan pengganti backup karena biasanya masih bergantung pada storage yang sama.


59. Kesalahan Umum

Menggunakan dua node tanpa memahami quorum

Cluster dapat kehilangan kemampuan mengambil keputusan.

Menempatkan cluster dan backup pada jaringan yang sama

Trafik backup dapat mengganggu komunikasi cluster.

Menggunakan storage tunggal tanpa redundansi

Storage menjadi single point of failure.

Mengaktifkan HA tanpa menguji migrasi

VM mungkin gagal berjalan pada node tujuan.

Mengisi resource node hingga penuh

Tidak tersedia kapasitas untuk failover.

Tidak menguji restore

Backup belum tentu dapat digunakan jika tidak pernah diuji.

Menganggap replication sebagai backup

Data rusak dapat ikut direplikasi.

Membuka web Proxmox ke internet

Meningkatkan risiko serangan.

Menjalankan semua layanan dalam satu VM

Kerusakan satu VM dapat menghentikan seluruh layanan.


60. Aktivitas Praktikum

Praktik 1: Membuat VM

Peserta didik:

  • membuat VM Ubuntu;

  • mengatur CPU dan RAM;

  • memasang sistem operasi;

  • mengatur jaringan;

  • membuat snapshot.

Praktik 2: Membuat LXC

Peserta didik:

  • mengunduh template;

  • membuat container;

  • memberikan IP;

  • memasang web server;

  • membandingkan penggunaan RAM dengan VM.

Praktik 3: Membuat Cluster

Peserta didik:

  • menyiapkan tiga node virtual;

  • membuat cluster;

  • join node;

  • memeriksa quorum.

Praktik 4: Migration

Peserta didik:

  • memindahkan VM;

  • mengamati downtime;

  • memeriksa storage;

  • menguji layanan.

Praktik 5: HA

Peserta didik:

  • menambahkan resource HA;

  • mematikan node;

  • mengamati proses restart VM;

  • mencatat waktu pemulihan.

Praktik 6: Backup dan Restore

Peserta didik:

  • membuat backup;

  • menghapus VM percobaan;

  • melakukan restore;

  • membandingkan konfigurasi.

Praktik 7: Pod Kubernetes

Peserta didik:

  • membuat Deployment;

  • membuat tiga replica;

  • menghapus satu pod;

  • mengamati pod pengganti;

  • menguji scaling.


61. Soal Evaluasi

Pilihan Ganda

1. Virtualisasi memungkinkan ....

A. satu server menjalankan beberapa sistem virtual
B. satu server hanya menjalankan satu aplikasi
C. jaringan tidak membutuhkan IP
D. data tidak membutuhkan backup

2. Hypervisor berfungsi untuk ....

A. mengelola virtual machine dan hardware
B. membuat dokumen
C. memberikan nama domain
D. mengganti kabel

3. Virtual machine mempunyai ....

A. sistem operasi sendiri
B. hanya satu file teks
C. tidak memiliki RAM
D. tidak memiliki jaringan

4. Container berbagi ....

A. kernel host
B. monitor
C. keyboard
D. password pengguna

5. Pod merupakan ....

A. unit terkecil yang dikelola Kubernetes
B. switch jaringan
C. jenis kabel
D. alamat IP

6. Satu pod dapat berisi ....

A. satu atau beberapa container
B. satu server fisik saja
C. satu switch
D. satu router tanpa aplikasi

7. Proxmox menggunakan KVM untuk ....

A. virtual machine
B. DNS
C. DHCP
D. proxy

8. LXC digunakan untuk ....

A. Linux Container
B. jaringan Wi-Fi
C. sertifikat digital
D. domain internet

9. Cluster adalah ....

A. kumpulan node yang dikelola bersama
B. satu password
C. satu file backup
D. satu interface

10. Quorum membantu cluster ....

A. mengambil keputusan dengan aman
B. memperbesar disk
C. mengganti DNS
D. memasang aplikasi

11. HA digunakan untuk ....

A. mengurangi gangguan saat node gagal
B. mengganti backup
C. menyimpan password
D. menghapus log

12. Shared storage dapat diakses oleh ....

A. beberapa node
B. satu keyboard
C. satu browser saja
D. satu pengguna tanpa jaringan

13. Backup berbeda dari HA karena backup ....

A. menyimpan salinan data
B. memindahkan VM otomatis
C. membuat quorum
D. menjalankan pod

14. Deployment Kubernetes mengelola ....

A. Pod dan ReplicaSet
B. kabel fiber
C. BIOS
D. switch fisik

15. Persistent Volume digunakan untuk ....

A. menyimpan data pod secara lebih tetap
B. membuat pod sementara
C. menghapus container
D. mengatur monitor

Kunci Jawaban

1. A
2. A
3. A
4. A
5. A
6. A
7. A
8. A
9. A
10. A
11. A
12. A
13. A
14. A
15. A

62. Kesimpulan

Virtualisasi memungkinkan satu hardware fisik digunakan untuk menjalankan beberapa sistem dan aplikasi secara terisolasi.

Virtual machine memberikan sistem operasi lengkap, sedangkan container memberikan lingkungan yang lebih ringan dengan memanfaatkan kernel host.

Kubernetes mengelola container melalui pod dan controller. Pod bersifat relatif sementara, sehingga aplikasi perlu dirancang agar dapat dibuat ulang serta menggunakan persistent storage untuk data penting.

Proxmox VE menggabungkan:

  • KVM;

  • LXC;

  • storage;

  • virtual network;

  • cluster;

  • backup;

  • replication;

  • High Availability.

High Availability menjaga layanan dapat dipulihkan pada node lain ketika terjadi kegagalan. Namun, HA tidak menggantikan backup dan disaster recovery.

Infrastruktur yang baik perlu menggabungkan:

Virtualisasi
+ Cluster
+ Storage redundan
+ High Availability
+ Backup
+ Monitoring
+ Keamanan
+ Pengujian berkala

Dengan memahami konsep tersebut, peserta didik dapat melanjutkan ke praktik:

  • instalasi Proxmox;

  • pembuatan VM dan container;

  • Docker;

  • Kubernetes;

  • pod;

  • cluster;

  • shared storage;

  • live migration;

  • backup;

  • replication;

  • High Availability;

  • monitoring data center.