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.