Seperti yang sudah sering sekali saya sampaikan pada tulisan-tulisan mengenai betapa pentingnya proteksi data terhadap infrastruktur yang rekan-rekan tangani. Apalagi jika kita berbicara masalah data, sangat rawan sekali kejadian seperti data corrupt. Maka dari itu saya mengingatkan kembali untuk menyiapkan sistem backup infrastuktur, bahkan diusahakan sistem backup lebih dari 1. Misalnya ada backup di sisi main site, lalu di sisi co-location site dan terakhir backup di sisi cloud, sehingga rekan-rekan bisa cukup leluasa untuk menyusun lebih dari 1 disaster recovery plan apabila ada kejadian yang diinginkan.
Di pekan ini ada salah satu klien yang saya tangani mengalami kendala data corrupt seperti ini. vCenter appliance yang digunakan oleh klien tersebut tidak bisa up secara normal dikarenakan share storage tempat penyimpanan VM vCenter sempat disconnected. Sehingga menyebabkan partisi di sisi vCenter appliance menjadi filesystem read-only, bahkan masuk ke emergency mode.
Sebenarnya ini merupakan hal normal, sistem operasi Linux memang memiliki mekanisme pengamanan data dengan cara mengubah state partisi menjadi read-only apabila partisi tersebut disconnect saat Linux masih running. Tetapi tentu saja hal ini akan membuat kepanikan, apalagi jika belum pernah mengalami dan tidak tahu bagaimana cara eskalasinya. Untuk eskalasinya rekan-rekan cukup lakukan fsck pada partisi yang filesystem read-only, walaupun ini tidak menjamin partisi tersebut kembali berjalan dengan normal 😀 , karena pasti ada saja kemungkinan terburuk jika berbicara masalah data pada komputer.
Untuk detailnya, berikut adalah langkah-langkah yang bisa rekan-rekan lakukan apabila vCenter appliance yang digunakan mengalami filesystem read-only atau bahkan masuk ke emergency mode. Catatan : Langkah troubleshoot ini ditujukan untuk vCenter berbasis Linux atau vCenter appliance, dan tidak bisa digunakan untuk troubleshoot vCenter legacy berbasis Windows Server.
Apabila mengalami filesystem read-only vCenter appliance web interface pasti tidak bisa diakses. Langkah pertama, rekan-rekan bisa mencoba untuk restart VM vCenter appliance dari sisi ESXi. Jika beruntung VM vCenter akan langsung up secara normal dan bisa digunakan sebagaimana mestinya (Butuh proses paling lama 10 menit sampai semua service vCenter running), tetapi jika tidak maka rekan-rekan perlu melakukan fsck secara manual (Jika web vCenter masih belum bisa diakses setelah 20 menit, berarti tidak normal dan perlu diperbaiki).
Jika dilihat menggunakan console di sisi VM, vCenter yang error akan memunculkan pesan error semacam failed check on disk blablabla.
Atau malah memunculkan pesan semacam ini
Welcome to emergency mode! blablabla Give root password for maintenance blablablabla
Jika muncul tampilan welcome to emergency mode, rekan-rekan bisa tekan ctrl+d secara bersamaan lalu masukan password root, dan tekan enter. Tetapi jika rekan-rekan tidak masuk ke emergency mode, rekan-rekan bisa langsung coba menjalankan perintah ini untuk melihat HDD VM vCenter.
# ls /dev/disk/by-uuid/ 0199a137-30f5-49da-a943-1d16458b5b62 4c8aa82a-f31d-4913-b148-b2d998cc8455 b0b4375d-6e3b-4faf-8b17-af1ea4c8d729 0b47e81f-f707-4d1f-996b-a0d83b7f707d 5a2569a2-bee6-48cc-b11c-9505d6eb6037 be9d5480-1ce0-4dd2-8415-399823b297b5 78dd84d9-aa1a-44d9-a76c-69e087a3d905 c414ae2a-da7c-4057-aebd-69dd2c146926 dd90be30-1fb1-406b-a8e5-742fc775447d 2f2ef459-2ef4-44cf-b32d-31c754f973d7 9a36daef-8ad3-4ee6-abd0-d8d9e1d53cb4 d530bb48-7951-4c86-8b21-bda1b7dc309a 31b27c3b-3639-4d00-953b-385601158301 aa39d624-e28b-49c0-9ef7-dbd71da1081a
Jika dilihat partisi disknya ada banyak, walaupun sebenarnya yang perlu rekan-rekan fix hanyalah disk yang muncul status failed pada saat vCenter dinyalakan (Lihat pada screenshot kedua tulisan ini), tetapi apabila rekan-rekan ingin melakukan fsck terhadap semua partisi disk yang ada supaya lebih pasti, itu silakan dilakukan.
Untuk fix salah satu partisi disk, bisa dengan cara menjalankan perintah berikut. Jika ada pertanyaan Fix<y>?, tekan huruf y lalu enter
# fsck /dev/disk/by-uuid/0199a137-30f5-49da-a943-1d16458b5b62 ....... Fix<y>? y ....... Fix<y>? y # fsck /dev/disk/by-uuid/<partisi-kedua> ....... Fix<y>? y # fsck /dev/disk/by-uuid/<partisi-ketiga> ....... Fix<y>? y .....Dan seterusnya
Setelah partisi disk yang berstatus filesystem read-only di fix, lakukan restart VM vCenter dengan perintah berikut
# reboot -f
Setelah itu tunggu semua service vCenter up dan coba kembali akses web interfacenya.
Catatan : Walaupun cara diatas berhasil saya lakukan untuk mengembalikan partisi disk vCenter yang read-only tetapi tidak menutup kemungkinan data vCenter corrupt dan tidak bisa di fix sama sekali. Dan kebetulan saja data yang corrupt adalah data vCenter server appliance, jadi tidak terlalu sulit bagi saya untuk troubleshooting karena memang saya sudah pernah mengalami ini. Walaupun pertama kali saya mengalami ini juga paniknya minta ampun 😀 . Jadi memang hal terbaik untuk mengantisipasi masalah ini adalah mempersiapkan backup, sehingga VM vCenter bisa langsung di recover saat ada masalah sejenis terjadi.