Showing posts with label cluster. Show all posts
Showing posts with label cluster. Show all posts

Friday, July 22, 2011

Design Solusi Cluster


Solusi Design Clustering System Sesuai Kebutuhan Dalam Organisasi Anda Untuk Memberikan Tingkat Availability Yang Tinggi
Article ini lanjutan dari system cluster sebelumnya. Satu hal yang perlu anda putuskan saat anda mempertimbangkan solusi clustering untuk jaringan anda adalah apa yang anda harapkan dalam merealisasikan cluster – dengan kata lain seberapa availability, reliability, dan scalability yang anda perlukan. Beberapa organisasi menganggap suatu downtime sekecil apapun tidak bisa ditolerir, maka tingkat availability yang tinggi sangat diharapkan, dan clustering dapat memberikan suatu solusi yang melindungi terhadap tiga macam kemungkinan kegagalan:
Kegagalan software
Kegagalan software dari aplikasi yang sangat kritis bisa mengakibatkan terganggunya applikasi tersebut untuk berjalan dengan sempurna. Kegagalan software bisa merupakan akibat dari suatu upgrade software, konflik dengan software yang baru saja diinstall. Kalau saja si administrator tidak melakukan upgrade kepada semua node cluster secara bersamaan, maka seharusnya system cluster masih bisa diharapkan berjalan normal dengan kegagalan software pada salah satu node.
Kegagalan hardware
Bisa saja merupakan kerusakan hard disk, power supply, atau komponen hardware apa saja mengingat barang electronic mempunyai batas waktu kerja dan ada saatnya gagal / rusak. Dan system cluster tidak menyebabkan kegagalan applikasi secara keseluruhan. Administrator bisa memperbaiki kegagalan hardware ini tanpa harus membuat down applikasi vital.
Kegagalan site
Pada kasus cluster yang tersebar secara geografis dimana organisasi terhubung antar site, server-2 berada di gedung atau kota yang berbeda. Suatu cluster multi-site dimana terjadi suatu disaster yang melulu lantakkan seluruh site, tidak akan menjadikan system applikasi ini ambruk.
Scalling Cluster
Server cluster dan network load balancing keduanya merupakan solusi cluster yang bersifat scalable, yang artinya anda bisa meningkatkan performa dari system cluster tersebut seiring dengan meningkatnya / tumbuhnya organisasi anda. Ada dua macam metoda dasar untuk meningkatkan performa cluster, sperti berikut ini.
Scalling Up
Scalling Up adalah metoda untuk meningkatkan performa individu server dengan cara memodifikasi konfigurasi hardware computer / node cluster, misal menambah memory RAM atau L2 cache memory, upgrade ke processor yang lebih cepat atau menambah processor. Memperbaiki performa dari komputer seperti ini tidak tergantung dari solusi cluster yang anda gunakan. Akan tetapi anda juga harus memprtimbangkan kemampuan performa individu dari masing-2 node didalam cluster. Misal jika anda mengupgrade active server dengan performa tinggi, sementara passive node nya tidak diupgrade dengan baik, takutnya pada saatnya passive node menjadi / mengambil alih fungsi, maka dia tidak akan mampu menjalankan fungsinya dengan baik mengingat performa mesinnya tidak sebagus active node. Untuk itu ada baiknya melakukan scale up untuk setiap node server dalam cluster ke tingkat yang sama, sehingga memberikan performa optimum pada tingkat yang sama dalam kondisi apapun.
Scaling out
Scalling out adalah metoda untuk menambah node kedalam system cluster yang ada sekarang. Jika anda mendistribusikan beban prosessing suatu applikasi ke beberapa server, menambahkan beberapa server akan mengurangi beban individu server dalam cluster tersebut. server cluster dan network load balancing keduanya bisa di scale out, akan tetapi lebih menambahkan server ke network load balancing.
Dalam network load balancing, setiap server node mempunyai masing-2 data independent yang berisi applikasi dan data yang di pasok kepada clients. Scalling out cluster adalah semata-mata menghubungkan server baru kedalam jaringan cluster dan melakukan cloning applikasi dan data kepadanya. Segera setelah anda menambahkan server kepada network load balancing, NLB akan membagi beban yang sama kepada server baru tersebut.
Lain halnya dengan scalling out server cluster yang lebih rumit dibanding NLB, karena server didalam cluster harus mempunyai akses kepada data storage yang sama. Tergantung dari konfigurasi hardware yang anda pakai, scalling out server cluster bisa jadi sangat mahal dan bahkan menjadi tidak mungkin. Jika dalam awalnya anda sudah mengantisipasi adanya scalling out server cluster dimasa mendatang, maka anda harus melakukan design konfigurasi hardware dengan memasukkan antisipasi scalling out tersebut kedalam design anda.
Kita juga harus ingat bahwa scalabilitas dari cluster dibatasi oleh kemampuan operating system windows yang kita pakai, baik windows server 2003 ataupun windows server 2000. Saat kita melakukan scale out suatu cluster, jumlah maksimum dari node yang didukung oleh windows operating system sebagai berikut:
Operating systemNetwork Load BalancingServer Cluster
Windows server 2003 standard edition32Not supported
Windows server 2003 enterprise edition328
Windows server 2003 datacenter edition328
Windows 2000 advance server322
Windows 2000 datacenter server324
Jika kita melakukan scaling up suatu cluster, operating system mempunyai batasan sebagai berikut:
Operating systemJumlah maksimum processorMaximum RAM
Windows server 2003 standard edition24 GB
Windows server 2003 enterprise edition832 GB
Windows server 2003 datacenter edition3264 GB
Windows 2000 advance server88 GB
Windows 2000 datacenter server3264 GB
Server-2 didalam suatu cluster dapat menjalankan beberapa aplikasi, jadi kita bisa mengkombinasikan beberapa applikasi didalam satu cluster tunggal, atau membuat satu cluster terpisah untuk masing-2 applikasi. Contoh berikut ini adalah cluster yang menjalankan dua applikasi di setiap masing-2 node. Kegagalan satu node mengakibatkan kedua applikasi gagal pada node tersebut dan node sisanya harus bisa menghandle dan memberikan performa yang memadai untuk kedua applikasi.
Solusi Cluster Dua Aplikasi Tiap Node
Solusi Cluster Dua Aplikasi Tiap Node
Model berikut menggunakan satu applikasi independent untuk setiap cluster, dan kegagalan satu server hanya mempengaruhi satu applikasi saja. Model ini sangat mahal karena harus menyediakan satu server passive untuk setiap cluster, walaupun model ini memberikan tingakat availability yang tinggi.
Solusi Cluster Satu Aplikasi Tiap Node
Solusi Cluster Satu Aplikasi Tiap Node
Adalah juga memungkinkan menggabungkan kedua model diatas menjadi seperti gambar dibawah ini dimana setiap applikasi berjalan di masing-2 node server dan satu node sebagai node passive untuk kedua applikasi. Jika salah satu node aktif gagal, maka akan fallback ke node passive.
Solusi Cluster dua aplikasi satu passive
Solusi Cluster dua aplikasi satu passive
Menggabungkan technology clustering
Dalam beberapa kasus, ada hal yang memutuskan kita untuk menggabungkan jenis cluster menjadi satu system cluster. Yang paling banyak diadopsikan adalah pada aplikasi e-commerce Web site yang membolehkan internet user membuat order produk. Jenis site ini memerlukan web server (yang merupakan stateless application) untuk menjalankan fungsi web kepada clients, sementara (stateful) database servers untuk menyimpan data customer, data produk, dan informasi data entry lainnya. Dalam pendekatan system cluster ini anda memakai NLB untuk web server sementara untuk database server menggunakan server cluster.

Solusi Cluster Server


Memahami konsep technology clustering dalam system windows server 2003 untuk menjaga kesinambungan produksi dan ketersediaan.
Jika suatu organisasi menjadi begitu tergantung kepada infrastrucktur jaringan komputer, dan downtime system bukanlah sesuatu yang bisa ditolerer, maka Clustring menjadi suatu keharusan dalam business mereka. Banyak sekali bsnis sekarang ini mengandalkan website untuk semua urusan dalam bisnis mereka, jika server mereka down maka business berhenti. Clustering haruslah menjadi solusi yang harus diadopsi dalam system server mereka agar kesinambungan bisnis tetap berjalan sempurna.
Apa sich sebenarnya Clustering itu?
Suatu clustering adalah suatu kelompok dua atau lebih server yang didedikasikan khusus untuk menjalankan suatu applikasi (atau beberapa applikasi) dan dikoneksikan sedemikian rupa agar memberikan suatu fault tolerance dan load balancing. Fault tolerance mungkin asing bagi kita, gampangnya jika salah satu mesin tidak bisa menunaikan fungsinya atau mati, maka akan di ambil alih / digantikan oleh mesin lainnya secara automatis.
Dalam system server cluster, masing-2 server menjalankan applikasi kritis yang sama, sehingga apabila salah satu server gagal fungsi, maka server lainnya akan mendeteksi kegagalan fungsi ini dan mengambil alih fungsinya hanya dalam hitungan beberapa saat saja. Hal ini disebut sebagai “failover”. Jika node yang gagal fungsi tadi kembali normal, maka node-2 yang lain akan mengetahui kondisi ini dan system cluster akan kembali menggunakan node yang gagal fungsi tadi kembali. Kondisi ini disebut “failback”. Dalam system windows 2003, kemampuan clustering ini di install secara automatis, akan tetapi pada system windows 2000 anda harus menginstall module terpisah Microsoft Clustring System.
Technology Clustering
Didalam System Windows server 2003, ada dua jenis technology clustering yang berbeda yaitu Server Cluster dan Network Load Balancing (NLB). Perbedaan antara keduanya terletak pada jenis applikasi yang harus dijalankan oleh server-2 dan sifat dan karakteristic dari data yang mereka gunakan.
Network Load Balancing
Network Load Balancing dalam windows 2003 adalah jenis clustering yang lebih gampang di install, dikonfigure, dan di maintain. Anda bisa menggunakan hardware dan applikasi yang ada di komputer anda dan tidak ada tambahan software lagi yang perlu di install. Anda bisa menggunakan applikasi dalam windows 2003 itu yaitu “Network load balancing manager” untuk membuat, me-manaje, dan memonitor NLB cluster. NLB lebih banyak menjalan kan aplikasi yang stateles memory, biasanya berupa data yang tidak sering berubah.
  • Didukung oleh semua platform windows server 2003 dari Standard, Enterprise dan Datacenter.
  • Bisa menggunakan load balancing sampai 32 node server, dimana masing-2 mempunyai duplikat copy dari applikasi yang ingin anda berikan ke clients.
  • Full load balancing untuk traffic TCP dan UDP
  • Bisa untuk jenis server-2 seperti WEB, ISA, VPN, Media server, Terminal server
Network load balancing bekerja dengan cara menciptakan suatu adapter jaringan virtual (virtual network adapter) pada masing-masing node yang mewakili cluster sebagai suatu entitas tunggal. Adapter virtual mempunyai IP address dan address MAC (media access control) yang independent dari address-2 yang diberikan kepada interface jaringan fisik dari node-2 cluster tersebut. Clients akan mengakses permintaan applikasi ditujukan kepada IP address cluster ketimbang ditujukan ke masing-2 IP address individual dari masing-2 server node.
Solusi Server Cluster - NLB
Solusi Server Cluster - NLB
Jika datang suatu permintaan dari client ditujukan kepada IP address cluster, semua node dalam cluster menerima dan memproses message tersebut. Pada setiap node didalam cluster NLB, suatu NLB services berfungsi sebagai filter antara adapter cluster dan stack TCP/IP computer. Filter ini memungkinkan NLB untuk melakukan kalkulasi untuk menentukan node yang mana di dalam cluster yang akan bertanggungjawab merespon permintaan client ini. Untuk maksud ini, tidak diperlukan komunikasi antar node. Setiap host melakukan kalkulasi yang sama secara independen dan membuat keputusan apakah harus memproses permintaan client tersebut atau tidak. Formulasi kalkulasinya hanya akan berubah jikalau ada penambahan atau pengurangan node dalam cluster.
Perlu dicatat bahwa jika anda membuat beberapa node membentuk NLB server, anda harus membuat register resource record di system DNS anda dengan nama cluster dimana IP address yang dipakai adalah IP address virtual adapter.
Server Cluster
Server cluster di rancang untuk applikasi yang long-running di memory state atau applikasi yang datanya besar dan sering berubah yang lazim disebut sebagai statefull applications dan berisi database server seperti Microsoft SQL, Exchange server, server file dan printers. Semua node dalam cluster ini terhubung dengan suatu data set share SCSI bus atau SAN – storage area network. semua node mempunyai akses ke data applikasi yang sama, dan masing-2 node bisa memproses request dari client kapan saja. Anda bisa configure setiap node dari cluster ini menjadi passive atau active. Node yang active bisa menerima dan memproses permintaan dari clients, sementara node yang passive bersifat idle dan berfungsi sebagai “fallback” jika node yang active gagal.
Pada gambar berikut ini dimisalkan ada dua server yang membentuk suatu cluster dimana keduanya running windows server 2003 dan Microsoft SQL server dan masing-2 terhubung kepada piranti NAS yang sama yang berisi database. Kedua server juga mempunyai koneksi khusus yang dipakai mendeteksi detak jantung masing-2 kalau terjadi gagal fungsi.
Solusi server Cluster - Konsep
Solusi server Cluster - Konsep
Server A berfungsi sebagai node active sementara server B berfungsi sebagai passive node. Server A ini sepanjang waktu berfungsi normal, menjalankan applikasi database, menerima requests dari clients database, dan mengakses file-2 database pada piranti NAS. Akan tetapi tiba-2 server A karena suatu alasan tertentu gagal berfungsi, maka server B sebagai node passive mendeteksi kegagalan fungsi server active A ini dan serta merta menjadi node Active menggantikan fungsi server A memproses permintaan clients menggunakan database yang sama pada NAS.
  • Sama seperti NLB, server cluster juga mempunyai nama dan IP address terpisah dengan IP address masing-2 node. Makanya saat node active gagal, tidak ada perubahan fungsi yang dirasakan pada clients, karena system langsung di handle oleh passive node atau jika dalam X Node Clustering passive nodenya adalah survival node.
  • Server cluster hanya bisa jalan pada system windows server 2003 edisi Enterprise dan Datacenter saja, untuk edisi Windows 2003 standard hanya bisa jalan NLB. Masing-2 node tidak boleh menggunakan edisi windows 2003 yang berbeda, harus seragam, edisi Enterprise atau Datacenter saja.
  • Maksimum bisa sampai 8 nodes saja yang bisa berfungsi masing-2 failover dan failback. Failback tidak di configure by default, jadi harus di configure secara manual atau automatis. Kebanyakan para praktisi melakukan konfigurasi manual untuk failback agar bisa mengevaluasi kegagalan fungsi dari node tersebut.
  • Memerlukan hardware disk drive khusus missal Fibre Channel, Shared SCSI, atau SAN. Fibre Channel adalah suatu technology jaringan serial kecepatan tinggi sampai 100 Mbytes per second menggunakan komunikasi full-duplex. Sementara SCSI menggunakan technology sinyal parallel.
  • Dipakai pada SQL server, MS Exchange, File dan Print server dll.
X Node Clustering
Pengembangan yang sangat berarti dalam system cluster di windows server 2003 adalah jumlah node yang bisa sampai 8 node untuk failover dan failback. X node clustering memberikan kita pilihan untuk membuat minimum 2 node dengan maksimum sampai 8 node failover/failback.
Pada gambar berikut ini menjelaskan suatu konfigurasi cluster 4 node dimana masing-2 node adalah active node yang juga menjadi survival node dari node yang di tunjuk jika terjadi suatu failover. Masing-2 node mempunyai akses langsung kepada share storage / disk medium. Masing-2 server mempunyai primary role dan juga survival node yang ditunjuk. Masing-2 server ini mempunyai koneksi khusus melalui suatu koneksi jaringan dedicated khusus yang merupakan suatu pendeteksi detak jantung bagi keempat node sehingga masing-2 node bisa mendeteksi kalau ada detak jantung dari masing-2 node berhenti sehingga survival node yang ditunjuk bisa mengambil alih fungsi.
Solusi Server Cluster - X Node Clustering
Solusi Server Cluster - X Node Clustering
  1. Server A merupakan group Database server yang juga berfungsi sebagai survival node dari group Print and File server. Jika server D ini gagal fungsi, maka failover ke server A, ssehingga server A menjalankan 2 applikasi (database dan file server)
  2. Server B merupakan group Messaging server yang juga menjadi survival node dari group Database server. Jika database server gagal fungsi, maka failover ke server B.
  3. Server C merupakan group Layanan WEB yang juga berfungsi sebagai survival node dari group Messaging. Jika server B gagal fungsi, maka server C akan mengambil alih fungsi messaging.
  4. Server D adalah group Print & Files server yang juga menjadi survival node dari group layanan WEB. Jika server C gagal fungsi maka server D akan mengambil alih layanan WEB.
Keempat node ini menggunakan piranti data share yang sama yang bisa berupa Fibre Channel, Share SCSI, atau SAN atau share disk yang memungkinkan ke empat node bisa berbagi disk yang sama. Dengan design 4 node cluster seperti ini, keempat node mempunyai applikasi yang berbeda yang selalu aktif sementara dia juga berfungsi sebagai survival node dari applikasi yang ditunjuk.