praktikum basis data terdistribusi modul vi failover cluster

advertisement
PRAKTIKUM BASIS DATA TERDISTRIBUSI
MODUL VI
FAILOVER CLUSTER
LABORATORIUM REKAYASA PERANGKAT LUNAK
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
I.
TUJUAN PRAKTIKUM
1. Mahasiswa mengetahui tentang Failover Cluster pada DBMS.
2. Mahasiswa mampu mempersiapkan kebutuhan untuk Failover Cluster. (Mengacu
pada modul sebelumnya dan percobaan praktikum pada modul ini)
3. Mahasiswa mampu menerapkan teknologi Failover Cluster.
II.
III.
ALAT DAN BAHAN
1.
Komputer Set (memory>=1GB, CPU>=PIV)
2.
Web Sever Apache (Xampp / Wamp Server )
3.
Mysql Cluster
4.
Mysql Server
DASAR TEORI
1. Database Clustering
Database clustering adalah kumpulan dari beberapa server yang berdiri
sendiri yang kemudian bekerjasama sebagai suatu sistem tunggal (Hodges, 2007).
Saat ini aplikasi database semakin berkembang, baik dalam hal kegunaan, ukuran,
maupun kompleksitas. Hal ini secara langsung berdampakpada server database
sebagai penyedia layanan terhadap akses database, konsekuensi dari semua itu adalah
beban database server akan semakin bertambah berat dan mengakibatkan kurang
optimalnya kinerja dari server tersebut.
Oleh karena itu diperlukan perancangan yang tepat dan handal dalam
membangun database server. Database pada masa sekarang ini dituntut agar dapat
berjalan dengan cepat, mempunyai kehandalan dan keseterdiaan yang tinggi, dengan
clustering database yang disimpan dapat terbagi kebeberapa mesin dan pada saat
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
aplikasi berjalan, semuamesin yang menyimpan data tersebut dianggap sebagai satu
kesatuan.
Metode clustering seperti ini sangat baik untuk load-balancing dan
penanganan system failure karena kemampuan tiap mesin akan digunakan dan jika
ada salah satu mesin yang mengalami failure maka system tidak akan langsung
terganggu karena mesin lain akan tetap berfungsi. Kemampuan clustering
memungkinkan sebuah database tetap hidup dalam waktu yang lama. Berikut adalah
contoh arsitektur dari database cluster itu sendiri.
a.
Shared Disk Clusters
Arsitektur shared disk clusters menggunakan server-server independent dan
berbagi sebuah system penyimpanan tunggal. Setiap server mempunyai prosesor
dan memori sendiri, tetapi berbagi disk resources. Implementasi utama dari
shared-disk clustering adalah bukan untuk scalability. Shared-disk clustering ini
diimplementasikan untuk availability dan menambah node cadangan sebagai
failover node.
b.
Shared Nothing Cluster
Dalam arsitetur shared nothing cluster, tiapserver dalam cluster menangani
prosesor, memori, storage, record locks dan transaksi yang terpisah dan
melakukan koordinasi dengan server lain melalui jaringan dengan menggunakan
high speed low-latency interconnect technology. Dalam proses permintaan data
suatu node harus mengirimkan pesan ke node yang lain yang memiliki data yang
diakses. Hal ini juga dilakukan saat koordinasi data yang dilakukan pada node
yang lain seperti insert, select, update dan delete. Berbeda dengan shared disk,
sharednothing didisain untuk high availability dan scalability.
2. MySQL Cluster
MySQL Cluster merupakan sebuah tipe basis data (database) yang dapat
beroperasi dalam ukuran data yang besar. MySQL Cluster adalah sebuah teknologi
baru untuk memungkinkan clustering di dalam memory database dalam sebuah
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
sistem share-nothing. Arsitektur share-nothing mengijinkan system dapat bekerja
dengan hardware/perangkat keras yang sangat murah, dan tidak membutuhkan
perangkat keras dan lunak dengan spesifikasi khusus. Arsitektur tersebut juga handal
karena masing-masing komponen mempunyai memory dan disk tersendiri.
MySQL Cluster menggabungkan MySQL Server biasa dengan sebuah
mesin penyimpanan in-memory tercluster yang dinamakan NDB. NDB berarti bagian
dari suatu rangkaian yang dikhususkan sebagai mesin penyimpanan, sedangkan
MySQL Cluster diartikan sebagai kombinasi atau gabungan dari MySQL dan mesin
penyimpanan yang baru tersebut. Sebuah MySQL Cluster terdiri dari sekumpulan
komputer,
masing-masing menjalankan sejumlah
MySQL server,
proses mencakup beberapa
node-node penyimpanan untuk cluster NDB,
server-server
manajemendan program-program pengakses data yang khusus. Semua programprogram tersebut bekerja bersama-sama untuk membentuk MySQL Cluster. Ketika
data
disimpan di
dalam mesin penyimpan media
NDB cluster, tabel-tabel
disimpan di dalam node-node penyimpanan pada NDB Cluster. Tabel-tabel seperti
itu dapat diakses secara langsung dari semua MySQL server yang lain di dalam
cluster tersebut. Data yang disimpan di dalam node-node penyimpanan pada
MySQL Cluster dapat di mirror (dicerminkan), cluster tersebut dapat menangani
kegagalan dari node-node penyimpanan individual dengan tidak ada dampak lain
dari sejumlah transaksi dihentikan karena kegagalan proses transaksi.
Di dalam konfigurasi mysql cluster itu sendiri terdapat tiga node cluster,
ketiga node clusterituadalah:
a. Management node(ndb_mgmd process)
b. Data node(ndbd process)
c. SQL node (mysqld process)
3. Pengaturan Node
Sepertireplikasi
yang
ada
di
MySQL, clustering menawarkan banyak
fleksibilitas. MySQL cluster sendiri menyertakan beberapa contoh pengaturan untuk
memberi anda beberapa ide tentang bagaimana cara untuk mengatur node.
Pengaturan
node yang
akan dilakukan itu sendiri berdasarkan dari adanya
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
ketersedian data, danapa hardware yang diperlukan untuk memenuhi kebutuhan
system anda. Ketika kita telah memutuskan bahwa MySQL Cluster dapat memenuhi
keinginan kita, kita perlu menentukan berapa banyak mesin yang dibutuhkan untuk
memenuhi kebutuhan dari sistem yang akan kita rancang dan memberikan jumlah
yang tepat untuk redundansi.
Berikut adalah contoh dari beberapa pengaturan node.
a. Simple Arrangement
b. Robust Arrangement
c. Minimalist Arrangement
4. Arsitektur MySQL Cluster
MySQL
Cluster merupakan sebuah
database yang
menggunakan
arsitektur shared-nothing dan antar muka SQL yang telah umum digunakan. Sistem
database ini terdiri dari beberapa
node yang dapat didistribusikan ke beberapa
perangkat keras dan ke beberapa wilayah/zona yang berbeda sekaligus untuk tetap
menjaga ketersediaan
data
meskipun jaringan ataupun salah satu node sedang
mengalami kegagalan (failure).
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
IV.
V.
PROSEDUR PRAKTIKUM
1.
Mahasiswa mengerjakan percobaan praktikum dan tugas praktikum.
2.
Mahasiswa mendemonstrasikan hasil praktikum pada dosen dan asisten.
3.
Mahasiswa membuat laporan praktikum.
PERCOBAAN PRAKTIKUM
1. Pastikan percobaan-percobaan anda pada modul sebelumnya telah berhasil !
2. Apa yang anda ketahui tentang Failover Cluster?
3. Apa saja yang dibutuhkan untuk menerapkan suatu skema Failover Cluster ? Jelaskan
juga masing-masing fungsinya !
4. Buat rancangan skema Failover Clustering yang akan anda terapkan ! Beri penjelasan
apa saja yang terdapat dalam skema tersebut dan mengapa anda memilih skema
tersebut !
VI.
LANGKAH-LANGKAH PRAKTIKUM
Download
terlebih
dahulu
MySQL
Cluster
untuk
linux
http://dev.mysql.com/downloads/cluster/
Rancangan Sistem
Database Node 1
Management Node
192.168.244.128
192.168.244.129
Database Node 2
192.168.244.130
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
di
Management Node
1. Buat direktori di /usr/src dan pindah ke direktori tersebut
2. Copy hasil download ke /usr/src/mysql-mgm dan ekstrak file tersebut
3. Setelah diekstrak masuk ke direktori tersebut dan copy ke bin
4. Ganti hak akses folder dan hapus folder hasil download (opsional)
5. Buat file konfigurasi untuk cluster
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
6. Start management node dengan menuliskan perintah berikut
7. Masukkan ndb_mgmd ke init.d dengan perintah berikut
Database Node
1. Prosesnya hampir sama dengan management node, pertama buat grup mysql dan
tambahkan user ke grup tersebut
2. Arahkan ke /usr/local dan copy mysql cluster ke folder tersebut, jika sudah ekstrak
file tersebut
3. Buat symbolic link yang mengarah ke folder hasil ekstrak, setelah itu install
database
4. Ganti kepemilikan grup mysql
5. Masukkan database engine ke init.d
6. Copy file bin ke /usr/bin dan buat symbolic link
7. Buat file konfigurasi untuk MySQL di /etc/ dan beri nama my.cnf
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
8. Buat data folder untuk MySQL dan jalankan ndbd, ndbd --initial hanya dijalankan
untuk pertama kali dan jika config.ini mengalami perubahan
9. Seperti biasa, masukkan ke init.d dengan sintaks
Tes dan Verifikasi
1. Pada management node ketikkan perintah ndb_mgm
2. Setelah masuk menu Management Client ketikkan show
3. Pada database node 1 masuk ke mysql, buat database baru dan buat table dengan
engine ndbcluster
4. Isikan data dengan sintaks
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
5. Tampilkan data pada table
6. Cek pada database node 2
7. Masukkan data lagi pada tabeltes
8. Cek pada database node 1, data di node 2 akan tereplikasi otomatis ke node 1
VII.
VIII.
TUGAS PRAKTIKUM
KESIMPULAN
Dokumen Laboratorium Teknik Informatika UMM @ 2014 – Modul Praktikum
By. Team Informatika UMM
Basis Data Terdistribusi (BDT)
Download