Gentoo Server Error: Superblock mount time is in the future
I was working on a Gentoo server today and had another time stamp issue. This may have been related to the one I wrote about yesterday because in addition to that error now I was getting a “Superblock mount time is in the future” error which was saying that the mount time of my drives was in the future. The server would not boot and I had to run a manual fsck every time to get it to boot. Clearly this was not normal behavior so I decided to dig into the problem. I rarely reboot the servers so I never noticed this behavior.
I tried various fix’s like:
- Messing with my ntp timeserver client settings which didn’t do any good.
- I made sure the BIOS clock was correct
- I made sure my server time was correct and even tried to change it
Despite all of this every time I rebooted my files and discs the timestamps were a few hours in the future which prevented my system from booting. At this point I was a little anoyed. Finally I decided to have a look at the clock conf file.
In Gentoo this file is located at /etc/conf.d/clock
# /etc/conf.d/clock # Set CLOCK to "UTC" if your system clock is set to UTC (also known as # Greenwich Mean Time). If your clock is set to the local time, then # set CLOCK to "local". Note that if you dual boot with Windows, then # you should set it to "local". CLOCK="local" # Select the proper timezone. For valid values, peek inside of the # /usr/share/zoneinfo/ directory. For example, some common values are # "America/New_York" or "EST5EDT" or "Europe/Berlin". If you want to # manage /etc/localtime yourself, set this to "". TIMEZONE="America/New_York" # If you wish to pass any other arguments to hwclock during bootup, # you may do so here. CLOCK_OPTS="" # If you want to set the Hardware Clock to the current System Time # during shutdown, then say "yes" here. CLOCK_SYSTOHC="yes" ### ALPHA SPECIFIC OPTIONS ### # If your alpha uses the SRM console, set this to "yes". SRM="no" # If your alpha uses the ARC console, set this to "yes". ARC="no"
What I ended up doing was changing the CLOCK_SYSTOHC variable to yes. It was no by default. What that does it set the hardware clock in the BIOS to the current system time. I figured if my system time was correct then maybe this would help. I have never had to mess with this variable before that I can remember but as soon as I set it to yes my machine booted perfectly and no more errors.