Server Architecture: CPU, RAM, Storage, dan Resource Management
Memahami peran CPU, RAM, dan storage, membaca metrik beban, serta mengalokasikan resource VM/LXC secara sehat.
Memilih dan mengalokasikan resource adalah keputusan penting. Server yang kekurangan RAM atau storage bisa mati mendadak; server yang kelebihan alokasi membuang biaya. Modul ini membahas dasar arsitektur server dan cara mengukur beban.
CPU
CPU mengeksekusi instruksi. Di virtualisasi, kita mengenal core fisik, thread, dan vCPU.
| Istilah | Arti |
|---|---|
| Core | Inti pemrosesan fisik |
| Thread | Jalur eksekusi per core (hyper-threading/SMT) |
| vCPU | CPU virtual yang diberikan ke VM/LXC |
| Load average | Rata-rata proses runnable selama 1, 5, 15 menit |
Membaca load average:
uptime
cat /proc/loadavgJika load average secara konsisten lebih tinggi dari jumlah core, CPU menjadi bottleneck.
Monitoring CPU
top
htop
mpstat 1
pidstat 1| Metrik | Arti |
|---|---|
us | Waktu CPU untuk user process |
sy | Waktu CPU untuk kernel |
wa | Menunggu I/O |
id | Idle |
wa tinggi biasanya menandakan storage lambat, bukan CPU kurang.
RAM
RAM menyimpan data aktif. Kekurangan RAM memicu swap dan memperlambat sistem.
free -h
vmstat 1
cat /proc/meminfo | headKolom free | Arti |
|---|---|
total | Total RAM |
used | Terpakai |
free | Benar-benar kosong |
buff/cache | Cache filesystem, bisa dipakai ulang |
available | Perkiraan RAM yang masih bisa dipakai |
Jangan panik melihat used tinggi
Linux memakai RAM kosong untuk cache. Yang penting adalah available. Jika available kecil dan
swap aktif, barulah tekanan memori nyata.
Swap
swapon --show
free -hSwap di SSD bisa membantu darurat, tetapi bukan pengganti RAM. Untuk database, swap berlebihan dapat merusak performa.
Storage
| Jenis | Karakteristik | Cocok untuk |
|---|---|---|
| HDD | Murah, kapasitas besar, IOPS rendah | Arsip, backup |
| SATA SSD | Seimbang | Umum, VM ringan |
| NVMe SSD | Latensi rendah, IOPS tinggi | Database, VM aktif |
| Network storage | Fleksibel, latensi lebih tinggi | Backup, shared storage |
Metrik storage
df -hT
lsblk
iostat -xz 1
du -sh /var/lib/vz/*| Metrik | Arti |
|---|---|
%util | Persentase waktu disk sibuk |
await | Rata-rata waktu tunggu I/O |
r/s, w/s | Operasi baca/tulis per detik |
rkB/s, wkB/s | Throughput baca/tulis |
%util mendekati 100% dan await tinggi menandakan storage menjadi bottleneck.
RAID singkat
| RAID | Kelebihan | Kekurangan |
|---|---|---|
| RAID 0 | Cepat, kapasitas penuh | Tidak ada redundansi |
| RAID 1 | Mirror, aman | Kapasitas setengah |
| RAID 5 | Efisien kapasitas | Write penalty |
| RAID 10 | Cepat dan aman | Kapasitas lebih kecil |
RAID bukan pengganti backup.
Resource management di Proxmox
Alokasi CPU
qm set 100 --cores 2 --cpulimit 1.5 --cpuunits 1024
pct set 200 --cores 2 --cpulimit 1- cores — jumlah vCPU.
- cpulimit — batas maksimum CPU.
- cpuunits — prioritas relatif saat host sibuk.
Alokasi RAM
qm set 100 --memory 4096 --balloon 2048
pct set 200 --memory 2048 --swap 512Ballooning memungkinkan host mengambil RAM yang tidak dipakai VM. Tidak semua guest mendukung ballooning dengan baik.
Overcommit
Overcommit berarti total alokasi guest melebihi kapasitas fisik.
| Resource | Overcommit aman? | Catatan |
|---|---|---|
| CPU | Relatif aman | vCPU bisa antre, performa turun |
| RAM | Berisiko | Bisa OOM dan mematikan proses |
| Disk | Hati-hati | Thin provisioning bisa memenuhi storage |
Pantau sebelum menambah beban
Tambahkan VM/LXC baru setelah melihat tren CPU, RAM, dan I/O. Jangan hanya melihat angka kapasitas di dashboard.
Praktik: audit resource host
# 1. Kapasitas CPU
nproc
uptime
mpstat 1 5
# 2. Kapasitas RAM
free -h
vmstat 1 5
# 3. Kapasitas disk dan I/O
df -hT
iostat -xz 1 5
# 4. Daftar guest
qm list
pct list
pvesm statusBuat kesimpulan: apakah bottleneck ada di CPU, RAM, atau storage? Tindakan berbeda untuk setiap kasus.
Ringkasan
- CPU diukur dengan load average dan utilisasi per core.
- RAM perlu dilihat dari
available, bukan hanyaused. - Storage dinilai dari kapasitas, IOPS, dan latency.
- Overcommit CPU relatif aman; overcommit RAM dan disk berisiko.
Selanjutnya
Lindungi server di Firewall dan Basic Server Security.
SSH dan Remote Server Management
Mengelola server dari jarak jauh dengan SSH, autentikasi kunci, konfigurasi client/server, transfer file, dan tunneling.
Firewall dan Basic Server Security
Mengatur firewall dengan UFW dan nftables, memahami Proxmox firewall, serta menerapkan pertahanan dasar untuk server.