2009.1-speedboot

Материал из Mandriva Russian Community Wiki

Перейти к: навигация, поиск
Скоростная загрузка в Mandriva Linux

Скоростная загрузка появилась в бэта-версии Mandriva Linux 2009 Spring.

Что делает скоростная загрузка

Скоростная загрузка пытается прежде всего выполнить все действия, необходимые для загрузки графической системы (дисплейного менеджера), а потом, в фоновом режиме, продолжает запускать оставшиеся действия, необходимые для полной загрузки.

Как это реализуется в действительности

Мы используем уже существующие методы, которые были использованы в некоторых наших OEM продуктах, но придерживаемся более стандартной реализации, сохраняя текущие сценарии инициализации.

Чтобы запустить минимальное количество служб, необходимых для запуска дисплейного менеджера, мы ввели уровень запуска «S», в котором задействовано только 5 служб: acpid, dbus, hal, syslog, dm. К сожалению chkconfig воспринимает только числовой формат уровней запуска, поэтому уровень запуска «S» был реализован как уровень запуска «7».

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

Для первого уровня скоростной загрузки я отключил в rc.sysinit по возможности максимальное количество действий. Некоторые действия, которые просто нужно было задержать, запускаются после загрузки дисплейного менеджера, таким образом я попытаюсь отсрочить некоторые из отключенных в настоящий момент действий для второго уровня скоростной загрузки.

На уровне 2 (или 3) скоростной загрузки мы автоматически включим скоростную загрузку, если некоторые критерии позволят это сделать, и если в системе не будет включено ни одной конфликтующей возможности такой, как: crypto FS, raid, network authentication. Если скоростная загрузка «падает», система должна автоматически перейти к стандартной загрузке. В таком случае система не будет пытаться повторить скоростную загрузку.

В рамках использования скоростной загрузки в настоящий момент readahead был полностью отключён. Наши измерения выявили регресс при использовании readahead и sreadahead.

Как использовать скоростную загрузку

По умолчанию скоростная загрузка включена в автоматическом режиме:

  • Первая загрузка определённой версии ядра: скоростная загрузка отключена и будет проверяться, чтобы посмотреть, не возникает ли каких-либо препятствий для её включения.
  • Вторая загрузка той же версии ядра: если все условия выполняются, скоростная загрузка будет включена, текущее состояние сохраняется.
  • Если скоростная загрузка не работает, она будет протестирована ещё раз при следующей загрузке и, если проблема возникнет снова, будет отключена. Если второй раз загрузка прошла успешно, скоростной режим останется включённым.
  • Скоростная загрузка будет автоматически отключена, если включена сетевая аутентификация (network authentication) или если уровень запуска отличен от «5».
  • Настройки по умолчанию хранятся в файле /etc/sysconfig/speedboot. Скоростной загрузкой можно управлять из командной строки ядра с помощью команды speedboot=yes/no/auto/probe.

Команда speedboot=probe сбрасывает текущее состояние режима скоростной загрузки для определённой версии ядра (и вернёт проверку скоростной загрузки). Команда должна вводиться вручную в командой строке ядра.

Текущее состояние скоростной загрузки хранится в файле /var/lib/speedboot/status.

Отсутствующие возможности в скоростной загрузке:

  • тест скорости диска для включения/выключения упреждающего чтения (readahead) (всегда включено, но с медленными дисками может замедлить работу);
  • настройка «разделения» readahead между первой и второй фазой загрузки.

Конечно, мы бы хотели собрать как можно большое количество диаграмм загрузки как со скоростной загрузкой, так и без неё. Диаграмма загрузки (howto).

Если скоростная загрузка «падает» на вашей системе, составьте отчёт об ошибке (initscripts) и прикрепите диаграммы скоростной и обычной загрузок.

На других языках