Langkau ke kandungan utama

Slackware - Corosync - Pacemaker - Panduan Bahasa Melayu 01

Bismillahirrahmanirrahim
Syukur kehadrat Ilahi kerana setiap sedut udara, setiap percikan cahaya, desiran bunyi, pergerakan anggota kita, ilham dan buah fikiran kita semuanya milik Allah. Syukur dan redha lah dengan segala nikmat yang tidak terhingga. Lihatlah tangan dan kaki, tulang-tulang yang tersusun di dalam daging, darah yang mengalir seluruh badan, jantung yang berdetik, paru-paru yang menyambung nafas.. setiap yang ada ini, milik Allah Tuhan Sekalian Alam... 
Siapalah aku yang seluruhnya milikNya dan hanya padaNya lah aku sembah dan aku meminta pertolongan. Oleh itu, tunjukkanlah aku jalan yang lurus, jalan yang Engkau Rahmati. Bukan jalan yang sesat dan yang Kau murkai..
Assalamualaikum.. 


Setup Komputer Pelayan dengan Kadar Capaian Tinggi [High Availability Server]


Istilah masa-henti rendah [low down-time] ataupun 0.01 masa-henti dalah satu istilah yang mengagahkan mana-mana komputer pelayan. Maksudnya kadar capaian untuk sesuatu sistem teragih seperti laman sesawang atau aplikasi atas talian adalah menghampiri 100%, iaitu sistem boleh dikatakan tidak akan gagal berfungsi walaupun apa yang berlaku kecuali keadaan-keadaan yang di luar dugaan.

Nyatanya, jika difikir secara keadaan biasa, katakanlah satu laman web ditampung oleh satu komputer pelayan, jika berlaku apa-apa padanya maka sistem web tidak akan dapat dicapai. Banyak keadaan yang memungkinkan contohnya HD rosak, kad rangkaian rosak, kabel rangkaian putus, switch rosak, OS rosak, aplikasi pelayan web seperti apache tu sendiri rosak, aplikasi pelayan pangkalan data rosak, sebahagian HD mengalami sektor-rosak, dan bermacam-macam lagi keadaan yang memungkinkan untuk sistem terhenti.

Bagi sesetengah sistem yang mandatori untuk dilarikan 24/7 365 setahun memang sangat perlu untuk sentiasa bersedia melayan pengguna.

Di Hospital Universiti Sains Malaysia, hampir keseluruhan sistem yang digunapakai oleh staf adalah dibina oleh Unit Sistem Maklumat Hospital. Sistem yang mandatori termasuklah sistem demografi pesakit iaitu dinamakan Lifeline. Sistem ini seolah-olah jantung segala sistem yang ada kerana sistem ini menyimpan dan mengurus pangkalan data pesakit yang berdaftar di HUSM.

Oleh itu, amat penting bagi sistem ini untuk sentiasa berfungsi siang malam. Maka, oleh keadaan inilah pentingnya kami sediakan situasi dengan kadar capaian tinggi.


Prolog : Situasi untuk tutorial ini


  Perlu 2 buah komputer pelayan yang berada dalam rangkaian yang sama dengan OS slackware 13.37

  Pilihan 1: guna 2 buah komputer, 2 lokasi, 2 kad rangkaian.
  Pilihan 2: guna virtual box, cipta 2 komputer, install slackware, setup rangkaian


Bahagian 1: Applikasi yang perlu dimuat turun


Dalam tutorial ini, aku guna Slackware Linux 13.37 . Sumber terbuka, download percuma.

Terdapat beberapa pakej yang perlu diinstal yang mana tidak ada di dalam pakej Slakware yang asal. Lagipun slackware memang distro yang ringan dan agak kecik

Senarai mengikut turutan instalasi (instal mengikut turutan ini)

perpustakaan
 extra/Linux-HA/libesmtp-1.0.4-i486-1sms.txz
 extra/Linux-HA/libnet-1.1.4-i486-1sms.txz


pakej

 extra/Linux-HA/clusterglue-1.0.7-i486-1sms.txz
extra/Linux-HA/clusterresourceagents-1.0.4-i486-1sms.txz



 extra/Linux-HA/corosync-1.2.1-i486-1sms.txz
 extra/Linux-HA/openais-1.1.2-i486-1sms.txz
 extra/Linux-HA/pacemaker-1.1.1-i486-1sms.txz

Cara mendapatkan pakej-pakej ini

  1. slackbuilds.org
  2. boleh download di superb mini server http://sms.it-ccs.com/ 
    1. iaitu, gi bahagian download http://sms.it-ccs.com/downloads.html
    2. tengok bahagian "SMS.Native.CD version 1.6.2 is released! (10/10/2011)"
    3. Pilih SMS.Native.CD.extra.iso
    4. download
    5. mount imej .iso tadi dengan arahan mount di konsol
    6. boleh lusuri imej .iso tadi 
    7. pegi ke folder extra
    8. pegi ke folder linux-HA
    9. ingat balik turutan untuk instal
    10. copy semua file ke folder sendiri / terus instal dari sini
  3. dari link di bawah ni :
    1. http://www.srchack.org/pub/linux/corosync/slack131/libnet-1.1.4-i486-1_SBo.tgz
    2. http://www.srchack.org/pub/linux/corosync/slack131/libesmtp-1.0.4-i486-1_SBo.tgz
    3. http://www.srchack.org/pub/linux/corosync/slack131/clusterglue-6c8645d6a4c2-i486-1_SBo.tgz
    4. http://www.srchack.org/pub/linux/corosync/slack131/clusterresourceagents-000dd8956ad7-i486-1_SBo.tgz
    5. http://www.srchack.org/pub/linux/corosync/slack131/corosync-1.2.1-i486-1_SBo.tgz
    6. http://www.srchack.org/pub/linux/corosync/slack131/pacemaker-b9b672590e79-i486-1_SBo.tgz

Bahagian 2 : Persediaan sebelum Instalasi


  Sebelum membuat sebarang instalasi, perlu menambah group dan user seperti di bawah. Pakej yang perlu diinstal akan memastikan user haclient perlu ada dalam Sistem


# groupadd -g 226 haclient
# useradd -u 226 -g haclient -c "Cluster User" -d /var/lib/heartbeat/cores/hacluster -s /bin/false hacluster

Bahagian 3: Instalasi


  Install semua pakej mengikut turutan di atas. Sebabnya pakej yang kemudian memerlukan pakej sebelumnya.

Bahagian 4: Kunci Keselamatan 


 Perlu diingat, setiap komputer pelayan akan saling berkomunikasi antara satu sama lain melalui rangkaian tempatan. Kebiasaan dalam linux, sebarang capaian perlulah melalui satu kaedah pengenalan nama-katalaluan.

Jadi, kenala setiap komputer pelayan yang berada dalam kelompok yang sama, mengenalpasti antara satu sama lain..

corosync mmg dah sediakan fungsi ini..

di konsol:


# corosync-keygen



Arahan ini akan menjana katakunci berdasarkan aktiviti rawak baca/tulis pada HD. Aktiviti rawak inilah yang akan menentukan tempoh arahan ini akan tamat.

Untuk itu, try download file yang besar, contohnya linux kernel ke (ataupun mp3, video, dll) selepas larikan arahan di atas tu.

Bila dah habis, salin fail /etc/corosync/authkey ke semua komputer yang didalam kelompok yang sama.

set kan /etc/corosync/authkey  supaya user=root, group=root, mod= 0400 dengan menggunakan arahan chown dan chmod


# chown root:root /etc/corosync/authkey
# chmod 400 /etc/corosync/authkey


rasanya setakat ni makanya instalasi telah berjaya. Kalau rasa nak baca lebih lagi, buleh la rujuk link di bawah.

http://www.clusterlabs.org/wiki/Initial_Configuration#CoroSync
http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf

Aku akan sambung dengan cara untuk membuat konfigurasi sebelum corosync dilarikan.


Moga diberi keberkatan dunia akhirat.. Amin...




Ulasan

Catatan popular daripada blog ini

Apa Maksud RON dalam pengkelasan Petrol?

RON dan Petrol Oleh yusdirman, Oktober 2014 RON adalah singkatan daripada Research Octane Number Ianya kaedah penarafan bahan api. Lebih tinggi nilai RON, lebih mahal harga PETROL. Adakah minyak RON 97 lebih berkuasa berbanding RON 95? RON merujuk kepada tahap bahan api menahan rintangan "ketukan" semasa proses pembakaran oleh palam pencucuh dalam enjin. Ianya merujuk kepada tahap ketahanan bahan api untuk tidak terbakar sebelum dinyalakan oleh palam pencucuh dalam enjin. "ketukan" dalam konteks RON ini adalah apabila campuran bahan api dan udara dalam enjin terbakar lebih awal sebelum api dari palam pencucuh menbakarnya. Pembakaran awal ini mungkin disebabkan enjin terlalu panas. Haba dari silinder enjin itu sendiri mungkin telah menyalakan bahan api sebelum palam pencucuh menyala. Ini boleh menurunkan prestasi dan mungkin boleh memudaratkan enjin! Jadi, RON bukannya bermaksud LEBIH KUASA! Ianya bermaksud bahan api itu dapat menahan tekanan dari

Load Balancing dengan Nginx dan Puma

Load Balancing dengan Nginx dan Puma Tutorial ini adalah sangat ringkas hanya untuk menunjukkan kebolehan nginx sebagai load balancer yang dapat menjadi 'orang tengah' antara banyak server di belakangnya Keperluan 1. Paling kurang 2 server aplikasi 2. Satu server diinstall nginx Contoh Persekitaran yang sekarang 1. server1: os: debian application: ruby on rails web server : puma dns : myaplication1.yusdirman.com 2. server2: myaplication2.yusdirman.com os:debian application: ruby on rails web server : puma dns : myaplication1.yusdirman.com 3. nginx diinstall di server1 /ets/nginx/nginx.conf setup (default): worker_processes  2; worker_processes  auto; worker_rlimit_nofile 65536; error_log  logs/error.log  notice; error_log  logs/error.log  info; events {   worker_connections  65536; } http {   include       mime.types;   default_type  application/octet-stream;   sendfile        on;   tcp_nopush on;   tcp_nodelay on;   keepalive_tim

Server Redundancy - Pertindanan Komputer Pelayan

alkisahnya tercari-cari untuk buat server redundancy ( pertindihan komputer pelayan ) atas sebab perlunya server yang sentiasa on-line tanpa ada downtime yang lama. Dan, cabarannya adalah memang kami tak pernah jalani apa-apa latihan, pengalaman dan apa jua pengetahuan berkenaan teknologi ini. Yang pastinya, perlu banyak mengoogle. Setakat ini, ada banyak kaedah untuk memastikan aplikasi masih terus boleh berfungsi walaupun server mati/rosak. 1. guna 2 server yang sama. Bila satu mati, satu lagi yang masih hidup dapat terus melayan pengguna. 2. guna 2 talian rangkaian yang berbeza. Bila satu talian rosak/putus, masih ada satu lagi talian rangkaian yang berfungsi. 3. storan di server guna raid ( redundant array of independent disk ) atau dalam bahasa melayu : barisan disk berlainan yang bertindan. Raid dapat menjadikan sebilangan hd menjadi 1 dengan semua data pada 1 hd adalah sama dengan data pada hd 2. (mirroring) 4. satu IP maya untuk sebilangan server. 2 server yang mena