Sekilas mengenai Cluster Server

Sekilas mengenai Clustering

Server merupakan induk dari segala komputer yang terhubung pada sebuah jaringan yang berfungsi sebagai pengatur sistem jaringan. Kegagalan devices pada sebuah server bukan suatu yang tidak mungkin terjadi sehingga diperlukan solusi agar sistem jaringan tidak terganggu. Bayangkan jika sebuah web server mati yang disebabkan oleh suatu hal (power supply mati atau yang lainnya), maka pengguna internet tidak akan bisa mengkakses situs pada web server tersebut. Clustering menawarkan solusi untuk menangani perpindahan tugas atau pemerataan beban dari satu server ke server yang lainnya apa bila terjadi kerusakan pada salah satu server.

Clustering

Dalam dunia komputer yang dimaksud dengan Server Clustering adalah menggunakan lebih dari satu server yang menyediakan redundant interconnections, sehingga user hanya mengetahui ada satu sistem server yang tersedia dan komputer client tidak menyadari jika terjadi kegagalan pada sistem server karena tersedianya server sebagai redundant atau backup. Clustering Server dapat digunakan untuk Load Balancing cluster ataupun Failover clustering (Server HA).

Server Cluster

Failover clustering (High Availability)

Failover clustering menyediakan solusi high availability server dimana jika terjadi kegagalan pada perangkat keras seperti power supply mati yang menyebabkan server mati total maka server lain anggota cluster yang akan mengambil alih fungsi dari server yang mati, sehingga komputer client tidak mengetahui jika terjadi kegagala pada server, karena proses yang dilakukan pada server yang gagal atau mati akan dilanjutkan oleh server cadangan. Konsep konfigurasi failover cluster adalah membuat satu server sebagai master server dan server yang lain menjadi slave server dimana saat server dalam keadaan normal master server menangani semua request dari client. Slave server akan mengambil alih tugas master server apabila master server tidak berfungsi atau mati. Failover server memiliki dua mode yaitu mode aktif-pasif (master-slave) dan (aktif-aktif).

  • Aktif-pasif (master-slave) : Dua server atau lebih, yang melayani service jaringan hanya satu server saja, yang lain hanya sebagai cadangan  jika terjadi kegagalan pada server aktif (master).
  • Aktif-aktif (master-master) : Dua server yang kedua duanya bisa melayani jaringan dan saling mem-backup, jika salah satu server mati maka server yang lain akan menggantikannya. Kedua server ini memiliki data yang sama persis.

Biasanya failover menggunakan shared storage  yang akan di gunakan bersamaan oleh lebih dari server. Tetapi ada juga yang tanpa menggunakan shared storage yaitu dengan menggunakan mirroring hard disk server.

Load balancing clustering

Load balancing cluster merupakan cluster server dimana anggota cluster server dikonfigurasikan untuk saling berbagi beban yang berfungsi mendistribusikan request dari client ke anggota server Load balanced Cluster. Tipe konfigurasi Loadbalancing Cluster sering disebut Load balanced cluster, sedangkan teknologi platform Load balancing sering disebut sebagai Load balancers.

Secara umum cara kerja Load balancer adalah menerima incoming request dari client dan meneruskan request tersebut pada server tertentu jika dibutuhkan. Load balancer menggunakan beberapa algoritma yang berbeda untuk melakukan control traffic network.Tujuan algoritma Load balancer adalah untuk mendistribusikan beban secara pintar atau memaksimalkan kerja anggota server cluster. Beberapa contoh algoritma Load balancer :

  1. Round-Robin. Algoritma round-robin mendistribusikan beban kepada semua server anggota cluster sehingga masing masing server mendapat beban yang sama dalam waktu yang sama. Round-robin cocok saat server anggota cluster memiliki kemampuan proccessing yang sama, jika tidak, beberapa server bisa jadi menerima request lebih dari kemampuan proccessing server itu sendiri sedang yang lainnya hanya mendapat beban lebih sedikit dari resource yang dimiliki.

  2. Weighted round-robin. Algoritma weighted round-robin melakukan perhitungan perbedaan kemampuan proccessing dari masing masing server anggota cluster. Administrator memasukan secara manual parameter beban yang akan ditangani oleh masing masing server anggota cluster, kemudian scheduling sequence secara otomatis dilakukan berdasarkan beban server. Request kemudian diarahkan ke server yang berbeda sesuai dengan round-robin scheduling sequence.

  3. Least-connection. Algoritma Least-connection melakukan pengiriman request pada server anggota cluster, berdasarkan pada server mana yang memiliki fewest connections (koneksi paling sedikit).

  4. Load-based. Algoritma Load-based mengirimkan paket request ke server anggota cluster berdasarkan server mana yang memiliki beban terkecil.

Fungsi Load Balancer

Menginterupsi traffic jaringan (web traffic,dll) yang diarahkan ke sebuah situs.

  1. Membagi traffic jaringan menjadi individual request dan menentukan server mana yang akan menerima individual requests.

  2. Me-monitor server yang ada serta memastikan server server tersebut merespon traffic. Jika terjadi kegagalan pada sebuah server maka server yang gagal tidak akan digunakan (menggunakan server yang masih bekerja).

  3. Menyediakan redundancy dengan menggunakan lebih dari satu unit failover skenario.

  4. Menawarkan distribusi content-aware seperti melakukan pembacaan URLs, intercepting cookies dan XML parsing.

Failover cluster VS Load Balancing

Failover cluster dan Load Balancing memiliki manfaat dalam memanage server secara bersamaan. Tapi untuk failover cluster memiliki beberapa kekurangan dibanding Load Balancing yaitu : Peng-integrasi-an masing-masing server yang agak rumit, khususnya pada perangkat lunak yang digunakan harus memiliki setting yang sama antar server anggota cluster. Selain itu failover cluster terbatas untuk beberapa protocol seperti HTTP, samba dll.

Sedang SLB (server load balancing) merupakan sebuah platform dan OS neutral. SLB dapat menyeimbangkan beban (Load) antar masing masing server. SLB juga mendukung beberapa network protocol dari HTTP hingga NFS, TCP dan UDP protocol. SLB di-desain secara simple sehingga tidak memerlukan interaksi antar server, sedikit melakukan trouble-shoot.

Dalam peng-konfigurasi-an server load balancing, load balancer diletakan didepan anggota server cluster dimana dianalogikan seperti sebuah gateway dari semua anggota server. Sedang failover clustering harus menggunakan protocol perangkat lunak yang sama untuk setiap server.

Pengalaman Penulis mengenai Linux failover cluster server

Penulis akan membagi pengalaman bagaimana cara mengkonfigurasi linux failover, ya karena memang baru failover yang pernah dikonfigurasi sedang untuk load balancing belum pernah sama sekali, masih sebatas teori. Perlu diketahui, meskipun failover ini menggunakan Linux, tetapi komputer klien bisa menggunakan sistem operasi apa saja (Linux, Windows, Android,dll). Yang paling perlu diketahui adalah failover ini bisa mendukung virtual machine ataupun mendukung cloud failover (agak rumit konfigurasinya).

Untuk topologi failover pada dasarnya ada dua yaitu menggunakan shared storage (NAS/SAN) dan tanpa menggunakan shared storage, cukup menggunakan hard disk internal pada masing-masing server. Gambar dibawah merupan topologi failover server menggunakan shared storage dimana aktif server  dan pasif server menyimpan data pada shared storage, sehingga jika ada salah satu server mati data masih ada di shared storage dan data masih bisa diakses oleh  server lain.

Failover menggunakan shared storage

Failover di bawah tidak menggunakan shared storage, tetapi cukup menggunakan internal hard disk, dan hard disk tersebut di konfigurasi mirror atau sering disebut juga dengan RAID 1 over network. Apapun yang ditulis pada aktif server, seperti format, membuat partisi (jika  diimplementasikan dengan iSCSI), dll, akan selalu terjadi sama persis pada hard disk pasif server.

 

Failover tanpa menggunakan shared storage

Untuk bagaimana konfigurasi dasar failover dan bagaimana konsepnya ikuti link di bawah ini.

Perangkat lunak pendukung failover
Konfigurasi Heartbeat
Konfigurasi DRBD



3 Responses

  1. nak tanya,, saya ada 2 server DB cluster.. skg memory free 1 server sudah low dan 1 lagi masih ok. saya ingin tambah memory, memang perlu ke tambah memory kena sama dgn kedua-dua server?

    • @ Zul, sorry nih baru buka buka blog saya lagi. Untuk cluster idealnya menggunakan memory yang sama dengan server pasangannya. Jika tidak juga tidak apa-apa, hanya saja jika salah satu down kemungkinan server tidak akan bekerja maksimal seperti server yang down tersebut jika server yang down tersebut memiliki spek yang lebih tinggi.

  2. thank atas penjelasannya… sekalian kasih contoh penggunaan dan konfigurasi servernya dong… soalnya.. bagus banget nih.. artikelnya….

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: