Jak serwery Linux aktualizują swoje jądro bez ponownego uruchamiania

13

Według moich informacji, aktualizacja jądra Linuksa wymaga ponownego uruchomienia. Ponowne uruchomienie komputera domowego nie stanowi problemu, ale nie sądzę, że jest tak samo w przypadku serwera.

Czy serwery korzystające z dystrybucji Linuksa uruchamiają się ponownie po aktualizacji jądra, czy używają jakiegoś sposobu, aby uniknąć rozruchu?

Sidahmed
źródło

Odpowiedzi:

8

Zmiana jądra powinna zostać zrestartowana. Możesz zainstalować jądro, aw niektórych przypadkach możesz wstawiać i usuwać moduły różnych jąder, ale nie radziłbym tego.

Serwer może zostać zrestartowany, a usługa nie będzie miała wpływu, jeśli serwer będzie częścią klastra. Można również tworzyć klastry zapory / routera, tak aby nie było centralnego punktu awarii (SPOF). W tym celu używa się tak zwanego wirtualnego adresu IP (VIP), który jest współużytkowany przez więcej niż jeden system.

Jeśli chcesz eksperymentować z tym pomysłem, możesz użyć QEMU lub VirtualBox i innych do tworzenia sieci wirtualnych.

Ed Neville
źródło
8
Co z łataniem jądra na żywo?
jiggunjer
Pytanie nie było specyficzne dla drobnych łatek, ale wspomina o „uaktualnieniu”, które będę rozumieć jako poważne uaktualnienia wersji. Dlatego, aby „uaktualnić” z wersji 2.6 -> 3.0, zalecam zrzucenie maszyny z obciążenia przed rozpoczęciem prac aktualizacyjnych. Po zmianach w jądrze uruchomiłbym się ponownie. Ponieważ grub / lilo prawdopodobnie będzie wymagało zmian, i tak zasugeruję ponowne uruchomienie.
Ed Neville,
15

Tak, robią „restart”, ale mogą wykonać wywołanie systemowe kexec_load, aby wstępnie załadować nowe jądro.

Istnieje również możliwość łatania działającego jądra, na przykład redhat kpatch . Wszystkie rzeczy, które to robią, o których jestem świadomy, nie mogą zmieniać struktur danych.

Oczywiście maszyny lisp były w stanie łatać działające jądra w ostatnim stuleciu.

Ikar
źródło
1
Jest też wanilia kexec, do natychmiastowego uruchomienia nowego jądra. W zależności od definicji „restartu” może to być zakwalifikowane jako aktualizacja jądra bez restartu.
Patrick