Langkau ke kandungan utama

Tahap Kesediaan Tinggi Komputer Server : Episod 'Pacemaker'



Sedikit nota ringkas untuk pacemaker. Dari sedikit pengalaman yang diperoleh


  • primitive
    • servis asas
    • berdasarkan fail init.d atau rc.d dalam folder /etc
    • Contoh
primitive nama_servis ocf:heartbeat:IPaddr2 \ 
params ip="192.168.12.3" nic="eth0"
  • group
    • servis yang kita kumpulkan bersama
    • akan dimulakan mengikut turutan dari kiri ke kanan 
  • location
    • lokasi servis/item yang kita setkan utuk berada di server yang mana.
    • contohnya servis web dan mysql perlu berada di server 1 jika server 1 hidup. 
  • colocation
    • servis/group yang perlu berada bersama-sama dengan servis/group lain
    • contohnya group web app perlu berada bersama-sama group shared storage.
  • order
    • turutan servis/group akan dimulakan oleh server 
  • clone
    • servis yang sama dan setting yang sama pada setiap server.

Contoh :

crm(live)configure# show
node ema1 \
attributes standby="off"
node ema2 \
attributes standby="off"
primitive app_apache lsb:apache2
primitive drbd ocf:linbit:drbd \
params drbd_resource="r0" \
op start interval="0" timeout="240" \
op stop interval="0" timeout="100" \
op monitor interval="59s" role="Master" timeout="30s" \
op monitor interval="60s" role="Slave" timeout="30s"
primitive fs_drbd ocf:heartbeat:Filesystem \
params device="/dev/drbd0" directory="/var/data" fstype="ext4" \
op start interval="0" timeout="60" \
op stop interval="0" timeout="120"
primitive ip_ema ocf:heartbeat:IPaddr2 \
params ip="10.1.126.111" nic="coro0"
primitive mysqld lsb:mysql
primitive nfs_exports ocf:heartbeat:exportfs \
params fsid="1" directory="/var/data/ema" options="rw,sync,crossmnt" clientspec="10.1.126.112/255.255.255.255" wait_for_leasetime_on_stop="false" \
op start interval="0" timeout="40" \
op stop interval="0" timeout="10" \
meta target-role="Started"
primitive nfs_server lsb:nfs-kernel-server
primitive p_ping ocf:pacemaker:ping \
params host_list="10.1.120.1" multiplier="1000" name="p_ping" \
op monitor interval="30" timeout="60" \
op start interval="0" timeout="60" \
op stop interval="0" timeout="20"
group emagrp fs_drbd ip_ema nfs_exports mysqld app_apache nfs_server
ms ms_drbd drbd \
meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" target-role="Master"
clone cl_ping p_ping \
meta target-role="Started"
colocation ema_on_drbd inf: _rsc_set_ emagrp ms_drbd:Master
order ema_after_drbd inf: ms_drbd:promote emagrp:start
property $id="cib-bootstrap-options" \
dc-version="1.1.7-ee0730e13d124c3d58f00016c3376a1de5323cff" \
cluster-infrastructure="openais" \
expected-quorum-votes="2" \
stonith-enabled="false" \
last-lrm-refresh="1370940527" \
no-quorum-policy="ignore"
rsc_defaults $id="rsc_options" \
resource-stickiness="200"


Peringatan Ringkas
pacemaker akan menggunakan skrip dalam /etc/init.d/ atau /etc/rc.d/. Adalah sangat penting untuk kita install applikasi yang sesuai dengan pacemaker kerana pacemaker akan menggunakan arahan seperti

/etc/rc.d/rc.httpd start
/etc/init.d/apache2 start

dan menggunakan maklumbalas dari arahan tersebut untuk menentukan aktiviti atau status servis. Jika semua ini tidak mengikut keperluan pacemaker, maka ralat akan dikeluarkan dan pacemaker tidak dapat berfungsi seperti kita kehendaki WALAUPUN pada keadaan sebenarnya servis itu berfungsi.


NFS-COMMON dan NFS-KERNEL-SERVER

- nfs-common adalah segala keperluan untuk gunakan nfs. Perlu dilarikan oleh server semasa dihidupkan. Jangan matikan jika sekiranya ada setting untuk nfs di pacemaker.

- nfs-kernel-server adalah aplikasi untuk menjadi hos kepada storan nfs. Perlu dilarikan oleh pacemaker.





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