Назад | Перейти на главную страницу

Дрейф времени в облачном сервере - нужно манипулировать конфигурацией GRUB

Мы размещаем VPS на популярном хостинге и постоянно испытываем сдвиг во времени на несколько минут в день вперед (примерно 7).

Ядро Linux: 2.6.18-164.11.1.el5 GNU / Linux Distro: CentOS, выпуск 5.4 (окончательный)

Мы обратились к нашему хостинг-провайдеру, и его служба поддержки сообщила нам: «Это известная проблема с облачными серверами. Чтобы исправить это вам нужно будет добавить одну строку в конфигурацию grub расположен в: /boot/grub/menu.lst

Вам нужно добавить следующую строку: ноапический нолапический делитель = 10 нолапический_таймер

Это должно исправить эту проблему. Вам нужно будет перезагрузить после того, как это будет добавлено. "

Поскольку я опасаюсь манипулировать grub, в основном я боюсь, что наш сервер может не перезагрузиться - я спрашиваю вас, ребята, администраторы pro * nix - где именно в этом файле находится рекомендуемая вставка ниже:

# line from 1&1 for time syncing issue (Case 5163)
noapic nolapic divider=10 nolapic_timer

идти? Пожалуйста уточни где именно, и важен или не важен порядок команд. Почему блок под заголовком CentOS ... с отступом?

Если бы кто-то мог дать мне обзор того, как это работает, или указать мне на ресурс, за которым легко следить, это то, что я ищу немедленно, легкий обзор или базовое понимание того, что я делаю. Если GRUB и загрузчики - это глубокая темная сокровищница взлома ядра или чего-то в этом роде, это отличный и хорошо рекомендуемые подробные ресурсы также очень приветствуются.

Это мой текущий /boot/grub/menu.lst

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
#boot=/dev/sda
#
serial --unit=0 --speed=57600
terminal --timeout=5 serial console

timeout=5

title CentOS (2.6.18-164.11.1.el5)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-164.11.1.el5 ro root=/dev/hda1 console=tty0 console=tty
    initrd /boot/initrd-2.6.18-164.11.1.el5.img

САМОЕ ВАЖНОЕ: мне нужно знать, где в приведенном выше файле уместно вставить предложенную строку, чтобы я мог уверенно перезапустить свой VPS после изменения конфигурации GRUB.

Эти параметры являются настройками ядра.

Добавьте эти параметры в строку ядра:

kernel /boot/vmlinuz-2.6.18-164.11.1.el5 ro root=/dev/hda1 console=tty0 console=tty noapic nolapic divider=10 nolapic_timer


Oh, by the way, you probably mean console=ttyS0 if you're trying to use a serial console.

Поскольку у вас есть доступ к последовательной консоли, мое первое предложение - выполнить тестовые настройки и временно внести изменения, чтобы в случае необходимости перезагрузки это не доставляло вам проблем.

Временная проверка настроек

Подключитесь к последовательной консоли сервера и перезагрузитесь. Когда сервер запускается и показывает обратный отсчет grub, нажмите любую клавишу (например, SPACE), чтобы отменить процесс загрузки по умолчанию и войти в меню GRUB.

Вы попадете в меню, где увидите

CentOS (2.6.18-164.11.1.el5)

как вариант

Нажмите e для входа в параметр редактирования командной строки.

Это покажет вам эти строки:

    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-164.11.1.el5 ro root=/dev/hda1 console=tty0 console=tty
    initrd /boot/initrd-2.6.18-164.11.1.el5.img

Нажмите ↓, чтобы выбрать ядро линия и нажмите e отредактировать его. Используйте клавиши со стрелками, чтобы перейти влево и написать ... Нажмите → до конца (скорее всего, вы уже там).

ПРИМЕЧАНИЕ: если строка слишком длинная для экрана, она будет показывать только последние биты строки в левой части экрана, не пугайтесь этого :-)

Здесь вы можете добавить дополнительные параметры, которые вам предоставила служба поддержки:

... noapic nolapic divider=10 nolapic_timer

Таким образом, вся ваша строка ядра будет

    kernel /boot/vmlinuz-2.6.18-164.11.1.el5 ro root=/dev/hda1 console=tty0 console=tty noapic nolapic divider=10 nolapic_timer

Нажмите

и вы вернетесь к предыдущему экрану, показывающему команды загрузки.

Просто нажмите b чтобы система могла загрузиться.

Если все пойдет хорошо, драйверы APIC будут отключены, и ваш таймер будет отсчитывать время ... :-)

Если вы хотите сделать изменения постоянными ... Вы можете добавить их в файл grub, как показано ниже.

ПОСТОЯННОЕ ИЗМЕНЕНИЕ

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
#boot=/dev/sda
#
serial --unit=0 --speed=57600
terminal --timeout=5 serial console

timeout=5

title CentOS (2.6.18-164.11.1.el5)
    root (hd0,0)
    kernel /boot/vmlinuz-2.6.18-164.11.1.el5 ro root=/dev/hda1 console=tty0 console=tty noapic nolapic divider=10 nolapic_timer
    initrd /boot/initrd-2.6.18-164.11.1.el5.img

Перезагрузитесь, если хотите, и наслаждайтесь.

Обратите внимание, что вы всегда можете исправить ситуацию, выполнив то, что я показал вам в grub.

Если вы попали в grub> prompt :-)

если вы закончите grub> подсказка случайно на вашей консоли

grub> файл конфигурации /grub/grub.conf

Вы всегда можете посмотреть текущий раздел, набрав мягкую команду, такую ​​как configfile, за которой следует косая черта (/), и дважды нажав вкладку, как в приглашении bash, чтобы выполнить завершение имени, и вы увидите список файлов в вашей загрузке раздел