Sekilas tentang cluster server

Sekilas Mengenai Cluster Server
Server merupakan induk dari semua komputer yang terhubung pada sebuah jaringan yang berfungsi sebagai pusat data, pusat layanan informasi digital dan sebagainya. Kegagalan perangkat 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 workload  ataupun Failover clustering (Server HA). 
Server cluster
Gambar 1. 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 clientSlave 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.
  1. 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).
  2. Aktif-aktif (master-master) : Menggunakan dua atau lebih dengan konfigurasi tertentu yang kesemuanya melayani service jaringan dan saling mem-backup, jika salah satu server mati maka server lain akan menggantikannya. Masing-masing server memiliki atau dapat mengakses data yang sama pada shared storage
    Failover cluster
    Gambar 2. Failover cluster
Biasanya failover menggunakan shared storage yang akan digunakan bersamaan oleh lebih dari satu server. Tetapi ada juga yang tanpa menggunakan shared storage yaitu dengan menggunakan mirroring hard diskFailover ini umumnya digunakan untuk redundant perangkat server. Failover ini adalah fitur standar yang sudah dimiliki pada cluster server. Saat ini dengan kemajuan teknologi informasi solusi HA atau failover dalam satu cluster juga ditawarkan oleh teknologi baru yang disebut HCI (Hyper-converged Infrastructure).

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 Load balancing 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-robinAlgoritma 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 dengan penjelasan detil sebagai berikut :
  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 mengelola banyak server secara bersamaan. Akan tetapi 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 konfigurasi yang sama pada setiap 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 untuk menjadi simpel sehingga tidak memerlukan interaksi antar server, sedikit melakukan trouble-shoot.

Dalam peng-konfigurasi-an server load balancingload 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 external storage  (NAS/SAN) dan tanpa menggunakan external 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 salah satu server mati, data masih ada di external storage dan data masih bisa diakses oleh  server lain. 
Failover menggunakan shared storage
Gambar 3. Failover menggunakan shared storage



Beberapa contoh penerapan konfigurasi server high availability adalah sbb  :
  1. Membangun cluster storage server sebagai iSCSI target. Perangkat lunak yang dibutuhkan adalah adalah DRBD (Distributed Replicate Block Device) yang berfungsi untuk melakukan mirroring hard disk. Kemudian dibutuhkan heartbeat untuk melakukan proses failover.
  2. Membangun cluster web server dan database menggunakan DRBD dan heartbeat. 
Untuk semua konfigurasi loadbalance workload dan failover saat ini sangat mudah sekali menggunakan teknologi Hyper-Converged.
EoF

Posting Komentar

0 Komentar