Overvej en hovedløs server som denne: En typisk x86-boks på et fjerntliggende sted, som du kan initialisere eksternt med et lager – sig – Ubuntu-billede. Når det er initialiseret, kan du kun logge ind via ssh – eller nulstille det eksternt, dvs. du kan ikke få adgang til BIOS eller boot manager-prompten (siger Grub 1).
Måske er der en slags KVM tilgængelig, men brugen af KVM er meget dyr, og du skal booke den på timebasis.
I betragtning af dette scenarie kan man blive paranoid om opstartsproblemer. For eksempel:
- Hvad hvis en kerneopgradering mislykkes?
- hvad med en fsck-prompt i den tidlige opstartsproces? Ssh er sandsynligvis ikke tilgængelig endnu …
Er der andre gotchas at passe på?
For kerneopgraderinger konfigurerer jeg grub (den ældre) sådan at menu.lst
præamblen indeholder
default saved fallback 2 # counts from 0
og den første post slutter med:
savedefault fallback
Den første grubpost er den opgraderede kerne, og den tredje er en kendt fungerende. Se også grub manual sektion om reserve boot .
Jeg ændrede start scriptet /etc/rc.local
(på et Debian-lignende system) om, at standardindtastningsindstillingen nulstilles i tilfælde af en vellykket opstart:
grub-set-default 0
Denne grub-setup fungerer, men f.eks på Ubuntu er dette ikke standard, og man skal manuelt justere menu.lst
efter hver kerneopdatering.
Jeg leverer
panic=60
som kerneparameter, således at f.eks i tilfælde af en forkert root=
-parameter eller ødelagt kerne genstarter systemet automatisk i tilfælde af en fejl.
Om fsck-problemet er jeg ikke sikker på, hvad der er bedst måde er. På Debian-lignende systemer kan du indstille
FSCKFIX=yes
i /etc/default/rcS
, som fortæller fsck at auto-reparere som standard .
Men hvis den automatiske reparation mislykkes, får jeg måske stadig en prompt, som jeg ikke kan få adgang til eksternt?
Alternativt kunne jeg bare deaktivere fsck-kontrol via nul i det sjette søjle af /etc/fstab
– i tilfælde af en fs-fejl ville da bare initialisere systemet igen og gendanne sikkerhedskopierne – og dermed undgå alle fsck-problemer?
Kommentarer
- Meget godt spørgsmål. En bare metal-server uden en fjernkonsol eller en dyre er et stort problem.
Svar
Seriøst, hvis din udbyder ikke tilbyder gratis (eller i det mindste billig) manuel assistance i ekstreme tilfælde, er det tid til at skifte. Ellers tror jeg, at du er temmelig OK med din opsætning.
Når dit system er så ødelagt, at fsck ikke kan ordne det, er der ikke meget andet at gøre, bortset fra en komplet geninstallation. Jeg har faktisk ikke set dette ske, medmindre der var en fatal hardwarefejl.
Én ting at bemærke. For en maskine som denne skal du vælge en stabil distribution (Debian, RHEL, SLES) og kun opgradere efter en passende lang periode (ny version stabiliseret i mindst 6 måneder).
Svar
Du skal være på udkig efter en hosting udbyder, der udbyder seriel over-ssh-adgang og konfigurerer din Linux-installation til at bruge den (relevante) serielle port som konsollen (hvordan du gør dette afhænger af om systemet bruger opstart eller initialisering af sysV-typen). Bemærk, at der er BIOS til rådighed, som taler til en seriel port i stedet for den indbyggede skærmenhed. Men normalt de kommer kun med dyr hardware.
Du skal også fortælle grub for at bruge den serielle port, hvis du vil kontrollere den via en DTE .
Svar
Kommentarer
- Ja, lyder som et helt projekt. Jeg kunne endda forestille mig at oprette et lille Linux-system, der altid startes først og fungerer som en boot manager (samtidig med at jeg giver
ssh
-adgang ogscreen
) – det kunne derefter starte den rigtige kerne via teknikker som da.wikipedia.org/wiki/Kexec . Eller man kan se på servere, der kommer med coreboot.org i stedet for noget skidt BIOS fra 80erne. Men helt sikkert, alt dette er ikke noget, du pålideligt kan opsætte og vedligeholde om få timer – på dette tidspunkt med en stabil fordeling. - Det ser ud til at du ' vil være i stand til at skimme noget af indsatsen ved at se på denne side