Disaat go live SIMRS di salah satu klien Rumah Sakit di Pekanbaru, Riau. Saya menemui kendala dengan Server yang berbasis UNIX (FreeBSD). Dimana sang OS ini mengalami 'kernel panic', akibatnya sistem tidak dapat di akses dan berimbas ke aplikasi kita yang sedang digunakan oleh user. Semua orang berkumpul dan saling menyalahkan siapa dalang yang menjadi permasalahan ini terjadi. Memang kalau saya lihat, mereka tidak dewasa dalam mengambil sikap dan ada juga yang diam seribu bahasa takut disalahkan dan tentunya mencari aman. Untuk itu pada artikel ini saya akan berbagi pengetahuan jika Anda semua mengalami 'kernel panic' dari OS kesayangan kita FreeBSD dan menggunakan database MySQL sebagai database server kita.
Saya ingatkan bahwa begitu sistem mulai go live maka harus dilakukan harus dilakukan backup secara regular setiap hari minimal 1
kali. Ini untuk jaga-jaga jika ada sesuatu yang tidak bisa diperkirakan di depan.
Saya ingatkan bahwa begitu sistem mulai go live maka harus dilakukan
Lakukan backup menggunakan Navicat -> Dump SQL File atau
yang lebih disarankan otomatis menggunakan Program MySQL Autobackup yang dijalankan
di salah satu komputer client diset otomatis jalan pada tengah malam (dengan
demikian workstation yang dipilih tidak boleh dimatikan, ini bisa
diinstall pada komputer khusus backup atau salah satu komputer client tapi dipesankan kepada mereka agar jangan mematikan
komputer waktu pulang)
SHARING PENGETAHUAN
Pada hari sabtu itu di RS Syafira terjadi kondisi dimana server
otomatis reset setelah waktu tertentu dengan message 'fss_blkfree: freeing free
block...' lalu 'dumping memory...' dan seterusnya.
Ini adalah salah satu dari message 'kernel panic' maksudnya sistem melakukan instruksi yang menyebabkan komputer hang dan program kernel terpaksa melakukan shutdown komputer setelah sebelumnya melakukan dumping memory agar user dapat melakukan keperluan diagnostik (mendiagnosa hal apa yang mengakibatkan kernel panic tersebut). Sistem bisa melakukan instruksi yang menyebabkan komputer hang karena ada salah satu file sistem rusak sehingga instruksi / kode yang dibaca dan dilaksanakan oleh sistem juga salah. Pada kernel panic ada tulisan 'rebooting in 15 seconds press any key to stop', pada kernel panic yang parah proses reboot tidak bisa dihentikan.
Ini adalah salah satu dari message 'kernel panic' maksudnya sistem melakukan instruksi yang menyebabkan komputer hang dan program kernel terpaksa melakukan shutdown komputer setelah sebelumnya melakukan dumping memory agar user dapat melakukan keperluan diagnostik (mendiagnosa hal apa yang mengakibatkan kernel panic tersebut). Sistem bisa melakukan instruksi yang menyebabkan komputer hang karena ada salah satu file sistem rusak sehingga instruksi / kode yang dibaca dan dilaksanakan oleh sistem juga salah. Pada kernel panic ada tulisan 'rebooting in 15 seconds press any key to stop', pada kernel panic yang parah proses reboot tidak bisa dihentikan.
Sekedar berbagi informasi File system FreeBSD lebih kuat dan
baik dibandingkan NTFS yang lebih baik dibandingkan FAT32. Anda semua pasti pernah
mengalami pada Windows XP dulu (atau Windows sebelumnya) jika komputer mati
mendadak pada saat menyala berikutnya sebelum masuk windows komputer menampilkan
chkdsk untuk volume FAT32 (untuk NTFS kadang-kadang muncul tapi seringnya tidak
muncul karena NTFS lebih kebal terhadap error mati mendadak dan dia bisa
melakukan background check pada saat windows jalan).
Demikian pula dengan FreeBSD, setelah komputer mati mendadak pada umumnya dia bisa melakukan file system check pada saat komputer berjalan. Jika komputer reboot mendadak maka pada boot berikutnya akan muncul 'mounting volume /usr NOT CLEAN' dan seterusnya. Kemudian ada lagi pesan 'running file system check in background in 60 seconds'. Ini merupakan info untuk memberitahu kita bahwa ada volume yang corrupt dan system FreeBSD akan menjalankan fsck (sama dengan chkdsk pada DOS/Windows) dalam proses background dalam waktu 60 detik lagi.
Demikian pula dengan FreeBSD, setelah komputer mati mendadak pada umumnya dia bisa melakukan file system check pada saat komputer berjalan. Jika komputer reboot mendadak maka pada boot berikutnya akan muncul 'mounting volume /usr NOT CLEAN' dan seterusnya. Kemudian ada lagi pesan 'running file system check in background in 60 seconds'. Ini merupakan info untuk memberitahu kita bahwa ada volume yang corrupt dan system FreeBSD akan menjalankan fsck (sama dengan chkdsk pada DOS/Windows) dalam proses background dalam waktu 60 detik lagi.
Proses background adalah proses yang dijalankan bersamaan
sewaktu komputer menjalankan proses lain. Semua program di FreeBSD dapat
dijalankan secara background dengan menambahkan tanda "&" pada akhir command.
Program yang hendak dijalankan background seperti contoh nya MySQL Server. Apabila di Windows setara dengan jalan sebagai service. Program yang dijalankan
di background, hasil prosesnya tidak akan tampil di layar dan setelah menjalankan
program di background akan kembali ke prompt / shell sehingga kita bisa
mengetik perintah / menjalankan program lain.
Nah proses fsck otomatis yang dilakukan oleh sistem FreeBSD
setelah komputer mati mendadak adalah fsck di background. Karena jalannya proses
selagi komputer juga nyala dan menjalankan proses lain maka kemampuan
memperbaiki dari fsck yang ini juga terbatas. Untuk kerusakan pada file system,
fsck yang jalan di background ini tidak bisa memperbaikinya.
Untuk memperbaiki kerusakan system files maka system harus
masuk ke 'single user mode' dengan cara memilih opsi No 4. pada saat FreeBSD
pertama kali boot. Setelah masuk ke single user mode baru kita dapat jalankan fsck -f
-y.
Pada kerusakan system files yang parah ada kemungkinan opsi
ini tidak bisa dipilih. Untuk itu harus dilakukan cara lain yaitu menunggu
sampai FreeBSD selesai boot lalu login sebagai root dan ketikkan perintah :
# nextboot -o "-s" -k kernel
ini adalah untuk membuat FreeBSD boot sebagai single user
mode pada boot berikutnya.
Setelah itu boot ulang komputer.
Setelah boot komputer akan masuk ke single user mode dengan
ditandai akan muncul pertanyaan :
enter shell (pada tahap ini tekan enter saja).
Ini maksudnya memberikan pilihan pada kita untuk memasukkan
program shell yang kita inginkan (ada bourne shell, c shell dsb), masukkan
perintah :
# fsck -f -y
Lalu program akan otomatis melakukan perbaikan atas
kerusakan file system dan menjawab YES untuk pertanyaan yang ada sehingga kita
tidak perlu memasukkan yes atau no pada saat ada pertanyaan perbaikan file
sistem seperti CLEAN? atau SALVAGE?
Setelah proses selesai lakukan reboot dengan perintah:
# reboot
Setelah boot ulang ini seharusnya file system sudah clean dan program akan berjalan normal.
Begitulah beberapa hal yang perlu dilakukan disaat kita menemui permasalahan kernel panik di FreeBSD. Kita jangan tegang dan menangis dahulu :D. Lakukan dengan tenang agar kita bisa berpikir jernih. Namun saran saya sebagai peringatan ulang, lakukan backup database dan data-data penting atau yang diperlukan secara periodik dan teratur. Karena ada kemungkinan fsck tidak berhasil memperbaiki sistem secara utuh sehingga kemudian data hilang harus kita antisipasi setiap saat.
Setelah boot ulang ini seharusnya file system sudah clean dan program akan berjalan normal.
Begitulah beberapa hal yang perlu dilakukan disaat kita menemui permasalahan kernel panik di FreeBSD. Kita jangan tegang dan menangis dahulu :D. Lakukan dengan tenang agar kita bisa berpikir jernih. Namun saran saya sebagai peringatan ulang, lakukan backup database dan data-data penting atau yang diperlukan secara periodik dan teratur. Karena ada kemungkinan fsck tidak berhasil memperbaiki sistem secara utuh sehingga kemudian data hilang harus kita antisipasi setiap saat.
Salam,
—
ITRumahSakit.com
0 komentar
Post a Comment