PEMANFAATAN FAILOVER CLUSTER SERVER GUNA RECOVERY SISTEM PADA PT.LINTAS DATA PRIMA
Naskah Publikasi
diajukan oleh Nanang Purnomo 11.21.0616
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
2
UTILIZATION OF FAILOVER CLUSTER SERVER FOR RECOVERY SYSTEM ON PT.LINTAS DATA PRIMA
PEMANFAATAN FAILOVER CLUSTER SERVER GUNA RECOVERY SISTEM PADA PT.LINTAS DATA PRIMA
Nanang Purnomo Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT
Recovery system is a process or procedure in which the system performs both data and recovery information when a system crash or failure in running function. Failure in the system can be hardware such as power supply off causing death and failure in the server service is not running as a web server, database service in not running and somethink else that cause the service of server can not perform as well. To overcome these replication methods can be used as system or server where there is a server that acts as backup server or cluster server. Backup server functioning provide system backup if the main server failure in running service whereis recovery process must run as otomatics or failover server. Failover cluster server concept is make one server run as master server or main server and other server run as slave server or backup server, when on normal condition, all service and request running on master server. But when master server failure or death ,all request and service will be take over by slave server.
Keywords
: Recovery system, master server, backup server, failover cluster
3
1.
Pendahuluan Server sebagai sebuah sistem komputer yang menyediakan berbagai jenis
layanan dalam jaringan komputer haruslah mempunyai kemampuan yang tinggi dalam melayani request-request dari client. Server akan menjadi sebuah bagian yang penting dalam sebuah usaha atau perusahaan manakala terdapat aplikasi-aplikasi penting perusahaan yang berjalan didalamnya. Kegagalan server dalam menjalankan service baik aplikasi maupun database tentunya akan menghambat pekerjaan dan dapat menggangu proses administrasi dari perusahaan yang bersangkutan. PT. Lintas Data Prima adalah sebuah perusahan jasa yang bergerak dibidang internet connection sebagai core bisnisnya dan didukung dengan sistem yang telah terintegrasi, baik dari sisi server maupun aplikasi. Akan tetapi proses administrasi kadang terkendala dengan adanya permasalahan pada akses ke server aplikasi, diantaranya server gagal menjalankan service baik database maupun aplikasinya, link ke server bermasalah dan gangguan hardware pada server. Hal tersebut dapat mengganggu proses pelayanan ke pelanggan, karena belum adanya sebuah sistem backup server yang akan mengambil alih tugas server utama ketika gagal menjalankan service-nya.
2.
Landasan Teori
2.1
Failover Clustering Cluster adalah sekelompok mesin yang bertindak sebagai entitas tunggal untuk
menyediakan sumber daya dan layanan ke jaringan. Pada saat terjadi kegagalan, sebuah failover akan terjadi pada sistem dalam kelompok itu yang akan menjaga ketersediaan sumber daya itu ke jaringan. Failover adalah proses peralihan ke sebuah komponen cadangan, elemen, atau operasi, sementara perbaikan untuk mengatasi gangguan sedang dijalankan. Prosedur failover menentukan kelangsungan operasional jaringan. Mekanisme failover dapat dirancang sehingga dapat sesegera mungkin bertindak setelah gangguan muncul. 2.2
High Availability Cluster Failover clustering menyediakan solusi high availability server dimana jika terjadi
kegagalan pada sistem hardware 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 backup. Untuk menjadi high available dengan tidak ada satu titik kegagalan, cluster harus dikelola dengan beberapa cara berikut:
4
Jika server utama tidak merespon permintaan ke sumber daya cluster pada antar muka jaringan publiknya, maka server kedua sebaiknya mengambil alih dan mematikan atau mereset power pada server utama.
Jika salah satu server yang sesungguhnya (cluster node) di dalam cluster tidak merespon permintaan ke layanannya, server itu sebaiknya dikeluarkan dari cluster.
Jika server beroperasi dalam local node dan secara lokal menjalankan daemon yang
memberhentikan
respon,
server
sebaiknya
memberhentikan
rute
permintaan ke sumber daya cluster secara lokal dan meneruskan semua permintaan ke server real di dalam cluster.
2.3
Backup dan Recovery Backup data merupakan salah satu kegiatan pengelola database untuk
melakukan penyalinan sistem, data dan aplikasi. Backup data harus dilakukan untuk menjaga jangan sampai terjadi kerusakan sistem dari luar ataupun dari dalam sistem, yang disengaja atau pun tidak disengaja. Recovery adalah proses mengembalikan backup ke dalam sistem pasca terjadi kerusakan. Recovery dilakukan untuk mengembalikan keadaan sistem kembali pada keadaan semula, keadaan terakhir pada saat operasional, sebelum terjadi kerusakan sistem. 2.4
Server Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu
dalam sebuah jaringan komputer (Wahana Komputer,2008). Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau network operating system. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada workstation anggota jaringan. 2.5
EoIP Tunneling Ethernet over IP (EoIP) Tunneling adalah sebuah protocol Mikrotik RouterOS
yang digunakan membuat jalur tunnel melalui interface ethernet diantara dua router dengan menggunakan koneksi IP. Protokol EoIP digunakan untuk melakukan bridging antar LAN (Local Area Network) melalui koneksi internet, dengan memanfaatkan tunnel antar router mikrotik.
5
3.
Analisis
3.1
Analisis Topologi Jaringan PT.Lintas Data Prima Yogyakarta merupakan sub-core dari core Jakarta dimana masing-masing Point Of Presence (POP) dihubungkan menggunakan jalur fiber optik (FO). POP tersebar di beberapa daerah antara lain Yogyakarta, Solo, Madiun, Denpasar dan Magelang.
Gambar 3.1 Jaringan Global PT.Lintas Data Prima Yogyakarta
Gambar 3.2 Topologi Jaringan POP Yogyakarta
3.2
Analisis Permasalahan Server aplikasi billing pada PT. Lintas Data Prima merupakan server yang
memerlukan nilai availability yang tinggi. Hal ini dikarenakan bahwa server ini digunakan untuk menjalankan aplikasi billing perusahaan untuk mencatat administrasi pembayaran
6
seluruh pelanggan PT.Lintas Data Prima.. Aplikasi billing adalah aplikasi yang setiap hari digunakan karena setelah penerbitan invoice harus dilakukan pula input, update, maupun delete terhadap adminsitrasi pembayaran dari pelanggan. Artinya ketika ada gangguan akses ke server ini baik karena permasalahan jaringan ataupun terjadi gangguan terhadap server (mati atau terjadi kerusakan pada hardware (hardisk)) maka semua data pelanggan akan hilang karena saat ini tidak ada server backup untuk data aplikasi tersebut dan akan mengganggu proses administrative terhadap pelanggan. Aplikasi ini mencatat sebanyak 84 record pelanggan PT.Lintas Data Prima. Dari kondisi diatas maka muncul sebuah kebutuhan perusahaan untuk meningkatkan nilai availability dari server aplikasi tersebut agar ketika ada gangguan pada server utama masih ada backup server yang akan mengambil alih fungsi server utama. 3.3
Analisis Kebutuhan Perangkat Keras
Beberapa piranti keras yang diperlukan dalam percobaan ini adalah sebagai berikut : 1. PC Server sebanyak 2 unit Kedua PC server ini dimasukkan kedalam cluster. Satu server sebagai active server dan satu server lainnya sebagai backup server. Kedua server tersebut memiliki spesifikasi seperti berikut: Tabel 3.1 Spesifikasi Komputer Server 1 Hardware Mainboard Processor Memory Hardisk NIC
Tipe Gigabyte Intel(R) Core(TM) i3-2100 DDR 3 PC 10600 Serial ATA PCI-e Gigabit Ethernet
Ukuran 3.10 GHz 2 GB 250 GB
Tabel 3.2 Spesifikasi Komputer Server 2 Hardware Mainboard Processor Memory Hardisk
Tipe Gigabyte Pentium(R) Dual-Core E6600 DDR 2 PC 3200 Serial ATA
Ukuran CPU
3.06 GHz 2 GB 80 GB
2. Router Mikrotik Kedua server akan saling terhubung dengan menggunakan koneksi vpn antar network dengan masing-masing router melakukan tunneling vpn ke router vpn pusat dengan metode EoIP (Ethernet over IP). Adapun router yang
7
digunakan adalah router Mikrotik RB751 (node utama) dan Mikrotik RB1100 (node backup) dengan router vpn menggunakan Router Mikrotik RB751. 3.4
Analisis Kebutuhan Perangkat Lunak Beberapa piranti lunak yang digunakan dalam percobaan ini adalah sebagai
berikut : 1. Sistem Operasi Sistem operasi yang digunakan adalah Linux Debian 6.0 Squeeze pada kedua server (node utama dan node backup). 2. Failover Clustering Untuk membangun failover cluster digunakan service aplikasi hearbeat. Aplikasi ini dijalankan ada kedua server yang menjalankan sistem operasi Linux Debian. 3. Software Aplikasi Web Server Web server dijalankan dengan menggunaka aplikasi server apache2 , php5 yang akan terintregasi pada masing-masing server Linux Debian. 4. Software Aplikasi Database Server Database server dijalankan dengan menggunakan aplikasi MySQL Server 5 yang akan terpasang pada masing-masing server cluster.
3.5
Perancangan Topologi Jaringan Topologi untuk implementasi failover cluster ini adalah dengan menempatkan
dua server, node utama berada di ruang server network Yogyakarta sedangkan node backup berada di ruang server network Solo dengan memanfaatkan tunneling vpn EoIP.
Gambar 3.3 Skema Jaringan Failover Cluster Server
8
3.6
Perancangan Failover Clustering Failover clustering memerlukan sebuah aplikasi hearbeat, yang berfungsi agar
antar server saling mengetahui keadaan server lain. Jaringan dirancang dimana hearbeat akan berjalan di antara kedua server melaui jaringan vpn yang ada. Setiap server akan diberikan IP address masing-masing, namun pada prinsipnya di dalam sebuah jaringan cluster diperlukan sebuah IP address tambahan yang disebut dengan Cluster IP atau Virtual IP. IP address inilah yang akan digunakan sebagai IP address tujuan oleh client saat ingin mengirimkan sebuah request.
3.7
Perancangan Sinkronisasi Database Database aplikasi billing di import-kan ke masing-masing server, dan dilakukan
proses sinkronisasi database antar kedua server. Hal tersebut dimaksudkan agar record data pada server bisa saling sinkron atau bisa saling update satu sama lain. Metode replikasi database yang digunakan adalah metode master to master. Metode ini dimaksudkan agar masing-masing database pada server bertindak sebagai master atau database utama. Dengan demikian jika ada insert, update, dan delete pada satu server maka data akan ter-replika juga pada server yang lain.
4.
Implementasi dan Pembahasan
4.1
Instalasi dan Konfigurasi Server Pada tahap awal pembuatan failover cluster server, melakukan instalasi dan
konfigurasi server aplikasi baik server utama dan server backup. Kedua server di-install sistem operasi Debian 6.0 dengan aplikasi web server guna mendukung aplikasi billing perusahaan. 4.1.1
Instalasi Server Debian Tahap awal dalam penerapan sistem failover cluster server ini adalah dengan
melakukan instalasi server.
Gambar 4.1 Urutan Instalasi Server Debian 6.0
9
Pengaturan host dan ip address masing-masing server adalah sebagai berikut : 1. Host server utama IP Address 2. Host server backup IP Address
4.1.2
: apps : 192.168.100.2/29 : apps2 : 192.168.100.3/29
Instalasi dan Konfigurasi Aplikasi Web Server Kedua server dilakukan instalasi dan konfigurasi aplikasi web server yaitu
apache2, php5, mysql-server 5.1, paket instalasi menggunakan source langsung dari repository di internet. Konfigurasi webserver yang dibutuhkan untuk menjalankan aplikasi billing adalah dengan mengubah parameter register_globals pada php.ini menjadi On, untuk mendukung fungsi-fungsi php pada aplikasi billing.
4.2
Instalasi Aplikasi Billing Perusahaan Tahap selanjutnya adalah melakukan instalasi dan konfigurasi aplikasi billing
perusahaan pada kedua server dengan melakukan upload file aplikasi ke document root dari web server (/var/www/) , dan pembuatan database (gcdb) serta melakukan import dengan database yang terbaru.
4.3
Pembuatan Jaringan VPN Topologi jaringan VPN yang digunakan adalah dengan metode tunneling EoIp
(Ethernet over IP), yaitu protokol yang digunakan untuk membuat terowongan (tunnel) menggunakan interface ethernet antar 2 buah router atau lebih. Syarat dari penggunaan metode ini adalah fungsi bridging pada router harus aktif, karena interface-interface ethernet pada router akan di-bridging dengan koneksi eoip. Router yang digunakan untuk implemetasi jaringan VPN EoIP adalah router mikrotik. Tujuan digunakannya metode eoip ini adalah : 1. Membuat 2 network yang berbeda terhubung secara virtual, sehingga masingmasing network dapat berkomunikasi satu sama lain. 2. Komunikasi berjalan seperti dalam satu jaringan, walaupun masing-masing network telah melewati beberapa router. Dengan menggunakan EoIp tunnel maka jaringan yang dituju akan menjadi satu subnet dengan alokasi ip address yang telah ditentukan.
10
Gambar 4.2 Implementasi Jaringan VPN dengan Metode EOIP Tunneling
4.3.1
Konfigurasi EoIP pada Router I , Router II dan Router EoIP Pada masing-masing router dilakukan tunneling eoip ke router eoip pusat dengan
rincian sebagai berikut: Router I
: tunnel-id = 1234 , remote-address =124.40.255.58
Router II
: tunnel-id = 12345, remote address =124.40.255.58
Router EoIP
: tunnel-id = 1234, remote address = 124.40.250.251 tunnel-id = 12345, remote address = 103.28.114.2
4.3.2
Pembuatan Interface Bridge pada Router I, Router II dan Router EoIP Interface bridge digunakan untuk menghubungkan dua atau lebih (multiple)
ethernet/network. Mode bridge memungkinkan network yang satu tergabung dengan network di sisi satunya secara transparan, tanpa perlu melalui routing, sehingga server utama yang ada di network I bisa memiliki IP Address yang berada dalam 1 subnet yang sama dengan network II. 4.3.3
Pengujian Jaringan VPN EoIP Selanjutnya dilakukan pengujian terhadap jaringan VPN yang telah dibangun
untuk membuktikan bahwa kedua server dapat berkomunikasi melalui jaringan VPN EoIP. Pengujian dilakukan dengan melakukan tes ping antar server.
11
Gambar 4.3 Pengujian Ping dari Server Utama ke Server Backup
Gambar 4.4 Pengujian Ping dari Server Backup ke Server Utama
Gambar 4.5 Pengujian Ping dari PC LAN ke Server Utama dan Server Backup Berdasarkan Gambar 4.3, 4.4, dan 4.5 diatas dapat disimpulkan bahwa koneksi VPN antar Router I dan Router II sudah berjalan serta koneksi VPN antara network LAN kantor dengan server master dan server backup sudah terbangun.
4.4
Implementasi Failover Server Pada tahap ini, dibangun implementasi failover server, dimana antar server
utama dan server backup akan tersinkronisasi baik data maupun koneksi sehingga jika terdapat masalah pada server utama (mati, koneksi mati, dll), maka server backup akan secara otomatis mengambil alih tugas server utama.
12
4.4.1
Instalasi dan Konfigurasi Aplikasi Heartbeat Langkah awal dari tahap ini adalah melakukan instalasi paket aplikasi heartbeat
baik pada server utama maupun pada server backup. Setelah melakukan instalasi paket heartbeat pada kedua server, selanjutnya dilakukan konfigurasi terhadap aplikasi tersebut. Konfigurasi ini bertujuan agar kedua server bisa saling berkomunkasi melalui aplikasi heartbeat, mengatur rule server yang bertindak sebagai master dan yang bertindak sebagai backup, serta mengatur proses failover ketika master server mengalami gangguan.
4.4.2
Konfigurasi Aplikasi Heartbeat Selanjutnya dilakukan konfigurasi pada aplikasi heartbeat. Berikut langkah-
langkah yang dilakukan untuk mengkonfigurasi failover server : 1. Mengatur security dan autentikasi kode agar kedua server bisa berkomunikasi. Model enkripsi security yang dipakai adalah sha1.
Gambar 4.6
Konfigurasi Autentikasi Server
2. Menambahkan hak akses terhadap file authkeys (/etc/ha.d/authkeys). Hak akses terhadap file yang diberikan adalah 600 yaitu untuk user diberi akses read dan write.
Gambar 4.7 Penambahan Hak Akses pada File authkeys 3. Mengatur proses failover server pada file ha.cf (/etc/ha.d/ha.cf).
Gambar 4.8 Konfigurasi Proses Failover
13
4. Mendefinisikan server yang bertidak sebagai master, ip address virtual, dan service yang akan dimonitoring. Master server adalah host apps, ip address virtual 192.168.100.4 dan service apache2
Gambar 4.22 Definisi Master Server, IP Virtual dan Service 5. Meng-copy file ha.cf , haresources, dan authkeys ke server backup 6. Menjalankan service heartbeat pada kedua server # /etc/init.d/heartbeat start 4.4.3
Pengujian terhadap Jaringan Failover Cluster Server Tahap selanjutnya adalah melakukan pengujian terhadap implementasi failover
pada jaringan vpn EoIP yang telah dibangun. Pengujian dilakukan dengan menggunakan komputer kantor sebagai client, yang terhubung ke jaringan LAN pada Router I. Tujuan dari pengujian ini adalah untuk membuktikan apakah client dapat menggunakan aplikasi billing melalui jaringan EoIP, dan tetap dapat menjalankan aplikasi jika terdapat gangguan pada master server dengan fungsi failover server yang telah dibangun. Pengujian dilakukan dalam beberapa kondisi sebagai berikut: 1. Server utama dan server backup dalam keadaan hidup dan kondisi link terhubung ke dalam jaringan vpn (kondisi 1). 2. Server utama dalam keadaan tidak bekerja (mati, link putus ke jaringan), sementara server backup dalam kondisi hidup dan link terhubung ke jaringan (kondisi 2). Berdasarkan pengujian (kondisi 1 dan kondisi 2) dapat disimpulkan bahwa proses failover cluster server sudah barjalan, dimana server backup dapat mengambil alih tugas server master begitu pula sebaliknya.
4.5
Implementasi Sinkronisasi Database Pada tahap ini dilakukan konfigurasi sinkronisasi database antar kedua server.
Aplikasi database yang digunakan pada aplikasi billing adalah MySQL database. Tujuan dari sinkronisasi ini adalah untuk menyamakan record data pada database aplikasi biling antar kedua sever, baik saat master server down maka data yang masuk pada backup server akan secara otomatis ditransfer ke master server jika sudah up, begitu pula
14
sebaliknya, data di master server akan ditransfer ke backup server setiap ada perubahan (insert, update , delete).
4.5.1
Pengujian Replikasi Database Proses pengujian terhadap replikasi database yang telah dibangun dengan
menerapkan beberapa kondisi untuk membuktikan bahwa proses replikasi berjalan antar kedua server. Berikut beberapa kondisi yang diterapkan dalam pengujian.
Kondisi 1 Melakukan
proses
insert
(penambahan),
update
(perubahan),
dan
delete
(penghapusan) data billing di master server, dengan kondisi backup server dalam keadaan hidup dan terhubung kedalam jaringan.
Kondisi 2 Melakukan
proses
insert
(penambahan),
update
(perubahan),
dan
delete
(penghapusan) data di backup server, dengan kondisi master server dalam keadaan mati atau tidak terhubung kedalam jaringan. Berdasarkan pengujian replikasi database pada server master dan server backup (kondisi 1 dan kondisi 2) dapat disimpulkan bahwa proses replikasi untuk sinkronisasi database antar server sudah berjalan dengan menerapkan metode replikasi master to master.
4.6
Pengujian Client Terhadap Akses Aplikasi Billing Pengujian pada bagian ini ditujukan untuk mengetahui apakah client dapat
mengakses aplikasi billing baik pada Master Server maupun pada Backup Server. Hasil uji coba menunjukkan bahwa jaringan yang dibangun berjalan baik pada setiap kondisi seperti berikut. 1. Master Server dan Backup Server dalam kondisi hidup dan kondisi link terhubung dengan jaringan VPN EoIP (kondisi 1). 2. Master Server dalam kondisi mati dan Backup Server dalam kondisi hidup serta kondisi link terhubung dengan jaringan VPN EoIP (kondisi 2).
15
1.
Kesimpulan
Kesimpulan yang dapat diambil dari kegiatan penelitian ini adalah sebagai berikut : 1. Sistem failover clustering server yang dibangun dapat bekerja dengan baik berdasarkan pengujian yang telah dilakukan dimana jika salah satu server baik secara fisik maupun secara jaringan tidak dapat diakses, maka user tetap dapat mengakses data dan aplikasi server pada server backup. 2. Proses sinkronisasi data antar server utama dan server backup dapat berjalan dengan baik dan realtime dengan memanfaatkan metode replikasi database master to master, dimana masing-masing database akan bertindak sebagai master untuk saling mengupdate data satu sama lain. 3. Response time failover server dari server utama ke server backup lebih pendek dibandingan proses recovery dari server backup ke server utama, hal ini dikarenakan pengaruh proses inisialisasi kedua server. 4. Jaringan VPN dengan metode EoIP(Ethernet over IP),
dapat menjawab
kebutuhan akan syarat failover cluster server yang harus dalam satu subnet. Hal ini dikarenakan EoIP melakukan metode bridging antar network. 5. Teknik failover cluster server dengan memanfaatkan jaringan VPN ini dapat menjadi solusi perusahan jaringan untuk mengembangkan produk disaster recovery system yang aman, karena backup server dapat ditempatkan dimana saja dan dengan tingkat keamanan akses yang tinggi karena memanfaatkan jaringan private (VPN).
16
DAFTAR PUSTAKA
Anonim, Manual:Interface/EoIP, http://wiki.mikrotik.com/wiki/Manual:Interface diakses tanggal 10 Juli 2012 jam 20.00 wib Anonim, Replicate Master to Master MySQL, http://alinux.web.id/archives/ diakses tanggal 5 Juli 2012 jam 20.00 wib Depkominfo. 2008. High Availibility System, Jakarta: Direktorat Sistem Informasi Perangkat Lunak dan Konten. Mansyurin, Pudja. 2011. Konfigurasi Debian Server. Jakarta: Al-Mansyurin Informatika. Syafrizal, M. 2005. Pengantar Jaringan Komputer. Yogyakarta : Andi Offset.
17