19 Nov 2012

FreeNas : Pemulihan Semula

Pemulihan Semula FreeNAS USB media





Dengan Nama Allah yang Maha Pemurah lagi Maha Pengasihani. 

Sesungguhnya kita amat fakir dengan segala kebaikan daripada Allah kerana dalam setiap gerak dan nafas kita semuanya terkandung Rahmat dan Rahman Allah. Memang sesungguhnya tiada daya dan usaha melainkan daya dan usaha Allah SWT yang Maha Agung dan Maha Perkasa.



Sesuatu telah terjadi minggu lepas, masa tu ramai orang cuti. Mulanya tak perasan tapi kemudia terperasan juga sebab server freeNAS tak hantar emel report harian. Apabila reboot semua server, aku takleh nak ping dari station sendiri. Nampaknya server freeNAS dah tak hidup.

Aku masuk bilik server dan sambung monitor untuk tengok apa jadi. FreeNAS lansung tidak boot. Malah keluar mesej ralat. USB pendrive yang aku boot sistem tu mungkin dah rosak. Aku cuba nak baiki sebab lepas scan, ada beberapa blok rosak. Aku cuba boot dengan hiren boot cd versi 9.9, guna aplikasi HDD generator namun selepas 24 jam aku larikan baikpulih, baru 12% je siap sedangkan usb pendrive tu saiznya 4GB je. Sebelum ni aku buat untuk HDD yang besarnya beratus GB pun beberapa jam je.

Jadi aku rasa cara ni tak praktikal. Pendrive tu secara rasminya aku isytiharkan rosak atau perlu diformat semula. Aku amik satu lagi pendrive lain dan install semula freeNAS OS yang terbaru ( versi 8.3.0) semasa blog ini ditulis.

Dari situ aku dapati, OS (data) dalam pendrive ni sebenarnya statik sebabnya tak banyak maklumat yang disimpan dalam pendrive ni. Semua data dan metadata fail yang banyak dalam NAS disk sebelum ini adalah tersimpan dengan selaman dalam HDD.


Jadi, selepas aku boot semula freeNAS yang baru ni, aku cuma import je semula volume zfs yang telah sedia ada dalam HDD. Tak sampai 10 minit selepas aku akses ke GUI web freeNAS ni, aku dapat semula semua fail yang tersimpan dalam HD sebelum ini.


Terdetik dalam otak yang sepatutnya aku boleh sediakan 2/3 pendrive yang mempunyai imej yang sama pada server freeNAS. Jika salah satu pendrive tu rosak, aku cuma reboot semua server dengan pendrive lain memandangkan data di dalam pendrive tu adalah statik.

Namun ini hanyalah idea dalam kepala aku je. Aku tak praktik lagi.


Tapi yang penting, ada beberapa langkah yang aku perlu buat untuk menjayakan buah fikiran aku tadi.


  1.  Setup semula freeNAS dalam pendrive.
  2.  Boot guna pendrive freeNAS yang baru tu
  3.  setup semua yang perlu semula 
    1. Setup network, web ui dll
    2. setup username, pwd, admin, services dll
    3. setup ssh knownhost dll
  4. shutdown dan kemudian create image dengan menggunakan pendrive tu
  5. Burn image tu kedalam pendrive lain
  6. pasang semua ke server dan on server

Ada dua benda yang aku nak highlight kat sini.


1. Sistem yang aku buat tu taklah begitu kritikal penggunaannya. Jadi kalau server tidak hidup sehari-dua pun user hanya akan telefon dan tanya sepatah je. Maka sempat la nak tukar n install balik semua sekali.

2. Segala data dan fail dalam zfs volume ( jumlah semua 6 HDD ) tu selamat dan snapshot diambil dan disimpan setiap jam, setiap hari. Jika ada berlaku apa-apa, kita boleh up balik mana-mana snapshot ataupun kita boleh import volume zfs tu ke dalam server freeNAS yang lain.


Setakat ini dahulu perkongsian untuk kali ini. Agak melegakan hati sebenarnya menggunakan freeNAS sebagai Sistem Operasi untuk uruskan storan. Mungkin lepas ni pendrive tu kita boleh mirror dan kita ada 'redundant point of OS' supaya sistem boleh kurangkan masa tak hidup.


Wallahuallam. Segala Puji adalah bagi Allah yang telah mengurniakan rezeki, peluang dan ilmu ini untuk kita sama-sama nikmati.

-- Jom kita bantu sesama muslim dalam ekonomi dengan membeli dan menggunakan barangan buatan Muslim --





19 Sep 2012

Tambah senarai domain name server selepas setkan ip tetap pada server slakcware resolv.conf


Dengan Nama Allah Yang Maha Pemurah lagi Maha Pengasihani

Segala Puji Pujian hanyalah bagi Allah, Tuhan Sekalian Alam


Assalamualaikum 

Tambah senarai Domain Name Server selepas setkan IP tetap (fixed ip) pada linux slackware server

senario:

   Setiap kali  selepas instalasi server baru, pasti kami akan timbul masalah dengan IP tetap (fixed IP) untuk berhubung dengan internet luar.

Ada beberapa perkara yang perlu difahamkan disini.

1. Tanpa menggunakan DHCP, slackware tidak dapat mengenal domain name server yang biasanya akan tercipta sendiri selepas kita melarikan arahan dhcpcd pada konsol linux. Oleh kerana itu, kita perlu memasukkan secara manual senarai nama / alamat domain name server.

terdapat satu fail yang akan dibaca oleh sistem iaitu :

/etc/resolv.conf

yang mana fail ini akan membaca pula 2 fail lain iaitu

/etc/resolv.conf.head
/etc/resolv.conf.tail

2. Fail .head akan dibaca dahulu. Fail .tail dibaca paling akhir

3. Tentukan ip / url untuk domain name server
  • biasanya apabila kita menggunakan dhcpcd DEVICE untuk dapatkan Ip secara automatik, fail /etc/resolv.conf juga turut dikemaskini dengan ip domain name.
  • oleh itu, salah satu langkah untuk menentukan alamat IP DNS adalah dengan melarikan dhcpcd pada server.
  • setelah carrier dapat menentukan alamat daripada dhcp server, fail /etc/resolv.conf juga akan dikemaskini.
  • Cth :


root@iman:/home/diman# dhcpcd eth0

dhcpcd[20779]: version 5.5.6 starting
dhcpcd[20779]: eth0:2: not configured to accept IPv6 RAs
dhcpcd[20779]: eth0:2: broadcasting for a lease
dhcpcd[20779]: eth0:2: offered 10.1.123.101 from 10.5.1.254
dhcpcd[20779]: eth0:2: acknowledged 10.1.123.101 from 10.5.1.254
dhcpcd[20779]: eth0:2: checking for 10.1.123.101
dhcpcd[20779]: eth0:2: leased 10.1.123.101 for 43200 seconds
dhcpcd[20779]: forked to background, child pid 20879
4. Kita tengok fail /etc/resolv.conf

root@iman:~# cat /etc/resolv.conf
# Generated by dhcpcd from eth0
# /etc/resolv.conf.head can replace this line
search abcd.com.my
nameserver 10.5.1.1
nameserver 202.170.45.45
nameserver 10.5.1.2


5. Kita salin kandungan dalam fail /etc/resolv.conf ini kedalam fail /etc/resolv.conf.tail

root@iman:~# cat /etc/resolv.conf > /etc/resolv.conf.tail

6. Matikan dhcp pada eth0 untuk setkan ip tetap server


root@iman:~# dhcpcd -k eth0

7. Ubah konfigurasi fail network di /etc/rc.d/rc.inet1.conf

Ubah nilai pada bahagian di bawah

# Config information for eth0:
IPADDR[0]="10.1.1.1"
NETMASK[0]="255.255.248.0"
USE_DHCP[0]="no"
DHCP_HOSTNAME[0]=""
dan juga default gateway

# Default gateway IP address:
GATEWAY="10.1.10.1"

8. Restart servis network kita

root@iman:~# /etc/rc.d/rc.inet1 restart


9. Periksa semula konfigurasi


root@iman:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:21:97:D4:43:13
          inet addr:10.1.1.1  Bcast:10.1.127.255  Mask:255.255.248.0
          inet6 addr: fe80::221:97ff:fed4:441b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:46835720 errors:0 dropped:141695 overruns:0 frame:0
          TX packets:37123829 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:462924132 (441.4 Mb)  TX bytes:1580427883 (1507.2 Mb)
          Interrupt:43 Base address:0xe000
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:33333 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33333 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:27551433 (26.2 Mb)  TX bytes:27551433 (26.2 Mb)



10. Test akses ke server luar



InsyaAllah berjaya.


Kesimpulan

Untuk setkan ip secara manual, tanpa dhcp, perlu setkan beberapa perkara


1. ip kita, netmask
2. ip gateway 
3. ip dns (local, ISP)

supaya rangkaian kita dapat kenal pc kita dan pc kita dapat kenal server-server yang penting untuk komunikasi.


sekian dulu, semoga menjadi manfaat kepada kita semua.

Wallahuallam

Langkah untuk mount folder yang dikongsi di freenas dari komputer lain


Puji-pujian hanyalah baru Allah, Tuhan sekalian alam.

Assalamualaikum.

Setelah beberapa kali setup freeNas dan menghadapi masalah sama apabila selalu terlupa langkah-langkah yang sepatutnya untuk mount folder dalam freeNAS server, akhirnya aku pun letakkan la dalam blog ni.


CONTOH ERROR :



root@iman:~$ mount 192.168.90.204:/mnt/nas /home/datamount.nfs: timeout set for Sat May 26 09:42:54 2012mount.nfs: trying text-based options 'tcp,vers=4,addr=192.168.90.204,clientaddr=192.168 .90.180'mount.nfs: mount(2): Protocol not supportedmount.nfs: trying text-based options 'tcp,addr=192.168.90.204'mount.nfs: prog 100003, trying vers=3, prot=6mount.nfs: trying 192.168.90.204 prog 100003 vers 3 prot TCP port 2049mount.nfs: prog 100005, trying vers=3, prot=6mount.nfs: trying 192.168.90.204 prog 100005 vers 3 prot TCP port 896mount.nfs: portmap query failed: RPC: Timed outmount.nfs: mount to NFS server '192.168.90.204:/mnt/Dundee45' failed: timed out, giving up



Secara ringkas ( sebelum terlupa )

1. Andaikan server freeNAS telah hidup dan alamat ipnya adalah : 10.1.1.112. 

2. folder yang kita kongsi di freeNAS adalah /mnt/nas.

Tutorial freeNAS : http://doc.freenas.org/index.php/Unix_(NFS)_Shares

3. Server yang akan guna folder yang dikongsi adalah : 10.1.2.12, slackware64 13.37dan kita nak mount folder itu pada /home/data


Ini adalah langkah-langkah yang aku buat..

Dalam 10.1.2.12
1. Jadikan /etc/rc.d/rc.nfsd boleh dilarikan selepas sistem boot.

root@iman:/home/diman# chmod a+x /etc/rc.d/rc.nfsd    

2. Larikan rc.nfsd



root@iman:/home/diman# /etc/rc.d/rc.nfsd start

3. Jadikan /etc/rc.d/rc.rpc boleh dilarikan selepas sistem boot.



root@iman:/home/diman# chmod a+x /etc/rc.d/rc.rpc
4. Larikan rc.rpc



root@iman:/home/diman# /etc/rc.d/rc.rpc start
5. Pastikan ip dns dalam /etc/resolv.conf adalah betul. ( bagi server yang disetkan ip secara manual, perlu kemaskini alamat ip dns dalam fail ini )

6. shh ke server freeNAS untuk mendapatkan rsa key dalam .ssh/known_hosts




root@iman:/home/diman# ssh root@10.1.1.11
dan masukkan password root





Dalam 10.1.1.11 ( freeNAS server )


1. Pastikan ip dns dalam /etc/resolv.conf adalah betul. ( bagi server yang disetkan ip secara manual, perlu kemaskini alamat ip dns dalam fail ini )

2. ssh kepada komputer yang akan guna folder kongsi tadi




root@iman:/home/diman# ssh root@10.1.2.12
dan masukkan password untuk root
kemudian exit untuk kembali ke semula ke server freeNAS


3. restart mount.d dalam freeNAS



root@freeNAS ~# /etc/rc.d/mountd restart



Stopping mountd.
Starting mountd.
[root@freenas] ~#
*oleh kerana server freeNAS menggunakan freeBSD, susunan dan penamaan fail dalam /etc/rc.d/ adalah berbeza dengan slackware.


Dalam 10.1.2.12 ( pc klien )

1. Mount folder dalam server freeNAS

root@diman: /home# mount 10.1.1.11:/mnt/nas /home/data
root@diman: /home#
2. Periksa semula mount kita dengan arahan mount di pc klien



root@edocs:~# mount
/dev/root on / type ext4 (rw,relatime,barrier=1,data=ordered)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
/dev/md2 on /var type ext4 (rw)
/dev/md3 on /usr type ext4 (rw)
tmpfs on /dev/shm type tmpfs (rw)
10.1.127.229:/mnt/nasdisk on /var/www/htdocs/edokumen/uploads/edocs type nfs (rw,addr=10.1.127.229)
10.1.126.20:/mnt/nas on /home/data type nfs (rw,addr=10.1.126.20)
root@edocs:~# 


Kesimpulan

1. Pastikan servis nfsd dan rpc pada klien telah dilarikan
2. Pastikan alamat ip dns telah disetkan pada kedua pc
3. dapatkan ssh rsa key supaya kedua pc mengenali antara satu sama lain
4. Larikan semula servis mountd pada server freeNAS.
5. mount sekali lagi.






Jika tidak dapat juga, silalah rujuk ke forum freeNAS pada websitenya. Mungkin ada error lain atau cara lain yang lebih tepat dari yang di atas.


http://forums.freenas.org/forum.php




23 Jul 2012

Ubah Konfigurasi FreeNAS secara tetap selepas boot




Assalamualaikum






Ubah konfigurasi FreeNAS untuk /etc/hosts dan /etc/hosts.allow secara kekal


Pada asalnya konfigurasi freeNAS tidak dilakukan secara tetap memandangkan pelayan freeNAS jarang sekali kita reboot. Tapi sesuatu terjadi minggu lepas menjadikan pelayan freeNAS mati dua, tiga hari. Nasib baiklah masih tiada apa2 sistem lagi yang guna server tu.


Jadi, apabila reboot semula, agak susah pula untuk mount dari komputer sendiri. Dan terpaksa pula kita ssh ke freeNAS untuk ubah setting dalam /etc/hosts dan /etc/hosts.allow. Tapi yang peliknya bila server freeNAS kita boot, setting kembali kepada asal.

Cari punya cari, rupanya2 setting freeNAS akan disalin semula semasa boot. Ini menjadikan sistem kembali asal.


Oleh itu kita perlu ubah file konfigurasi di dalam /conf/base/etc kerana file dalam folder tersebut akan disalin semasa freeNAS sedang boot.


FreeNAS OS menggunakan freeBSD. Aku letak OS ni dalam usb flashdrive 4G dan OS akan boot dari situ.

Isu Kita
- Perlu masukkan ip server aplikasi kedalam list hosts dan hosts.allow
- hosts dan hosts.allow akan ditulis semula setelah FreeNAS boot semula
- Perlu edit kedua fail hosts dan hosts.allow ni pada /conf/base/etc
- /conf/base/etc dimount secara read-only ( tidak boleh edit )



Oleh itu, perlu mount / sebagai rw dulu

mount -o rw /dev/ufs/FreeNASs1a /


kemudian edit fail hosts dalam /conf/base/etc/hosts

nano /conf/base/etc/hosts   

tambah ayat macam di bawah


10.1.1.123          namaserver.domain.demo 

Kemudian simpan la..


edit pula fail /conf/base/etc/hosts.allow



nano /conf/base/etc/hosts.allow  

tambah ayat macam di bawah

ALL : domain.name.my 10.1.1.123 : allow


simpan dengan alt-o, enter.

Reboot

Pada dasarnya, kita telah edit fail-fail yang akan ditulis semula selepas FreeNAS diboot semula. Dalam kes aku ni, aku install FreeNAS diatas USB flash drive.

Setelah boot. Jangan lupa kita tambah juga ip server FreeNAS pada /etc/hosts di server aplikasi kita.
Juga pada hosts.allow di server aplikasi.


boleh la mount dengan arahan di bawah


pada server aplikasi :

mount 10.1.1.111:/mnt/datanas /var/nasdisk


*dimana /mnt/datanas berada di FreeNAS server
* /var/nasdisk berada dalam server aplikasi
* sila mkdir /var/nasdisk la dulu ... ;)



Setakat itu sahaja.. nak tahu lebih pasal FreeNAS, boleh la baca laman wiki dia.


6 Jul 2012

Pendirian Islam dalam Penggunaan Perisian Cetak Rompak : Satu Muhasabah


Assalamualaikum
"Ya Rahman Ya Rahim. Hanya kepadaMu sahaja aku menyembah dan meminta bantuan... Amin Ya Rabbal Alamin"


Kali ini saya ingin utarakan satu isu yang sudah lama terfikir dan nak diketengahkan. Alhamdulillah hari ini ada kelapangan dan idea untuk menulis isu ini.

Mengikut Majlis Fatwa Kebangsaan yang terdiri daripada mufti dan alim ulamak , fatwa membeli dan menggunakan perisian cetak rompak adalah haram dan sebarang keuntungan daripada hasil perniagaan yang menggunakan perisian cetak rompak adalah syubhah.

Mengikut Majlis Kesatuan Ulama Sedunia dan keputusan Majlis Fatwa Eropah juga telah menfatwakan hukum yang sama.

Boleh rujuk di : 


Namun post saya hari ini cuma ingin memberi peringatan terhadap diri sendiri sebagai muhasabah dan mungkin boleh mencetuskan rasa takut kepada balasan Tuhan di dunia dan akhirat nanti.

Syubhah

   Menggunakan perisian cetak rompak untuk melakukan perniagaan dan seterusnya mendapat untung (pendapatan) daripada perniagaan itu adalah syubhah. 
 “ Daripada Abdullah bin An-Nukman bin Basyir r.a katanya "Aku telah mendengar Rasulullah s.a.w. bersabda: "Sesungguhnya yang halal itu telah nyata (jelas hukumnya) dan yang haram itu juga telah nyata (jelas hukumnya) dan di antara kedua-duanya (halal dan haram itu) terdapat perkara perkara syubhah (yang tidak jelas akan kehalalan dan keharamannya) yang tidak diketahui oleh ramai manusia, maka barangsiapa yang memelihara dirinya dari perkara-perkara yang syubhah itu samalah seperti orang yang telah melindungi agamanya dan kehormatannya, barangsiapa yang terjatuh ke dalam perkara-perkara yang syubhah maka sesungguhnya ia telah terjatuh ke dalam perkara-perkara yang haram, seumpama penggembala yang menggembala di sekitar padang rumput yang berpagar hampir-hampir binatang gembalaannya masuk dan memakan rumput-rampai yang berpagar ini.Maka ketahuilah sesungguhnya bagi setiap raja itu ada padanya kawasan larangan dan ketahuilah bahawa sesungguhnya kawasan larangan Allah adalah perkara-perkara yang telah diharamkanNya. Dan ketahuilah sesungguhnya di dalam tubuh itu terdapat satu ketul daging, jika ia baik maka baiklah keseluruhan tubuh dan sekiranya ia rosak maka rosak pulalah keseluruhan jasad, sesungguhnya ia adalah hati."  
(Diriwayatkan oleh AI-Bukhari dan Muslim)
Hadis di atas membicarakan perihal syubhah. 

Mulanya aku rasa macam "takpe la kot, syubhah je, bukan haram". Kemudian makin lama rasa makin bersalah dan berdosa. Apatah lagi duit daripada hasil kerja guna perisian cetak rompak tu aku gunakan untuk beli keperluan harian, untuk beli makanan dan mungkin untuk beri kepada isteri.

Dan duit yang aku gunakan itu adalah syubhah.

MasyaAllah.

Cuba berkira-kira semula jika aku mengeluarkan modal untuk membeli perisian tulen

MS Windows        : RM 300
Adobe Photoshop  : RM 2000 
Adobe Lightroom  : RM 1800
JUMLAH            : RM 4100

Itu keperluan minimum untuk seorang jurugambar.  Mengeluarkan RM 4100 memerlukan aku membuat pinjaman jangka pendek dan mungkin jika aku ada duit simpanan sebanyak itu, mungkin rasa sangat berat untuk habiskan dengan membeli perisian yang mana kita sendiri maklum, 4-5 tahun lagi, ia akan menjadi suatu yang lama.

Di sinilah terasa diri ini teruji. Adalah aku sanggup untuk menelan duit syubhah demi untuk menyelamatkan RM4100 dari saku poket aku?

Apa yang aku nak jawab pada Allah di akhirat nanti? Ataupun mungkin di dunia ini Tuhan akan menarik  rezeki aku kerana memakan duit syubhah.

Nauzubillah.

Aku tak dapat nak bayangkan duit keuntungan / gaji yang diterima hasil daripada menggunakan perisian cetak rompak itu telah dijatuhkan syubhah. Dan dengan duit itu aku membayar bil-bil rumah. Apatah lagi membeli makanan untuk nafkah isteri dan keluarga. Makanan yang dimakan oleh aku dan isteri adalah hasil dari duit syubhah. Kemudian menjadi darah daging. Darah daging daripada duit syubhah. 

Nauzubillah. Aku perlu hentikan ini. Berhenti menggunakan perisian cetak rompak.

Yang paling penting adalah usaha kita dan pengorbanan kita untuk mendekatkan diri kepada Allah.

Guna Perisian Sumber Terbuka

Alternatif lain yang sangat-sangat mudah untuk didapati adalah menggunakan perisian sumber terbuka. Percuma untuk didownload.

MS Windows => Ubuntu Sabily : Percuma
Adobe Photoshop => GIMP.org : Percuma
Adobe Lightroom => picasa dan banyak lagi perisian untuk simple editing. : percuma

Jumlah : RM 0.

Tahun ni adalah tahun keempat aku menggunakan sumber terbuka untuk mencari rezki samada dalam bidang pembangunan perisian atau fotografi. Alhamdulillah aku diberi kemudahan untuk kekal menggunakan sumber terbuka.

Dan yang paling penting daripada peristiwa ini aku dapat simpulkan bahawa Rahmat dan Hidayah Allah itu bukan suatu yang kita tunggu.

Dan apabila kita telah pun berusaha ke arahNya, maka Allah akan memudahkan perjalanan kita..




Tunaikan kewajipanmu kepada Tuhan, dan Tuhan akan menjagamu.. InsyaAllah..

Wallahuallam. Semoga menjadi iktibar kepada diri sendiri di masa depan..












31 Mei 2012

php mysql_connect mysql , sedikit perkongsian ilmu


Assalamualaikum..

"Ya Allah, aku berdoa kepadaMu dengan segala kebaikan seperti yang Rasulullah doakan, dan aku juga berdoa kepadaMu agar dijauhkan dari segala keburukan seperti yang Rasulullah doakan.. Amin Ya Rabbal Alamin.."


Oleh kerana terlalu ingin cepat siapkan sistem, terlalai untuk memeriksa kod untuk mysql_connect dalam fail dbconfig.php.



$db1 = mysql_connect('db1.hu.sm.my', 'sistem1', 'password1');
$db2 = mysql_connect('db2.hu.sm.my', 'sistem2', 'password2', TRUE);


mysql_select_db('dbname1', $db1);
mysql_select_db('dbname2', $db2);

Maka

ini bermakna jika parameter untuk server kedua adalah tak sama dengan paramater untuk server pertama, tidak perlu kita letak 'TRUE' untuk parameter ketiga bagi server kedua.

Jika diletakkan, maka php akan mencipta satu sambungan baru setiap kali kita include atau require fail ini dalam mana-mana fail aplikasi kita.

Dan oleh kerana tidak memahami betul-betul fungsi TRUE ini dalam mysql_connect, server pangkalan data pengguna / staf dah congested.

beringat-ingat lah kita semua.. ( atau aku je yang tak tau ) 

namun, terima kasih dan syukur kerana pengalaman ini membuahkan satu ilmu yang sangat berguna di masa hadapan.


Sekian dahulu, doakan semoga keluarga aku sehat dan disembuhkan segala penyakit.. Amin




21 Mei 2012

Malaysia Open Source Conference 2012 - Enterprising Open Source



Assalamualaikum

  
"Tiada daya dan kekuatan (yang memudaratkan dan memanfaatkan) melainkan Allah"



Dah tiba masanya untuk tahun ini Persidangan Sumber Terbuka Malaysia diadakan. Persidangan peringkat antarabangsa ini sebenarnya amat banyak membuka mata dan peluang untuk diceburi dan dijelajahi.

Sejak berkhidmat di HUSM, dah 3 kali rasanya aku join MOSC. Tahun lepas aku diberikan tugas berat bila diminta menjadi pembentang kertas kerja yang sama-sama diusahakan oleh rakan setugas. Namun, nak naik pentas dan membentang dalam bahasa inggeris itu adalah satu cabaran yang agak getir. Lagipun diri ni memang mudah berdebar bila nak naik pentas pun.

Tapi hasil daripada tu, selangkah-demi selangkah kami mampu meneroka alam luar. Sehingga kini masih lagi menyibukan diri mencari dan menelaah teknologi baru dalam sumber terbuka untuk diaplikasikan dalam sistem hospital.

Alhamdulillah, sesungguhnya segala yang baik itu datang daripada Allah. Jika dicongak-congak, mungkin ratusan juta duit rakyat dijimatkan sepanjang pembangunan sistem pengurusan hospital dengan menggunakan sumber terbuka.

MOSC sebenarnya menjadi pemangkin kepada kami dan semua pembangun dan 'pejuang' sumber terbuka di Malaysia untuk melebarkan sayap kemahiran dan peluang lebih-lebih lagi sektor kerajaan yang sekarang ini mengamalkan perbelanjaan berhemah dan tidak membazir.

Dan, bagi kami, mungkin dengan penjimatan ini, duit rakyat boleh digunakan untuk membeli ubat yang akan memanfaatkan lebih ramai lagi rakyat yang memerlukan. InsyaAllah

Jom ke MOSC 2012. Walaupun hati ini ingin nak pegi, tapi nampaknya bajet HUSM tahun ini agak kurang, mungkin tidak mampu ke sana tahun ini.

Walaupun begitu, dalam hati ini sentiasa menyokong 110% usaha setiap pembangun perisian, penyelidik dan peneroka sumber terbuka untuk teruskan usaha dan teruskan berkongsi.


"Sharing is Caring" 

Berkongsi itu Cakna.. InsyaAllah..

Semoga diberkatiNya dirahmatiNya, dikasihiNya, disayangiNya, ditingkatkan darjat olehNya, diberikan rezeki yang luas olehNya dan dimasukkan ke dalam syurgaNya.

Amin ya Rabbal Alamin.








14 Mei 2012

Bangun Dari LAN ( WAKE ON LAN)



Assalamualaikum




    Dengan nama Allah yang Maha Pemurah dan Maha Pengasih. Tuhan yang Maha Alim dan Maha Kuasa. Ampunkanlah segala dosa kami, dosa kedua ibu-bapa kami. Kasihilah dan Sayangilah kedua ibu-bapa kami sepertimana mereka mengasihi kami ketika kami kecil dahulu.






Tutorial Bangun Dari LAN ( Wake on LAN )

 InsyaAllah dalam tutorial ini saya akan berikan penerangan ringkas cara-cara untuk menghidupkan komputer / server dengan menggunakan kad rangkaian dari komputer lain.

Teknologi WakeOnLan adalah salah satu cara untuk memudahkan kita on mana-mana nod dalam rangkaian dengan menghantar isyarat khas kepada kad rangkaian supaya papan induk nod tersebut menghidupkan suis kuasa.

Amat memudahkan kita untuk bekerja secara jauh.

Tutorial ini akan menggunakan Slackware 13.37 dengan kad rangkaian yang tersedia wake on lan


Keperluan


- Kad Rangkaian yang ada wakeonelan ( wol )
- berada dalam rangkaian
- no MAC kad rangkaian

Tetapan


1. Pastikan kad rangkaian adalah tersedia wake on lan


#: ethtool eth0



Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg  [ Nota: pastikan g ada ]
        Wake-on: g [ Nota: g : tersedia, d : tidak-sedia ]
        Current message level: 0x00000001 (1)
        Link detected: yes
2. Jika kad rangkaian ada wake-on: g, maka kita boleh gunakan fungsi ini.


3. Jika kad rangkaian ada namun tidak-sedia, boleh gunakan arahan di bawah untuk ubah setting kepada tersedia.

#: ethtool -s eth0 wol g



dengan itu, kad rangkaian kita sedia menerima mesej arahan dari nod lain untuk hidupkan kuasa.


4. Dari PC lain, kita perlu software / program yang dapat menghantar mesej kepada kad rangkaian


Untuk Slackware, bolehlah download dan install pakej ini :

http://connie.slackware.com/~alien/slackbuilds/wakeonlan/build/

5. Dapatkan alamat MAC server / pc yang kita mahu hidupkan tadi.


# ifconfig
eth0     Link encap:Ethernet  HWaddr 00:16:k5:64:A9:68  [ Alamat MAC ]
          inet addr:192.168.6.56  Bcast:192.168.6.255  Mask:255.255.255.0
          inet6 addr: fe80::216:17ff:fe6b:289/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3179855 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2170162 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3832534893 (3.5 GB)  TX bytes:390304845 (372.2 MB)
          Interrupt:17



6. Padam ( shut down ) server.

7. Arahan di bawah akan menghidupkan semula server tadi :

#: wakeonlan 00:16:k5:64:A9:68



Sekian dahulu tutorial ini. Harap mendapat lindungan Rahmat daripada yang Maha Rahman. Sesungguhnya apa yang kita ada sekarang adalah sebenarnya asalnya tidak ada. Yang Maha Ada hanya lah Allah SWT.

Bertawakkallah dan Bertakwalah kepadaNya. InsyaAllah kita tergolong dalam golongan kekasihNya..


Maafkan kekurangan, ampunkan kesalahan, tegurlah yang mana buruk.

Dan segala yang baik itu adalah datang dari Allah, Tuhan sekalian alam.

wassalamualaikum


RAID 5, mdadm, slackware 64, 6 Buah HDD dengan tambahan kipas =)



Allahumma inni a'uudzubika minal hammi wal hazan.Ya Allah ya Tuhan kami, sesungguhnya aku berlindung kepada-Mu daripada keluh kesah dan dukacita.
Wa a'uudzubika minal 'ajzi wal kasal. Dan aku berlindung kepada-Mu dari lemah kemahuan dan malas.
Wa a'uudzubika minal jubni wal bukhl. Dan aku berlindung kepada-Mu daripada sifat penakut dan kedekut.
Wa a'uudzubika minal ghalabatiddaini wa qohrirrijaal.
Dan aku berlindung kepada-Mu daripada tekanan hutang dan kezaliman manusia.
Assalamualaikum

        Selalunya terasa macam tak cukup masa je untuk update blog ni padahal niat untuk berkongsi ilmu itu satu yang baik dan setiap yang baik itu dari Allah. Tapi rasa malas itu menebal dan kemahuan untuk menaip blog ni memang lemah.

       Jadi, sebaik-baiknya adalah berdoa dan alhamdulillah bila tanya pakcik google, mmg ramai yang share pasal doa ni. Jazakallahukhairan


RAID 5, 6 Buah HDD, Slackware64 dan mdadm


Gambar di atas adalah cita-cita kami untuk file-server dengan raid 5. 


Gambar ni pula keadaan sebenar yang kami mampu usahakan. = )

Resepinya :
  1. Komputer Desktop Acer M9600. 
  2. Mainboard dengan 6 port sata
  3. 6 buah HDD 500GB
  4. tambahan 2 kipas di depan dan di belakang


Apa Itu RAID 5?


Block dengan p adalah block pariti. Contoh RAID5 dengan 4 HDD

Contoh 3 HDD dengan RAID5. 







Redundant Array Independent Disk Level 5
- RAID 5 memperuntukkan 1 HDD untuk toleransi kegagalan. Maksudnya satu HDD akan menyimpan data pariti yang akan digunakan apabila salah satu HDD rosak.
- Paling kurang, 3 buah HDD diperlukan untuk membina RAID 5. 
- Jika menggunakan 3 buah HDD 1 TB, jumlah saiz yang boleh dicapai adalah 2 TB. 
- Iaitu katakan n HDD digunakan, dengan s adalah saiz HDD dan andaikan saiz HDD adalah sama, maka jumlah keseluruhan saiz yang dapat dicapai dengan RAID 5 adalah (n-1)s


Kelebihan RAID 5
- Sangat ekonomi kerana saiz HDD yang besar dapat dicapai disamping ada ciri-ciri toleransi kegagalan.
- Mampu untuk baikpulih jika ada 1 HDD rosak pada satu-satu masa.
- Contohnya kami perlukan HDD space yang besar namun budget tidak mencukupi untuk membeli HDD / file server / sewa HDD space  dll. Jadi apa yang yang termampu hanyalah menggunakan apa yang ada dalam jabatan kami. Kami gunakan 6 buah HDD 500GB, dan dengan RAID 5, kami boleh mencapai saiz HDD sehingga 2.5 TB. Cukuplah untuk sistem yang kami bina ni dan mungkin mampu bertahan 2-3 tahun lagi sebelum penuh.. InsyaAllah.


Kelemahan RAID 5
- Data pariti dijana setiap kali terdapat aktiviti tulis ke atas HDD yang mengurangkan prestasi sistem. Namun pengurangan prestasi ini hanyalah memberi kesan kepada sistem yang benar-benar besar dan aktiviti tulis pada HDD sangat tinggi.
- Sistem hanya mampu dibaikpulih jika hanya 1 HDD sahaja rosak pada satu-satu masa. Jika 2 HDD rosak serentak, maka sistem akan gagal.

Namun, untuk kemungkinan berlakunya 2 HDD rosak secara serentak adalah sangat jarang walaupun ianya mungkin berlaku. Maka, untuk sistem yang tidak begitu kritikal / data juga disimpan secara selari pada server lain, RAID 5 masih lagi relevan untuk digunakan. InsyaAllah.



Tutorial RAID 5

Dalam tutorial ini, aku guna Slackware 13.37 64bit linux dengan hardware setup seperti di atas tadi.

Sepintas Lalu


Rujukan untuk tutorial ini adalah daripada :
http://slackware.osuosl.org/slackware-12.1/README_RAID.TXT

Seperti yang kita sedia maklum, untuk setup OS kedalam satu komputer memerlukan peruntukan ruang HDD. Dalah kes linux, ruang asas yang perlu dibina adalah swap dan os. Namun, biasanya kita akan peruntukkan juga ruang HDD untuk sistem contohnya /var adalah didalam satu bahagian HDD yang berbeza dengan bahagian root /

Berbeza dengan RAID 1 ( Mirror ), RAID 5 memerlukan kita untuk membuat satu bahagian bagi /boot yang mana sistem akan boot di sini.

Keperincian :
  • /
    • root
  • /boot
    • boot
  • /var
    • untuk sistem

Mula dengan Boot sistem menggunakan Slackware 13.37 64bit.
- Apabila komputer telah boot sehingga keluar konsol prompt, boleh mulakan pembahagian HDD ( partitioning ) untuk HDD pertama


Bahagian HDD
Katakan HDD adalah seperti berikut

/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde
/dev/sdf

Dengan menggunakan cfdisk atau fdisk, /dev/sda dibahagikan seperti berikut :
/dev/sda1 /boot 30 MB Linux Raid autodetect
/dev/sda2 / 2 GB Linux Raid autodetect
/dev/sda3 swap 4 GB Linux Raid autodetect
/dev/sda4 /var (saiz yang tinggal - 100MB) Linux Raid autodetect
* 100MB ditinggal tanpa membuat sebarang bahagian untuk HDD tersebut menyimpan data bahagian dalam HDD ini.
* Pastikan jenis bahagian HDD adalah fd ( linux raid autodetect )

untuk HDD lain, cukuplah sekadar hanya melarikan arahan di bawah :
#: sfdisk -d /dev/sda | sfdisk /dev/sdb
#: sfdisk -d /dev/sda | sfdisk /dev/sdc
#: sfdisk -d /dev/sda | sfdisk /dev/sdd
#: sfdisk -d /dev/sda | sfdisk /dev/sde
#: sfdisk -d /dev/sda | sfdisk /dev/sdf
* arahan ini menyalin jadual bahagian HDD di HDD pertama ke HDD kedua


Cipta Array untuk RAID


Dengan menggunakan arahan mdadm, boleh mula cipta array untuk raid.

Untuk setup dalam tutorial ini, kita ada 4 bahagian HDD yang mana /boot, /var dan / (root). Satu lagi adalah swap.

katakan :

swap  = md0     :   sd[a-f]3
/boot  = md1     :   sd[a-f]1
/         =  md2    :   sd[a-f]2
/var     = md3   :    sd[a-f]4

1. Untuk swap, kita gunakan raid 1 ( setiap hdd akan menyimpan salinan apa sahaja dalam swap )

#: mdadm --create /dev/md0 --level 1 --raid-devices 6 /dev/sd[a-f]3 --metadata=0

2. Untuk /boot juga, setiap HDD perlu ada salinan data dalam boot, maka sistem tidak bergantung hanya pada satu HDD sahaja untuk boot.

#: mdadm --create /dev/md1 --level 1 --raid-devices 6 /dev/sd[a-f]1 --metadata=0


3. Bahagian root atau / akan menggunakan raid 5. Satu HDD memperuntukan 2G dan jikalau menggunakan 6 HDD bersama raid 5, jumlah saiz HDD yang akan terhasil adalah 2 GB x 5 = 10 GB.

#: mdadm --create /dev/md2 --level 5 --raid-devices 6 /dev/sd[a-f]2 --metadata=0

4. Bahagian /var adalah untuk sistem web, database dan data-data berkaitan web (gambar, html, php dll). Bahagian ini adalah kritikal untuk sistem sebagai server.



#: mdadm --create /dev/md3 --level 5 --raid-devices 6 /dev/sd[a-f]4 --metadata=0



Sebelum melarikan slackware setup, kita perlu setkan swap array untuk installer camkannya..



#: mkswap /dev/md0




Sekarang bolehlah setup slackware macam biasa.

  • Untuk swap partition, pilih /dev/md0
  • Untuk target partition, pilih /dev/md2
  • Untuk extra partition
    • pilih /dev/md1 untuk /boot
    • pilih /dev/md3 untuk /var

Setup Slackware macam biasa.

Untuk Tetapan LILO ( sebelum instalasi habis )
- Pastikan untuk "append=" semasa setup LILO, masukkan "root=/dev/md2"
- pilih MBR sebagai tempat untuk install LILO

Sebelum Habis
- Apabila instalasi Slackware telah habis, sebelum kita mulakan semula server, ada sedikit lagi tetapan yang perlu kita ubah.

Tukar ke direktori /mnt dan edit file /etc/lilo.conf



#:  chroot /mnt
#: nano /etc/lilo.conf





1. Tambah satu ayat sebagai baris baru, tetapi jangan senggang ( indent )

raid-extra-boot = mbr-only

2. Tukar boot = "ada apa apa" kepada :
 
boot = /dev/md2


 iaitu bahagian HDD yang ada OS untuk diboot.

3. Simpan dengan menggunakan ctrl-o

4. run lilo dengan melarikan arahan lilo


5. exit

6. reboot


InsyAllah, semoga dengan RahmatNya kita berjaya membina server dengan RAID 5 menggunakan 6 buah HDD 500GB. Dan juga semoga ilmu yang dipelajari dalam tutorial ini dapat digunakan dan dimanfaatkan. InsyaAllah..


Jika ada kesalahan dan pembetulan, harap tidaklah segan silu memaklumkan kepada saya.


Wassalamualaikum Warah Matullah




















4 Apr 2012

Linux HA : Cadangan Pembinaan Server




Assalamualaikum 

        Hanya dengan bertawakkal kepada Allah sahajalah kita akan mendapat ketenangan semasa di dunia ini dan kebaikan di akhirat. Ya Allah aku berserah kepadaMu hidupku dan matiku. Kasihanilah aku, jauhilah aku dari sifat riak dan takabbur yang sesungguhnya itu adalah penyakit-penyakit hati yang menjadikan hati rosak. 


Niat untuk menyiapkan tutorial Slackware - Corosync - Pacemaker sebenarnya masih lagi menebal. Namun keyakinan untuk meletakkan tutorial itu masih lagi rendah sebabnya diri sendiri pun masih was-was dengan kebolehan diri ini untuk membuat pemulihan jika berlaku salah satu pelayan terhenti.

Jadi, saya ingin cuba secara nyata kebolehan sebenar server yang disetkan perkara-perkara berikut :

1. s/w RAID ( mdadm )
2. Redundant network card
3. Slackware server ( Super Small Server ) : kernel 3.0
4. Corosync - Pacemaker - DRBD - OCFS2
5. Sistem Perkongsian Dokumen Cloud menggunakan Ruby on Rails
6. Pangkalan data MySQL


Dan komputer pelayan ini sebenarnya akan menekankan kelebihan kapasiti cakera kerasnya kerana keperluan sistem ini yang membolehkan pengguna muat naik dokumen untuk dikongsi dengan pengguna lain di web ini.

Perancangan untuk RAID HDD


Bajet dan peruntukan yang makin meruncing tatkala ini, adalah sangat perlu untuk unit kami berfikir "sedetik lebih" :-) bagi menyelesaikan keperluan sistem ini dan memastikan keperluan pengguna tidak terganggu.

Dengan itu unit kami berbincang dengan hangat perkara ini dan satu resolusinya adalah dengan menggabungkan beberapa HDD yang kurang besar saiznya untuk menjadi lebih besar dengan menggunakan RAID 5 dan kebolehan peranti PCI-SATA-4 PORT.

Dengan setiap HDD berkapasiti 500GB, dengan raid 5, kapasiti terbesar adalah 1.5TB. Cuma kekurangan raid 5 adalah agak perlahan ketika proses menulis data.

4 x 500GB HDD, RAID 5 : Saiz Optimum didapati = 1500GB

Maka, sebuah komputer pelayan mampu memasang sehingga  8 buah HDD jika papan induk pelayan mampu menampung sehingga 4 sambungan SATA. Jadi, saiz terbesar boleh didapati adalah 3.5 TB sudah mampu untuk menampung keperluan sistem untuk beberapa tahun sehinggalah peruntukan dan bajet "kembali semula" kepada unit kami. InsyaAllah


Seperti contoh gambar di atas ni, 8 HDD dalam satu server 
(gambar ini hiasan sahaja, server di tempat kami bukan begini, :-D )






Setelah berjaya membina RAID 5 dengan 8 HDD nanti, saya akan update semula InsyaAllah. Moga Allah permudahkan perjalanan urusan ini dan semoga Allah kurniakan RahmatNya dengan memberikan kami daya ikhtiar untuk menyelesaikan masalah ini. InsyaAllah.


Sekian dahulu adanya.. selamat malam ..Assalamualaikum












30 Mac 2012

Menyambut Panggilan Allah


Assalamualaikum..
"...Akan tetapi,Ku-jadikan kamu adalah untuk mengabdi kepada-Kuberpanjangan,supaya kamu bersyukur kepada-Ku banyak-banyak, dan supayakamu bertasbih kepada-Ku pagi dan petang...." 
-- Pengajaran diatas adalah sebahagian daripada pengajaran 3 yang dipetik dari buku “Nasihat DanBimbingan Hadis-Hadis Qudsi”-Imam Ghazali.(Al-Hidayah Publisher)
Sesungguhnya tidak ada apa yang kita punyai ini adalah hak kita termasuklah tangan ini, mata ini, otak ini, mulut, hidung dan seluruh anggota ini adalah hak Allah.

Jika henda kita syukurkan seluruh nikmat dan kurniaan Ar-Rahman, sesungguhnya tiadalah mampu dan tiadalah daya kita sedangkan seinci gerak jari ini menekan kekunci di atas papan kekunci ini juga adalah di atas kurniaan Allah SWT.

Post kali ini juga tidak berkenaan teknologi sumber terbuka memandangkan sekarang fokus utama adalah menyiapkan sistem pengurusan dokumen untuk hospital. Tapi post kali ini agak menarik juga insyaAllah kerana saya ingin berkongsi sedikit nikmat yang Allah kurniakan kepada hamba-hambaNya..

berikut adalah antara gambar-gambar tanah suci sepanjang saya menyambut jemputan ke Baitullah milik Allah..










24 Feb 2012

Perjalanan Tak Sempurna


Segala puji adalah bagi Allah, Tuhan sekalian alam. Yang Maha Pemurah dan Maha Pengasihani. 


Perjalanan Tak Sempurna


   Meletakkan diri diselubungi rasa-rasa yang menusuk-nusuk hati dan seterusnya menjadikan hati dipupuk rasa negatif menjadikan kehidupan tidak lagi tenteram dan gembira. Mungkin dengan ego dan kedegilan boleh kita mengaku "aku hepi je, ada aku kesah?". Tapi alasan yang menunjukkan kita hanyalah mempertahankan perasaan sendiri sebenarnya hanyalah mempertahankan ego dan kedegilan.

 Bebaskan diri daripada rasa-rasa negatif merujuk kepada hati yang sentiasa bersih dari rasa-rasa negatif. Hanya satu sahaja jalan ke arah hati yang bersih, positif dan redha ( hati yang gembira dalam konteks sebenarnya) hanyalah melalui penghayatan agama Islam atau rasa keAgungan Allah yang utuh dalam hati. Hanya dengan itu sahajalah kita berjaya menurunkan ego dan kedegilan dan seterusnya menjurus kepada redha dan kemaafan. Yang mana, kita maklum dan faham dengan mengutamakan kemaafan dan keredhaan hati ini daripada rasa-rasa benci, buruk sangka, sombong, bongkak dan angkuh ini, barulah hati menjadi tenang, dan rasa gembira sebenarnya dapat dicapai.

Amatlah rugi bagi seseorang menyimpan dendam atau sakit hati bertahun-tahun lamanya malah lebih rugi jikalah dendam itu telahpun diminta kemaafan dari pelakunya namun kita gagal memaafkannya. Lebih memburukkan keadaan hati kita bilamana kita menghukum orang lain yang tidak berdosa hanyalah kerana mereka mempunyai persamaan dari segi rupa, asal dan budaya, yang tiada kaitan dengan peristiwa yang menjadi faktor kepada dendam itu.

Rugilah kita hidup dalam keadaan tidak berusaha membetulkan dan meningkatkan hubungan kita dengan Yang Maha Pencipta kerana tujuan kita hidup ini adalah untuk beribadah dan bumi ini tidak lain dan tidak bukan adalah tempat untuk melakukan solat. ( rujuk hadis )

Bersihkanlah hati dengna meminta maaf, menberikan maaf, redha-meredhai dan sentiasa senyum dan ramah. InsyaAllah akan kita dikurniakan kebahagiaan yang hakiki dan rasa cukup-mencukupi. Wallahuallam


* takde idea nak tulis pasal IT n Linux malam ni. Just terlintas benda2 di atas sebelum menulis..


Assalamualaikum








26 Jan 2012

Kompil Kernel Linux-3.2.2 dalam Slackware 13.37

Bismillahirrahmanirrahim.

  Segala puji-pujian hanyalah padaMu Ya Rahman Ya Rahim. Sesungguhnya segala kebaikan daripadaMu, segala keindahan daripadaMu, segala ketenangan, kesenangan, rezeki, ilmu, usaha, daya dan apa sahaja yang ada padaku ini adalah daripada Mu Ya Allah.
 Ampunilah dosa dan ketelanjuranku, sesungguhnya tiada Tuhan melainkanMu Ya Allah, segala puji hanyalah padaMu dan sesungguhnya aku adalah orang-orang yang zalim.

Assalamualaikum WBT

Jika diimbas kembali, bagaimana caranya daripada tujuan membina kelompok pelayan, timbul pula isu kompil kernel.


Imbas sejenak   


Mulanya instal corosync, setelah belajar sikit demi sedikit pasal corosync, timbul keperluan untuk instal drbd ( keseragaman data segerak ). Kemudian untuk menjadikan DRBD satu yang ampuh, perlu pula install OCFS2.

Dari situ, DRBD dapat berfungsi dengan baik dan percubaan untuk keseragaman data memang berjaya. Alhamdulillah. DRBD berfungsi dengan baik menggunakan OCFS2 sebagai sistem fail.

Setelah itu, timbul pula masalah ( tidak cukup ilmu sebenarnya ) dalam corosync & pacemaker, yang mana, pakej inilah yang akan memantau perkhidmatan yang dilarikan dalam kelompok pelayan ini.

Namun, setelah memastikan yang setiap fail pustaka (library) telah sempurna diinstal, masih ada lagi masalah dengan pemantauan ocfs2. Bila diamati fail di script ( /usr/lib/ocf/resource.d/ocfs2/o2cb) terdapat arahan yang menggunakan modprobe -s ocfs2_stackglue.

Bila dilarikan secara manual di konsol, sistem mengeluarkan error "Invalid module format". Ini menjelaskan kepada kita bahawa, module itu tidak serasi dengan kernel yang sedang dilarikan oleh sistem.

Maka pakcik google pun kenalkanla kepada beberapa forum yang aktif membincangkan pasal ini. Dan kebanyakkan penyelesaian mereka ialah dengan melakukan kompil semula kernel yang bertujuan untuk kompil modul ocfs2 bagi membolehkan kita melakukan modprobe ocfs2. Dan dengan itu, skrip o2cb boleh dilarikan dengan baik.

Sebab itulah tutorial [ Membina Komputer Pelayan Capaian Tinggi ] ini menjurus ke arah ini, kompil kernel..



Tutorial Kompil Semula Kernel linux-3.2.2 ke dalam slackware 13.37


-tukar ke direktori 
#:cd /usr/src

-download kernel ke direktori
#:wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.2.2.tar.bz2

-bukak pakej 
#:tar jxvf linux-3.2.2.tar.bz2

-buang link linux dari direktori
#:rm linux

-bina link linux ~> linux-3.2.2
#:ln -s /usr/src/linux-3.2.2 /usr/src/linux

-pindah ke folder linux-3.2.2
#:cd /usr/src/linux-3.2.2/


-salin fail config
#:zcat /proc/config.gz > .config

-bina make oldnoconfig
#:make oldnoconfig

-bina make menuconfig
#:make menuconfig

 
   Di sini, satu tetingkap menu config akan kelihatan.

   Untuk keselamatan, adalah lebih baik kita sediakan 2 kernel semasa boot nanti. Dan jika sudah berjaya, bolehlah kita buang tetapan untuk kernel lama. Oleh itu, jika anda rasa nak namakan dengan nama pilihan sendiri bolehlah ke


General setup  ---> (tekan enter)
() Local Version (tekan enter )
Masukkan nama pilihan anda. Contoh : serverCluster1


 Pilih Exit untuk ke menu utama. Di sini, kita perlu pilih modul OCFS2 diinstal sebagai modul ( dengan simbol M) dan bukannya built-in ( tetapan lalai )


pilih File systems --->
Tekan bawah hingga ke OCFS2 file system support
Tekan huruf 'm' di papan kekunci
pilih exit
pilih exit sekali lagi.


Setup akan mengeluarkan dialog untuk kita simpan atau tidak tetapan yang baru sahaja kita lakukan.


---> Pilih yes.

Setelah tetingkap dialog tertutup, maka tetapan untuk kernel sudahpun siap. Sekarang kita akan bina modul dan kemudian lakukan instalasi kernel


#:make all
#:make modules_install
#:make install


Biasanya masa yang diambil untuk kompil setiap modul agak lama. Jom la kita minum kejap. Takpe, lambat lagi ni dalam 20-30 minit.


Alhamdulillah...

Bila dah siap, langkah seterusnya adalah untuk 'memberitahu' sistem kita supaya menggunakan kernel baru apabila reboot nanti.

Yang ni agak keliru sikit2 bagi aku.


- salin fail kernel baru ke /boot
#:cp arch/x86/boot/bzImage /boot/vmlinuz-custom-3.2.2

- salin System.map ke boot
#:cp System.map /boot/System.map-custom-3.2.2          

- salin fail tetapan
#:cp .config /boot/config-custom-3.2.2                

- buang link lama dalam /boot
#:cd /boot
#:rm System.map                                          

- bina link baru
#:ln -s System.map-custom-3.3.2 System.map              


Alhamdulillah...

Kita telahpun berjaya kompil kernel baru, letak di tempat yang sesuai untuk system boot. Dan yang terakhir, kita perlu tetapan untuk linux loader (lilo) atau dalam bahaha melayu gemilangnya pemuat linux.


#:nano /etc/lilo.conf

Baiklah, pada tahap ini, kita perlu putuskan samaada sistem ini perlu untuk terus load ke kernel baru atau tidak. Dalam tutorial ini aku letakkan dulu tetapan untuk pemuat linux supaya kita dapat memilih kernel mana yang nak kita boot.

beginilah rupa dalam fail lilo.conf di bahagian bawah sekali (lebih kurang)


image = /boot/vmlinuz
root = /dev/sda1
label = linux
read-only 


di bahagian bawah daripada tetapan di atas, kita masukkan pula tetapan tambahan


image = /boot/vmlinuz-custom-3.2.2
root = /dev/sda1
label = kernel-3.2.2
read-only 


Dengan ini, anda telahpun menambah satu lagi kernel untuk sistem ini.

Simpan fail /etc/lilo.conf di atas ( ctrl-o ) dan kemudian, larikan lilo.


#:lilo


*tambahan*

setelah anda larikan lilo, dan ada keluar warning message :


#:lilo

Warning: LBA32 addressing assumed
Added ......
Added ......
One warning was issued




Buka semula fail /etc/lilo.conf anda, tambah kod dibawah ini dalam satu baris.


#:lba32


simpan dan larikan semula lilo

Alhamdulillah, sampai peringkat ini, kita telahpun berjaya kompil kernel, letak kernel ditempat yang betul dalam /boot dan buat tetapan untuk sistem boot pada linux baru dalam pemuat linux.

Sekarang apa lagi, reboot PC anda.



Sistem anda boleh boot dengan kernel baru?


root@serverCluster1#:/usr/src/inux# uname -a
Linux serverCluster1 3.2.2-serverCluster1 #1 SMP Thu Jan 26 11:51:43 MYT 2012 x86_64 Pentium(R) Dual-Core  CPU      E5500  @ 2.80GHz GenuineIntel GNU/Linux


1. Jika boleh, edit fail /etc/lilo.conf dan tambah kod berikut dalam baris baru


default = kernel-3.2.2





2. Jika tidak, anda perlu pastikan apakah mesej ralat yang keluar dan perlu cari penyelesaian. Biasanya kita google je mesej ralat tu. InsyAllah adalah insan2 yang berbincang pasal ralat tersebut.

satu lagi, edit fail /etc/lilo.conf jadi gini jika anda mahu terus boot ke kernel asal/lama


default = linux


Berjaya Kompil? Tahniah dan syukur kepada Allah kerana telah memudahkan urusan kita dan memberi kita sedikit ilmu di dunia.


Sekiranya kita ikut turutan biasa untuk menyiapkan pelayan kadar capaian tinggi, mungkin tutorial ini adalah langkah terakhir. Akan tetapi, untuk memudahkan pengguna lain dan diri sendiri selepas ini, adalah lebih baik kita kompil dulu kernel sebelum kita membuat instalasi perisian kelompok pelayan yang lain-lain. Supaya nanti memudahkan dalam tetapan, skrip dan sebagainya.


Yang baik itu segalanya daripada Allah SWT. yang tidak baik dan lemah itu adalah di atas kelemahan dan kekurangan diri ini. Maafkan yang terkurang dan tercela.

Jazakallahu Khairun..

wassalam