Category Archives: Clustering

membuat mysql-cluster

Pekerjaan ini diterapkan di kantorku yang memiliki server Mysql untuk dipakai sehari-hari sebagai operasional. Dengan fitur Mysql Cluster dapat menggabungkan database open source  dengan fault tolerant asitektur “shared nothing“,  yang memungkinkan kantor untuk menggunakan aplikasi database real-time dan mission-critical yang mencapai ketersediaan 99,999 persen (“five nine“). Dengan alasan inilah dan menghindari downtime,  maka Boss operasional ISP kantor minta dibuatkan sistem mysql cluster.  Implementasi mysql-cluster tidak lah sulit, dalam implementasi ini dilakukan tahapan :

– Konfigurasi Mysql-cluster di server Mysql utama(/etc/mysql/my.cnf dan convert engine MYISAM ke NDBCLUSTER)

– Instalasi Mysql dan konfigurasi Mysql-cluster di server lain(anggaplah replika mysql server utama atau mysql tambahan) (/etc/mysql/my.cnf dan hasil dumping mysql dengan engine NDBCLUSTER)

– Instalasi Mysql dan Management (MGM) Node & MySQL Server pada server lain. (/etc/mysql/ndb_mgm.cnf)

Jadi ada 3 Server dengan fungsi dan software yang dipakai :

-1 server Mysql utama sebagai Node A untuk mysql cluster

-1 server Mysql tambahan sebagai Node B untuk mysql cluster

-1 server Mysql untuk Management (MGM)sebagai NDB MGM untuk mysql cluster

Total ada 3 server dengan sistem operasi Linux Debian Lenny 2.6.26-2-686 dan  Mysql 5.0.51a-24+lenny1 (Debian).

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License).

MySQL Cluster didesain untuk mengatasi single point of failure, yaitu bagian dari suatu sistem, yang
bilamana sistem tersebut mengalami kerusakan maka seluruh sistem akan berhenti bekerja. Oleh karena
itu maka setiap komponen diharapkan memiliki memory dan disk sendiri / terpisah, dan menggunakan
mekanisme shared storage,  seperti network shares dan network filesystems.

MySQL Cluster sudah terintegrasi dengan standar MySQL server dengan sebuah  clustered storage engine yang disebut NDB. MySQL Cluster terdiri dari sekumpulan komputer yang masing­-masing berjalan satu atau lebih proses, yang terdiri dari SQL Server, data node, dan management node.

Data Node merupakan node utama pada MySQL Cluster. Data Node berfungsi :
-Storage and management of both in ­memory and disk ­based data
-“Transactions and data retrieval
-“Automatic and user defined partitioning of data
-“Synchronous replication of data between data nodes
-“Transactions and data retrieval
-“Fail over
-“Resynchronization after failure

MySQL Node berfungsi sebagai pintu akses untuk masuk ke dalam node­ node data yang tercluster.

Management Node digunakan  untuk  mengatur node­-node  yang  terdapat  pada MySQL  Cluster,  melakukan  konfigurasi data, menjalankan dan memberhentikan node, melakukan backup dan lain sebagainya.  Semua  program  ini  berkerjasama  membentuk  sebuah  MySQL  Cluster.  Ketika  data  disimpan  pada NDB Cluster storage angine, maka tabel­-tabel akan disimpan pada data node. Tabel­-tabel tersebut akan diakses secara langsung oleh MySQL Server pada sebuah cluster.

Berikut proses instalasi dan konfigurasi yang berhasil saya copy paste dari konsol linux :

Continue reading