Gambar 4. Flowchart cara kerja cluster scheduling pada Load Balancibg
Gambar 4 Menggambarkan tentang cara kerja Cluster Schedulling pada Load Balancing . Di awal script system akan menampilkan jam pada
user seperti yang ditunjukkan di kotak pertama kemudian system mengecek apakah jam pada user dan system sufah menunjukkan jam
06:00:00 atau belum jika sudah system akan menjalankan server pada mode Load Balancing setelah itu system akan kembali menunjukkan jam
sampai pada kondisi kedua yaitu jam 18:00:00. Jika jam pada user dan system sudah menunjuk angka yang sama pada jam tersebut system akan
mematikan mode Load Balancing dan menjalankan mode High Availability dan proses dinyatakan telah selesai.
3.3
Simulation Prototyping
Dalam perancangan sebuah jaringan, dibutuhkan sebuah software khusus di bidang jaringan untuk membuat simulasi dari topologi jaringan
yang akan dibuat. Hal ini digunakan untuk melihat design dari jaringan yang akan dibangun dan sebagai bahan presentasi. Tetapi dalam
penerapannya, tools yang digunakan dalam membuat simulasi dari topologi jaringan menggunakan Packet tracer dari Cisco
3.4 Implementation
Selanjutnya tahap implementasi akan diterapkan semua yang telah direncanakan dan didesign sebelumnya. Implementasi merupakan tahapan
yang sangat menentukan berhasil atau gagalnya perancangan yang dibangun. Analisis ini meliputi instalisasi linux ubuntu server beserta
konfigurasinya, pembuatan clusterserver, Pengujian ClusterServer, Pembuatan shell script untuk cluster schedulling, dan pengujian kinerja
cluster server dengan menggunakan cluster schedulling.
Instalisasi Linux ubuntu server dan konfigurasi server
Pembuatan cluster server ini menggunakan sistem operasi ubuntu server 12.04 32 bit yang merupakan salah satu dari distro
linux. Sistem operasi ini di install pada ketiga komputer yang akan dijadikan server. Pembuatan server ini tidak hanya meliputi
instalasi server akan tetapi juga meliputi konfigurasi jaringan dari ketiga server sehingga dapat diakses dengan komputer client
melalui Local Area Network. Pembuatan jaringan ini meliputi konfigurasi IP address dari tiap
– tiap server, netmask, dan pemberian hostname DNS disetiap server
Pembuatan Cluster Server
Pembuatan cluster server ditujukan kepada 3 buah server. Instalasi cluster dilakukan melalui console linux ubuntu dari tiap
– tiap server. Pada server 1 dan server 2 difungsikan sebagai server
high avaibility, sedangkan untuk server 3 difungsikan sebagai server load balance. Hubungan antara server 1 dan server 2
adalah master dan slave, yang dikarenakan menggunakan tehnik clusterfailover yang nantinya dapat saling berinteraksi antara
server 1 dan server 2 untuk dapat saling mem-backup kinerja dari sistem server. Dan untuk server 3 berfungsi sebagai penyeimbang
beban pada saat terjadi kepadatan pada jaringan.
Pengujian Cluster Server
Pengujian cluster meliputi pengujian kinerja dari tiap – tiap
cluster server yang telah dibuat pada jaringan dan menelaah jika terjadi kesalahan didalam konfigurasi cluster. Pengujian ini juga
meliputi pengalihan sistem ketika server master mengalami kegagalan sistem failure atau pun saat server sedang down dan
performa dari sistem server dengan membandingkan optimasi yang terjadi setelah cluster dibuat.
Pembuatan Shell Script Cluster Schedulling
Pembuatan shell script yang akan difungsikan sebagai cluster schedulling ditujukan kepada 2 buah node yaitu pada
server 1 yang bertindak sebagai master high avaibility dan server 3 yang bertugas sebagai load balance. Pembuatan shell script
dilakukan melalui console linux. Perintah shell script dibuat berdasarkan kondisi dimana jika beban jaringan server terlalu
berat, maka akan menukar service yang semula dari high avaibility menjadi load balance.
Pengujian Kinerja Cluster Schedulling
Pengujian cluster meliputi simulasi jaringan menggunakan aplikasi siege yang terinstal pada client dan aplikasi nload yang
terinstal pada server. Siege adalah aplikasi untuk mensimulasikan banyaknya user yang akan membebani satu jaringan server,
sedangkan nload adalah aplikasi yang digunakan untuk mengukur kecepatan bandwith. Pengujian ini digunakan untuk memastikan
apakah shell script yang dibuat telah berfungsi dengan baik dan keseluruhan server telah mampu bekerja sesuai dengan tujuan
semula. Pengujian ini juga dilakukan untuk mengukur tingkat performa tiap-tiap server dalam menangani bandwith jaringan.
3.5 Monitoring
Tahapan monitoring merupakan tahapan yang penting agar jaringan dan komunikasi dapat berjalan sesuai dengan keinginan dan tujuan awal
pada tahap awal analisa, maka perlu dilakukan kegiatan monitoring. Pada tahapan ini dilakukan beberapa percobaan untuk memastikan perangkat
yang digunakan bekerja dengan baik. Percobaan yang dilakukan antara lain memastikan semua komponen server terhubung dengan baik terhadap
client sehingga dapat di akses oleh user, dan cara yang dilakukan dengan melakukan ping dari komputer client ke server 1 maupun server 2.
Memastikan pula seluruh service cluster dapat bekerja dengan baik sehingga saat pengujian berlangsung segala macam kesalahan yang
terjadi dapat diminimalisir.
3.6 Management
Pada tahapan manajemen ini salah satu yang menjadi perhatian khusus adalah masalah policykebijakan. Kebijakan ini dibuat
bedasarkan dari hasil uji coba yang dilakukan pada cluster schedulling. Cluster schedulling yang dibuat menggunakan shell script dan dirancang
secara manual, ini dilakukan untuk menghindari terjadinya error ataupun kesalahan yang diakibatkan servis yang bentrok pada saat perpindahan
fungsi
cluster berlangsung.
Sehingga admin
berperan dalam
menghidupkan ataupun mematikan fungsi shell script yang dibutuhkan, serta melakukan pengawasan setiap konektivitas yang terjadi pada tiap
cluster server yang aktif. Perbaikan shell script juga diperlukan agar lebih efisien digunakan, sehingga nantinya cluster schedulling dapat beroperasi
secara otomatis tanpa campur tangan admin.
4. Hasil Dan Pembahasan
Setelah tahapan perancangan sistem, maka selanjutnya adalah implementasi sistem yang dibangun. Pada perancangan sistem ini meliputi
beberapa tahap antara lain instalisasi linux ubuntu server beserta konfigurasinya,
pembuatan clusterserver,
Pengujian ClusterServer,
Pembuatan shell script untuk cluster schedulling, dan pengujian kinerja cluster server dengan menggunakan cluster schedulling.
Tahap awal dengan menginstal Linux ubuntu server dan mengkonfigurasinya. Pembuatan cluster server ini menggunakan sistem
operasi ubuntu server 12.04 32 bit. Sistem operasi ini di install pada ketiga komputer yang akan dijadikan server. Pembuatan server ini tidak hanya
meliputi instalasi server akan tetapi juga meliputi konfigurasi jaringan dari ketiga server sehingga dapat diakses dengan komputer client melalui Local
Area Network sesuai dengan topology jaringan. Pembuatan jaringan ini meliputi konfigurasi IP address dari tiap
– tiap server, netmask, dan pemberian hostname DNS disetiap server
Tahap pembuatan cluster server ditujukan kepada 3 buah server node. Instalasi cluster dilakukan melalui console linux ubuntu dari tiap
– tiap node. Pada node 1 dan node 2 difungsikan sebagai server high avaibility,
sedangkan untuk node 3 difungsikan sebagai server load balance. Hubungan antara node 1 dan node 2 adalah master dan slave, yang dikarenakan
menggunakan tehnik cluster failover yang nantinya dapat saling berinteraksi antara node 1 dan node 2 untuk dapat saling mem-backup kinerja dari sistem
server. Dan untuk node 3 berfungsi sebagai penyeimbang beban pada saat terjadi kepadatan pada jaringan.
Pembuatan cluster high avaibility dimulai dengan menginstal aplikasi heartbeat pada node 1 dan node 2. Tahap berikut dengan mengkonfigurasi
tiga file berupa ha.cf, haresources dan authkeys yang terdapat pada direktori etcha.d di kedua node. Kemudian melakukan pendeklarasian DNS hosts di
node 1 dan 2 agar tiap-tiap node yang terhubung mampu mengenali hostname di setiap node. File ini berisi keterangan tentang beberapa node yang akan
dipakai oleh service heartbeat.[11]
Pembuatan cluster load balance dimulai dengan menginstal aplikasi haproxy pada node 3. Setelah itu, dilakukan pengkonfigurasian pada file
etchaproxyhaproxy.cfg. dan file etcdefaulthaproxy. [8] Tahap terakhir dengan membuat virtual ip public pada tiap-tiap node agar kedua server high
avaibility dan load balance dapat diakses oleh user dan tidak bentrok saat memberikan servis secara bergantian dengan menghidupkan dan mematikan
virtual ip yang dijadikan sebagai alamat public.
Pengujian cluster high avaibility dilakukan dengan cara simulasi kegagalan yang terjadi pada server utama dengan cara mematikan servis heartbeat pada server
master agar server slave mampu melakukan backup resources. Kemudian menghidupkan kembali servis pada server master untuk melihat apakah server
utama dapat mengambil resources kembali.