Очень быстрая загрузка сервера

19

Я меняю способ работы нашего DHCP / DNS на работе. В настоящее время у нас есть 3 DNS-сервера и ящик DHCP. Все они виртуальные машины.

Существует круговая зависимость, когда для загрузки материала требуется NFS, для которой требуется DNS. Поэтому, когда мы перезагружаемся, вещи могут возвращаться неработающими, пока не будет запущен DNS, и мы перезапускаем некоторые службы.

Что я хочу сделать, так это иметь несколько серверов с низким энергопотреблением, возможно двухъядерных Atoms или аналогичных, работающих на SSD, чтобы они чертовски быстро загружались. Я хочу, чтобы все это загружалось как можно быстрее.

В идеале я хотел бы использовать Ubuntu 11.10 или Debian 6 в качестве ОС. Я не заинтересован в Gentoo или компилировании собственного ядра. Это должно быть разумно поддержано мной.

Какие еще шаги по оптимизации я могу предпринять для увеличения скорости загрузки, кроме SSD-дисков?

Том О'Коннор
источник
2
Здесь есть актуальный вопрос?
Ceejayoz
14
@ceejayoz Other than SSDing drives, what other optimisation steps can I takeвыглядит для меня вопросом.
MDMarra
7
@ceejayoz Так что не отвечай, если думаешь, что ответ займет слишком много времени. Он не ориентирован на обсуждение, и это, безусловно, вопрос, независимо от того, как вы хотите это назвать.
MDMarra
2
По близким причинам: «Этот вопрос является двусмысленным, расплывчатым , неполным, чрезмерно широким или риторическим, и на него нельзя дать разумный ответ в его нынешней форме».
ceejayoz
4
@ceejayoz Я не думаю, что это расплывчато или слишком широко. Это четко определенный вопрос, который может иметь сложный ответ, но он не так далеко, как "Halp! My thingz don't boot rite!". Вы можете зайти в чат с ошибками сервера и обсудить, если хотите. Об этом говорят многие из нас, включая ОП.
MDMarra

Ответы:

29

Разве это не ситуация, в которой вы должны разрабатывать циклические зависимости? Установите задержки включения в BIOS сервера. У вас есть несколько DNS-серверов, так что это плюс. DNS кеширование? Будет ли это так же просто, как использование IP-адресов или файлов хоста для вашей NFS или сети хранения? Вы не упомянули конкретную технологию виртуализации, но возможно установить приоритет загрузки VM в VMWare, например ... Это на нескольких хост-серверах?

В противном случае могут помочь загрузочные диски на основе SSD. Используйте дистрибутив с процессами загрузки Upstart. Обрезать демонов.

ewwhite
источник
5
Я думаю, что это хороший ответ. Исправьте круговые зависимости как можно лучше.
mfinni
Хороший ответ. В этом вся причина того, что файлы хостов все еще существуют. Они предоставляют решение до того, как DNS станет доступным, или для случаев, когда вам нужны поиски, даже если DNS недоступен (например, кластер Oracle RAC).
Кристофер Кашелл
11

В зависимости от вашего состояния ИБП, это может быть одним из немногих вариантов использования, где спящий режим ACPI может быть хорошей идеей. Как правило, восстановление из спящего режима исключает загрузку с нуля, особенно в случае систем с низким объемом ОЗУ. Если у вас есть такая возможность, для шага «выключения» программного обеспечения ИБП можно установить спящий режим DNS-сервера.

sysadmin1138
источник
На самом деле это интересная идея - единственный недостаток - снова включить аппарат (или вывести его из спящего режима). Если блок питания установлен на «автоматическое включение после потери питания», это должно работать до тех пор, пока машина фактически теряет питание, в противном случае вам просто нужно знать о том угловом случае, когда отправляется сигнал гибернации, но затем питание переменного тока возвращается до ИБП умирает.
voretaq7
2
@ Voretaq7 Если бы я сделал это, я бы вел первичный DNS себя нормально (без хитрости ACPI), а вторичный DNS делал бы этот трюк. Это замедлит запуск службы в другом месте из-за сбоя DNS, но службы все равно будут запускаться. В противном случае может потребоваться какое-то волшебство при пробуждении по локальной сети.
sysadmin1138
WoL действительно решил бы это хорошо
voretaq7
У нас толстый ИБП, серьезно толстый ... и у него есть программное обеспечение Apcupsd в какой-то конфигурации сети ... Мне действительно очень нравится эта идея. Мы собираемся развернуть WOL по сети и для других целей, позже в этом месяце.
Том О'Коннор
6

Я могу порекомендовать очень крошечную систему NetBSD на твердотельных накопителях, но если вы настроены на Linux, вам сразу на ум приходят два варианта:

  • Damn Small Linux - один из громких маленьких дистрибутивов Linux. Я не знаю, какое у них время загрузки, но оно должно быть относительно коротким.
  • Slax немного более настраиваемый с самого начала и может быть немного быстрее.

Есть также вариант действительно крошечных пользовательских / встроенных решений, таких как это (система на основе ARM за 99 $ на модуле с 1-секундной загрузкой. Это не обычное оборудование, но его можно спрятать в тихом углу). центра обработки данных и осталось просто бежать вечно ...

voretaq7
источник
3

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

Если вам действительно нужна NFS для загрузки - сделайте ваши DNS-серверы такими NFS-серверами (это тоже нарушает правило) - но убедитесь, что экспортируете только ro и убедитесь, что вы не можете подвергать свои NFS-серверы опасности DoS-атака.

Вероятно, лучшим решением является другой подход (HA) для предоставления необходимого NFS-сервиса для загрузки, что устраняет круговую зависимость ( nscd может помочь и на NFS-серверах).

Обновление 2011-11-17 по NFS: из одного из ваших комментариев я вижу, что NFS используется для / home-dirs. Местные технические пользователи не должны иметь их. Все остальное должно быть смонтировано через autofs с bg, hard, intr.

Nils
источник
2

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

Есть также readahead: https://fedorahosted.org/readahead/ , который я не пробовал.

Алекс
источник