Today I logged into my lab after a power outage and noticed that vCenter was not up. I accessed to host directly, and opened to console to the VCSA server. The VCSA server was not able to mount the filesystem, and had this on the screen:
fsck failed. Please repair manually and reboot. The root
file system is currently mounted read-only. To remount it
bash# mount -n -o remount,rw /
Attention: Only CONTROL-D will reboot the system in this
maintenance mode. shutdown or reboot will not work.
Give root password for maintenance
(or type Control-D to continue)
When I typed in the root password, I was not presented with the bash prompt, which meant I could not run the recommended command. Instead, now on the console, I see:
[ERROR]: Failed to connect to service.
Use service-control command to manage applmgmt service
List APIs: “help api list”
List Plugins: “help pi list”
Enable BASH access: “shell.set –enabled True”
Launch Bash: “shell”
When I typed in shell.set –enabled True and shell, I simply received “unknown command.” as a response.
I needed access to bash to be able to run fsck, and found a KB article 2069041 for a password reset that would allow me access to bash by editing GRUB.
So, now it was time to edit grub! To resolve, reboot the VCSA server, and hit space bar when the grub boot menu appears.
- Type “p” to access options, and enter the root password.
- Highlight the VMware vCenter Server Appliance line, and type “e” to edit.
- Highlight the “kernel /vmlinuz….” line, and again, “e” to edit.
- Add “init=/bin/bash” to the end of the line, and press “enter.”
- Now, type “b” to boot
At this point, we are booted into bash, and can start the fsck:
- e2fsck -y /dev/sda3
With the -y switch, it will automatically answer yes for any prompts to fix errors.
Afterwards, reboot the VM, and VCSA will boot normally!