linux raidHari ini, waktu seharian dihabiskan untuk Recovery RAID + LVM. Server GLC? iya. Server GLC ini bertugas untuk menghosting situs web. Dan karena bermasalah, maka website yang ada diatasnya pun tidak dapat diakses. ūüôĀ

Troubleshooting ini makan waktu lama (dari pagi sampai malam) karena teknologi yang dipakai lebih kompleks dari yang biasa. Server GLC menggunakan RAID + LVM, dimana hardware server ini memang sudah usianya untuk pensiun.¬†Sebenernya problem pada server ini telah berlangsung beberapa kali seperti cerita disini. Namun karena kendala jarak & lokasi, maka diputuskan untuk meload data lama dari backup pada server lain. konsekuensinya jelas: artikel yang ada menjadi tidak uptodate, namun dengan pertimbangan ‚Äúdaripada website down?‚ÄĚ mending pake data yang lama dulu sambil perlahan2 direcovery.

Ketika server dinyalakan, menu grub sudah muncul. lega rasanya… hehehe… namun, sangat lama sekali ketika masuk ke tahap berikutnya yaitu me-load kernel. ketika mencoba memilih safe-mode / old-kernel, hasilnya juga nihil. testing memory juga ngak masalah. intinya, ngak bisa masuk OS. ya, gimana bisa masuk OS? lah kernelnya ngak ada yang bisa di-load?

Kemudian, kita coba recovery dari external bootdisk, hal ini dapat dilakukan, namun partisinya tidak dapat langsung terbaca karena ada RAIDnya, dan diperparah lagi ada LVM diatasnya. jadi perlu extra energy & skill untuk troubleshooting kasus ini.

ohya, jangan jalankan fsck untuk partisi RAID ini meskipun anda udah ngebet banget, hehehe. ini karena fsck dapat merubah metadata disana, dimana kalo metadata berubah, kita ngak bisa merecover RAID, dan jika ngak bisa recovery RAID, maka LVMpun lenyap. fsck dilakukan kalo semua partisinya udah ketemu. dengan kata lain: RAID + LVM harus direcovery dahulu, baru dijalankan fscknya (Recovery RAID + LVM)

OK, tahap pertama: RAID recovery. jadi kita perlu scan RAID dengan¬†mdadm ‚Äďexamine ‚Äďscan. setelah ketemu, jangan lupa dimasukkan hasilnya ke¬†mdadm.conf. setelah ketemu konfigurasi RAIDnya, maka aktifkan RAID tsb dengan¬†mdadm -A -s. horeee‚Ķ RAIDnya udah berhasi direcover. jika sudah jadi maka akan ada¬†meta-device /dev/md0.

tahap kedua, adalah recovery LVM. disini, kita perlu mencari partisi & konfigurasi LVM yang tersisa. untuk itu, kita bisa pake pv/vg/lvscan untuk menemukankan mereka. bisa juga pake vgchange -ay untuk mendeteksi ulang partisi LVM yang ada. kalo ada lv yang terdeteksi namun belum ada devicenya, maka perlu dicreate udevnya dengan utility vgscan.

horeee… LVM sudah terdeteksi… sekarang tinggal fsck dan menyelamatkan data yang ada. dari hasil fsck, terlihat jelas, bahwa banyak sekali masalah di filesystem: missing inode, crosslink, dll. perlu diingat tentang konsekuensi fsck adalah data anda dapat terpotong. jadi siap2 aja untuk ini. (Recovery RAID + LVM).

akhir kata, sebagian besar data dapat dikembalikan dengan sempurna terutama file-file aplikasi (wordpress, pictures, dll). hal ini wajar karena pada partisi tsb,¬†lebih banyak operasi read daripada write. yang paling parah kena dampak kerusakan adalah¬†partisi /var & /var/lib¬†(tempat log & database), nah loooo‚Ķ hehehe beberapa¬†tabel mysql rusak berat, dan konsekuensinya datanya hilang. sedih‚Ķ¬†ūüôĀ¬†beberapa artikel website ini juga hilang sehingga harus nulis ulang lagi‚Ķ hadooohhhh‚Ķ

lesson learned:

  • pelajaran berharga: kalo OS anda menggunakan RAID + LVM, sangat disarankan untuk¬†tidak mengupgrade kernel¬†karena bisa jadi bad things could happen. script ngak compatible, grubnya ngak ngeload kernel, dll
  • Pake hardware yang bagus, yang didesain untuk server. sekalian pakai RAID hardware.
  • Sebaiknya¬†jangan pake mysql engine myisam, karena lebih rentan terhadap kerusakan data. sebagai alternatifnya, bisa pakai¬†postgresql, atau mysql dengan innodb.
  • jika memutuskan untuk menggunakan RAID & LVM, sang admin harus punya skill juga untuk melakukan troubleshooting jika ada kerusakan/problem. bukan cuman install doang.
  • dalam melakukan recovery, anda mungkin akan heran bahwa¬†load mesin¬†menjadi¬†tinggi, namun CPU utility adalah low. ini adalah wajar, karena yang membuat load tinggi adalah¬†IO¬†bukan CPU usage.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.