SavefileArchive
USD/IDR ...
|
BTC ...
|
ETH ...
|
GOLD/gram ...
Terbaru
SavefileArchive — Tutorial coding, tips programming, dan dunia musik untuk developer & pecinta musik Indonesia

Cara Menggabungkan Resource 2 Server atau Lebih: RAM, CPU, dan Storage Jadi Lebih Besar

Cara Menggabungkan Resource 2 Server atau Lebih: RAM, CPU, dan Storage Jadi Lebih Besar

Bayangkan Anda punya dua server, masing-masing berkapasitas RAM 16GB dan 8 core CPU. Daripada keduanya berjalan terpisah, bagaimana jika resource tersebut bisa digabung menjadi satu dengan RAM 32GB dan 16 core CPU? Artikel ini membahas cara mewujudkannya — mulai dari solusi software gratis hingga pendekatan level hardware fisik.


Apakah Server Fisik Bisa Digabung Langsung?

Pertanyaan yang sering muncul: "Tanpa software apapun, bisakah RAM dua server fisik digabung?"

Jawaban singkat: Tidak bisa secara langsung. Setiap server fisik memiliki memory bus tersendiri yang terisolasi. RAM di Server A tidak bisa "dilihat" oleh prosesor di Server B tanpa perantara — baik itu software, firmware, atau hardware khusus.

Pendekatan Level Biaya Hasil
Server dual-socket (2 CPU 1 chassis) Hardware murni Sedang RAM benar-benar satu pool
CXL (Compute Express Link) Hardware modern Mahal Memory pool lintas server via PCIe
ScaleMP vSMP Foundation Firmware/hypervisor tipis Mahal (enterprise) OS melihat 1 server besar
Proxmox VE Virtualisasi Gratis 1 VM besar dari pool semua server
Kubernetes / k3s Container orchestration Gratis Aplikasi pakai resource semua server
GlusterFS / Ceph Software Gratis Storage digabung (3×1TB = 3TB)

Opsi 1: Server Dual-Socket — Solusi Hardware Paling Praktis

Cara paling "fisik" dan paling bersih adalah membeli atau menggunakan server dengan 2 slot CPU (dual-socket). Dua prosesor dalam satu chassis berbagi RAM secara langsung melalui bus hardware — OS melihatnya sebagai satu sistem besar.

[ Motherboard Dual-Socket ]
  CPU 1 (16 core)  +  CPU 2 (16 core)  =  32 core total
  RAM slot 1-8         RAM slot 9-16
  (128GB)              (128GB)          =  256GB total

OS melihat: 32 core CPU, 256GB RAM — satu server fisik

Arsitektur ini disebut NUMA (Non-Uniform Memory Access): prosesor bisa mengakses RAM miliknya sendiri (latensi rendah) maupun RAM prosesor lain (latensi sedikit lebih tinggi, tapi tetap sangat cepat karena dalam satu chassis).

# Cek apakah server Anda sudah NUMA:
numactl --hardware

# Output contoh server dual-socket:
# available: 2 nodes (0-1)
# node 0 cpus: 0 1 2 3 4 5 6 7     (CPU socket 1)
# node 0 size: 128000 MB
# node 1 cpus: 8 9 10 11 12 13 14 15 (CPU socket 2)
# node 1 size: 128000 MB
# Total: 256GB RAM tersedia untuk semua proses

Cocok untuk: database besar (PostgreSQL, MySQL), in-memory computing (Redis cluster besar), machine learning training.


Opsi 2: CXL (Compute Express Link) — Teknologi Hardware Terbaru

CXL adalah standar hardware terbaru (mulai 2022) yang memungkinkan beberapa server berbagi satu pool memory fisik melalui kabel PCIe generasi 5. Ini pendekatan hardware murni — tidak ada virtualisasi.

[ Server A ]          [ Server B ]          [ CXL Memory Shelf ]
  CPU: 32 core          CPU: 32 core          RAM: 512GB (shared)
       |                     |                      |
       +---------------------+----------------------+
                    CXL Fabric (PCIe Gen5)

Server A bisa akses 512GB shared memory
Server B bisa akses 512GB shared memory
Keduanya berbagi pool yang sama secara fisik

Persyaratan hardware:

  • Intel Xeon Sapphire Rapids (Gen 4) atau AMD EPYC Genoa ke atas
  • Motherboard dengan slot CXL
  • CXL memory expander atau CXL switch

Teknologi ini masih tergolong baru dan mahal, namun mulai masuk ke server datacenter modern pada 2024-2025.


Opsi 3: ScaleMP vSMP — RAM Fisik Digabung via Software Tipis

ScaleMP vSMP Foundation berjalan di bawah sistem operasi (seperti hypervisor yang sangat tipis). Ia menggabungkan RAM fisik dari beberapa server melalui jaringan InfiniBand berkecepatan tinggi, lalu mempresentasikannya sebagai satu server SMP besar ke OS.

[ Server A ]      [ Server B ]      [ Server C ]
  RAM: 64GB   +     RAM: 64GB   +     RAM: 64GB
  CPU: 16c           CPU: 16c          CPU: 16c
      |                  |                 |
      +------------------+-----------------+
              InfiniBand (latensi <1 microsecond)
                          |
              [ ScaleMP vSMP Layer ]
                          |
              OS melihat: 192GB RAM, 48 core CPU
              (Seperti satu server fisik besar)

Syarat utama: Koneksi InfiniBand antar server (bukan Ethernet biasa). Ethernet terlalu lambat untuk meneruskan akses memori antar server secara real-time — latensinya harus di bawah 1 mikrodetik.


Opsi 4: Proxmox VE — Gratis dan Paling Mudah Diimplementasi

Untuk kebanyakan pengguna dengan server yang sudah ada, Proxmox VE adalah pilihan paling realistis. Resource dari semua server dimasukkan ke satu pool, dan Anda bisa membuat VM yang alokasinya diambil dari pool tersebut.

# Install Proxmox di semua server, lalu:

# Di Server A — buat cluster:
pvecm create my-cluster

# Di Server B dan C — join:
pvecm add IP-SERVER-A

# Cek resource pool gabungan:
pvecm status

# Buat VM besar di web UI (https://IP-SERVER-A:8006):
# Pilih node, set RAM 32GB, CPU 16 core
# Proxmox alokasikan dari pool semua server

Opsi 5: Kubernetes — Pool Resource untuk Aplikasi Modern

Jika tujuan Anda menjalankan aplikasi (bukan satu OS tunggal), Kubernetes menggabungkan CPU dan RAM semua server ke satu pool dan mendistribusikan workload secara otomatis.

# Setup k3s (Kubernetes ringan) — di Server Master:
curl -sfL https://get.k3s.io | sh -

# Di Server Worker — join cluster:
curl -sfL https://get.k3s.io | \
  K3S_URL=https://IP-MASTER:6443 \
  K3S_TOKEN=$(cat /var/lib/rancher/k3s/server/node-token) sh -

# Lihat total resource dari semua server:
kubectl describe nodes | grep -A5 "Allocatable"
# cpu:     24        (3 server × 8 core)
# memory:  48Gi      (3 server × 16GB)

# Deploy aplikasi — Kubernetes otomatis pilih node yang punya resource cukup:
kubectl run app-besar --image=myapp \
  --requests='memory=20Gi,cpu=10'

Opsi 6: GlusterFS / Ceph — Gabungkan Storage

Khusus untuk menggabungkan kapasitas disk, GlusterFS dan Ceph bisa menjadikan storage dari beberapa server sebagai satu volume besar.

# Contoh GlusterFS: 3 server × 1TB = volume 3TB
sudo gluster volume create vol-besar replica 1 \
  server-a:/data \
  server-b:/data \
  server-c:/data
sudo gluster volume start vol-besar

# Mount di server manapun:
mount -t glusterfs server-a:/vol-besar /mnt/storage
# Hasilnya: /mnt/storage berukuran 3TB

Pilih Metode yang Tepat

Situasi Anda Rekomendasi
Beli server baru, butuh RAM besar Server dual-socket — paling bersih, hardware murni
Server sudah ada, mau digabung gratis Proxmox VE — paling praktis dan mudah
Aplikasi container/microservices Kubernetes / k3s — pool resource otomatis
Storage digabung jadi lebih besar GlusterFS atau Ceph
Enterprise, butuh RAM ratusan GB ScaleMP vSMP + InfiniBand
Datacenter modern (2024+) CXL memory pooling

Kesimpulan

Menggabungkan resource fisik server secara murni hardware membutuhkan investasi (dual-socket server atau CXL). Namun untuk server yang sudah ada, Proxmox VE adalah pilihan terbaik dan gratis — resource dari semua server masuk ke satu pool dan bisa dialokasikan ke VM sesuai kebutuhan. Jika Anda menjalankan aplikasi modern berbasis container, Kubernetes adalah solusi yang lebih scalable dan cloud-native.

Kuncinya: pilih berdasarkan kebutuhan nyata. Untuk RAM benar-benar fisik digabung → dual-socket atau CXL. Untuk resource pooling yang fleksibel dari server yang sudah ada → Proxmox atau Kubernetes.