Niezwykle szybki serwer startowy

19

Zmieniam sposób, w jaki działają nasze DHCP / DNS. Obecnie mamy 3 serwery DNS i skrzynkę DHCP. Wszystkie są maszynami wirtualnymi.

Istnieje cykliczna zależność, w której ładowanie rzeczy wymaga NFS, który wymaga DNS. Więc kiedy restartujemy rzeczy, rzeczy mogą się delikatnie zepsuć, dopóki DNS się nie uruchomi i zrestartujemy niektóre usługi.

Chcę mieć kilka serwerów o niskim poborze mocy, prawdopodobnie dwurdzeniowych atomów lub podobnych, działających z dysków SSD, aby szybko się uruchamiały. Chcę, aby cały proces uruchomił się tak szybko, jak to możliwe.

Idealnie chciałbym używać Ubuntu 11.10 lub Debian 6 jako systemu operacyjnego. Nie interesuje mnie Gentoo ani kompilowanie własnego jądra. To musi być uzasadnione przeze mnie.

Inne niż dyski SSD, jakie inne kroki optymalizacji mogę podjąć, aby poprawić szybkość rozruchu?

Tom O'Connor
źródło
2
Czy jest tu prawdziwe pytanie?
ceejayoz
14
@ceejayoz Other than SSDing drives, what other optimisation steps can I takewygląda dla mnie jak pytanie.
MDMarra,
7
@ceejayoz Więc nie odpowiadaj, jeśli uważasz, że odpowiedź potrwa zbyt długo. Nie jest zorientowany na dyskusję iz pewnością jest to pytanie, bez względu na to, jak chcesz to nazwać.
MD Marra
2
Z bliskich powodów: „To pytanie jest dwuznaczne, niejasne , niekompletne, zbyt szerokie lub retoryczne i na nie można w rozsądny sposób odpowiedzieć w jego obecnej formie”.
ceejayoz
4
@ceejayoz Nie sądzę, że jest to niejasne lub zbyt ogólne. To dobrze zdefiniowane pytanie, które może mieć skomplikowaną odpowiedź, ale nie jest tak daleko sięgające "Halp! My thingz don't boot rite!". Zapraszamy do rozmowy o błędach serwera i dyskusji, jeśli chcesz. Wielu z nas o tym mówi, w tym OP.
MDMarra,

Odpowiedzi:

29

Czy nie jest to sytuacja, w której powinieneś budować wokół zależności cyklicznych? Ustaw opóźnienia włączenia w systemie BIOS serwera. Masz wiele serwerów DNS, więc to plus. Buforowanie DNS? Czy byłoby to tak proste, jak użycie adresów IP lub plików hosta dla systemu plików NFS lub sieci pamięci? Nie wspomniałeś o konkretnej technologii wirtualizacji, ale na przykład można ustawić priorytet rozruchu VM w VMWare ... Czy dotyczy to wielu serwerów hosta?

W przeciwnym razie dyski rozruchowe oparte na SSD mogą pomóc. Użyj dystrybucji z procesami rozruchowymi Upstart. Przytnij demony.

ewwhite
źródło
5
Myślę, że to dobra odpowiedź. Napraw najlepiej okrągłe zależności.
mfinni
Dobra odpowiedź. Z tego właśnie powodu pliki hostów wciąż istnieją. Zapewniają rozwiązanie, zanim DNS będzie dostępny, lub w przypadkach, w których potrzebujesz wyszukiwania, nawet jeśli DNS nie jest dostępny (np. Klaster Oracle RAC).
Christopher Cashell
11

W zależności od statusu UPS może to być jeden z niewielu przypadków użycia, w których hibernacja ACPI może być dobrym pomysłem. Ogólnie rzecz biorąc, funkcja przywracania z hibernacji pokonuje rozruch od zera, szczególnie w przypadku systemów opartych na SSD o niskiej pamięci RAM. Jeśli masz taką możliwość, krok „wyłączania” oprogramowania UPS można ustawić na hibernację serwera DNS.

sysadmin1138
źródło
To właściwie ciekawy pomysł - jedynym minusem jest ponowne włączenie urządzenia (lub wybudzenie go ze snu). Jeśli zasilacz jest ustawiony na „automatyczne włączanie po utracie zasilania”, powinno to działać tak długo, jak urządzenie faktycznie traci zasilanie, w przeciwnym razie musisz tylko pamiętać o narożnym przypadku, w którym wysyłany jest sygnał hibernacji, ale wtedy zasilanie AC wraca przed UPS umiera.
voretaq7,
2
@ Voretaq7 Gdybym to zrobił, Primary DNS zachowałby się normalnie (bez sztuczek ACPI), a Second DNS wykonałby tę sztuczkę. Spowolni uruchomienie usługi w innym miejscu z powodu powrotu po awarii DNS, ale usługi nadal będą się uruchamiać. W przeciwnym razie może zaistnieć potrzeba magii wake-on-LAN.
sysadmin1138
WoL rozwiązałby to ładnie
voretaq7
Mamy gruby UPS, naprawdę gruby ... i ma oprogramowanie Apcupsd w jakiejś konfiguracji sieci .. Właściwie podoba mi się ten pomysł. Wprowadzimy WOL w sieci również do innych celów, później w tym miesiącu.
Tom O'Connor,
6

Mogę polecić bardzo mały system NetBSD na dyskach SSD, ale jeśli masz serce w systemie Linux, od razu przychodzą na myśl dwie opcje:

  • Damn Small Linux to jedna z najbardziej znanych małych dystrybucji Linuksa. Nie wiem, jaki jest czas rozruchu, ale musi być stosunkowo krótki.
  • Slax jest nieco bardziej konfigurowalny od samego początku i może być odrobinę szybszy.

Istnieje również opcja naprawdę małych niestandardowych / wbudowanych rozwiązań, takich jak ten (system oparty na ARM za 99 USD w module z 1-sekundowym (ish) czasem uruchamiania. To nie jest sprzęt, ale można go schować w cichym kącie centrum danych i pozostawione, by działać wiecznie ...

voretaq7
źródło
3

W większości konfiguracji DNS jest najważniejszą usługą infrastrukturalną. Jeśli się zepsuje, wszystko inne też się zepsuje. Wniosek jest taki, że serwery DNS nie powinny zależeć od innych serwerów.

Jeśli naprawdę potrzebujesz NFS do rozruchu - uczyń swoje serwery DNS tymi serwerami NFS (to też łamie zasadę) - ale upewnij się, że eksportujesz tylko ro i upewnij się, że nie możesz narazić swoich serwerów NFS na niebezpieczeństwo atak DoS.

Prawdopodobnie lepszym rozwiązaniem jest inne podejście (HA) do zapewnienia potrzebnej usługi NFS do rozruchu, a tym samym zerwania cyklicznej zależności ( nscd może również pomóc na serwerach NFS).

Aktualizacja 17.11.2011 na NFS: Z jednego z twoich komentarzy widzę, że NFS jest używany w katalogu / home-dirs. Lokalni użytkownicy techniczni nie powinni ich mieć. Wszystko inne powinno być montowane za pomocą autofs whith bg, hard, intr.

Nils
źródło