Użytkownicy Fedory aktualizują jądro bez reboota dzięki Ksplice
- Dodano: 1 September 2010
- Wprowadził: Szymon Barczak
- Komentarze: 44
Przeszło dwa lata temu pisaliśmy na temat powstania Ksplice – nowego mechanizmu, umożliwiającego aktualizowanie jądra Linuksa bez konieczności ponownego uruchamiania systemu. Projekt dojrzał i trafił do Fedory.
Ksplice, niesamowicie użyteczna w przypadku serwerów technologia, została udostępniona użytkownikom Fedory. Red Hat po raz kolejny wrzuca nowość do swojego poligonu, by móc w przyszłości wykorzystać perfekcyjnie dopracowaną technologię w swoich komercyjnych produktach.

W notce prasowej, dostępnej w źródle niusa, mowa przede wszystkim o zaletach rozwiązania – w dzisiejszych czasach serwery muszą pracować non-stop, by dostarczać usługi użytkownikom. Serwisy web 2.0 rezygnują często z aktualizacji jądra na serwerach, by nie zmniejszyć wydajności chmury poprzez oderwanie kilku maszyn na jakiś czas. I o ile nk może sobie pozwolić na coś takiego – robić porządki, kiedy większość Polaków śpi, to serwisy międzynarodowe typu Facebook nie mają takiej możliwości. Ksplice zrzuca z głowy administratora dylemat – bezpieczeństwo lub łączna moc obliczeniowa chmury.
Ksplice dla Fedory i Ubuntu jest usługą darmową. Użytkownicy innych dystrybucji muszą uiszczać opłatę 3,95 dolara co miesiąc, by korzystać z tego narzędzia.
Więcej informacji: http://www.crunchgear.com/2010/08/31/ksp...ora-users/
Znalazłeś literówkę? Zgłoś ją używając formularza!
Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.
Niusy na podobny temat:
Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.
44 komentarzy
Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.
Dobre sobie. Abym mógł tego użyć w PLD, Debianie, CentOS, np. muszę płacić prawie 12 zł? Przecież takie narzędzie łatwo przenieść na inną dystrybucję, jeżeli ma otwarty kod źródłowy
Narzędzie owszem. Ale żeby przygotować ten patch na jądro, trzeba się trochę namęczyć. Jest pewnie jakaś grupa developerów, która backportuje poprawki bezpieczeństwa na stare jajka, dbając przy tym, żeby taka poprawka nie wywaliła żywego systemu.
Rozumiem, że każde distro ma trochę inne jądro a patch trzeba przygotowywać osobno dla każdej wersji. Pewnie dlatego trzeba płacić za niestandardowe dystrybucje.
Osobiście pragnąłbym, aby darmowe było patchowanie jajek waniliowych.
Dla mnie, to bardzo dobry pomysł. RedHat włożył swój wkład, podobnie do Canonical. Pozstali niech płacą lub niech twórcy jądra włączą to do głownej gałęzi.
Nawet po włączeniu KSplice do głównej gałęzi, to inne dystrybucje nie skorzystają z tego za szybko.
@Michał Olber
IMO ~12zł za rozwiązanie, które jest potrzebne przede wszystkim profesjonalistom, to wręcz śmiesznie mała kwota.
@Sławek
Zgadzam się ze wszystkim co napisałeś — ale “włożył swój wkład”?! Pilnuj się, bo jeszcze kiedyś chmodujesz chmod
@Michał Olber:
dokładnie tak samo pomyslałem – dlaczego mam płacić? Kiedyś były sterowniki moto-trolli do modemów (wdzwaniany dostęp do netu) do jajka 2.4.2 z RH (i mimo to też płatne) teraz tylko F&U.
Co ty, za przeproszeniem, pitolisz? KSplice to komercyjna technologia firmy o tej samej nazwie, która wcześniej była za darmo dla Ubuntu a teraz doszła Fedora. Red Hat nie ma z tym nic wspólnego.
Chyba sie zakreciles, przeciez Fedora jest od RedHata, wiec jesli to jest w Fedorze to jest w RedHacie. RedHat dorzuca to do Fedory, nikt nie napisal ze RedHat to wymyslil czy zaimplementowal.
@tomek: to nie jest w Fedorze. Tego można w Fedorze używać, jak każdego innego programu.
Uhm, mod parent up. Ta wiadomość to jakaś totalna dezinformacja.
Dlaczego jest za darmo w Fedorze i Ubuntu?
@Reddie może RedHat kupił Ksplice?
kurde szkoda, że nie mozna edytować, wychodzi na to, że na ubuntu server i tak trzeba płacić, tak jak na ‘serwerową fedorę’ czyli redhata, czy centosa
http://www.ksplice.com/pricing
Wikipedia ma serwery na Fedorze.
toteż napisałem w ‘ ‘
> kurde szkoda, że nie mozna edytować, wychodzi na to, że na ubuntu server i
> tak trzeba płacić, tak jak na ’serwerową fedorę’ czyli redhata, czy centosa
Ktos tu nie lapie roznicy miedzy RedHat a CentOS. Ty czy ja?
IMO CentOS to “kompilat” zrodel RedHata i tyle. Czyli TEORETYCZNIE
to samo co RH, tylko nie wspierane przez RH no i darmowe.
Zreszta, kto powiedzial, ze soft opensource ma byc za darmo?
Przeciez dostajesz produkt RH wraz ze zrodlami, wszystko jak najbardziej
zgodnie z regulami open source, wiec o co marudzenie?
a gdzie pisałem o różnicach miedzy tymi systemami? Centos jest wspierany osobno od redhata przez ksplice. Wszędzie chyba widzisz jakieś marudzenie, a mnie zdziwił fakt, że zwykłe ubuntu ma gratis, a ubuntu serwer nie choć różnią się tylko jądrem, które to bez problemu można zainstalować i w desktopowej edycji.
Nie, nie kupił.
w takim razie w newsie jest błąd
Oficjalnie to wrzuca moduły jako poprawki przez przestrzeń procesów chronionych . Na obecną chwilę można tylko łatki dorzucać a nie główne podsystemy jądra .
Mimo wszystko jest to bardzo obiecująca technologia i może już niedługo będzie można podmienić cały kernel w kilka sekund bez reboota .
> Oficjalnie to wrzuca moduły jako poprawki przez przestrzeń procesów chronionych .
> Na obecną chwilę można tylko łatki dorzucać a nie główne podsystemy jądra .
Nie wierze w pelna, przezroczysta podmiane jadra.
Jak w utrzymac “przy zyciu” pootwierane pliki/sokety, tablice procesow,
urzadzenia i tysiace innych struktur wiszacych w pamieci a ktore przy idiotycznym
modelu rozwoju kernela linucha lubia sie mocno zmieniac z wersji na wersje.
Nie znam sie za bardzo na projektowaniu systemow operacyjnych, ale byc moze to dziala na zasadzie podmiany kodu w pamieci, a dane jadra w razie potrzeby moga byc przetwarzane w locie.
Taka podmiana jest raczej nie możliwa. Poza wyjątkiem, gdzie jądro opisywałoby własne struktury i wskazywało na adresy metod powiązanymi z odpowiednimi polami. I tak nieco przesadziłem, a całość, to raczej bardzo odległa przyszłość.
Chodzi glownie o podmiane funkcji ktore sie zmienily, a nie danych na ktorych juz one operuja
Problem polega na tym, że z uwagi na przyjęty przez deweloperów linuksa model rozwoju jądra, struktury danych w nim zawarte potrafią zmieniać się pomiędzy wersjami (i o to jak rozumiem chodziło Jarkowi). Takie podejście do architektury (lub jej braku) powoduje, że raczej nigdy nie uda się podmienić całego jądra w locie (choć biorąc pod uwagę bełkot zawarty w stable-api-nonsense.txt zapewne jest to feature, a nie bug).
Nie wiem co masz do stable-api-nonsense.txt. Sama prawda.
Może skomentuj co dokładnie ci w nim nie pasuje cytując fragmenty, a nie FUDujesz od tak i siejesz swoją antylinuksową propagandę.
Ale jądro linuxa jest przerośnięte i zasyfiałe chyba że je skompilujesz
@drZoidberg W całym ksplice i tak głównie chodzi tylko o wydania poprawkowe, a w nich kosmicznych zmian nie ma.
@krzabr: tak, bo ma dużo kodu.
;D
Ksplice zakłada że przy poprawkach zawierających zmiany w strukturach danych używanych przez jądro, uruchamiany jest dodatkowy kod który robi odpowiednią konwersję.
@oO: Problem ze stable-api-nonsense polega na tym, ze ten plik to stek bredni. Nie ma tam praktycznie nic, co zgadzaloby sie z rzeczywistoscia. Zacytowanie konkretnego fragmentu polegaloby wiec na przeklejeniu calosci.
Ogolnie to dziala tak, ze jesli przeczytasz ten tekst i masz pewne pojecie o temacie – na przyklad jestes w miare kompetentnym programista; nie musisz miec specjalnego doswiadczenia z systemami operacyjnymi – to wiesz, o co chodzi. Jesli nie, to nie ma sensu ci tlumaczyc w sposob inny niz zwracajac uwagi na fakt, iz nikt poza kilkoma developerami Linuksa nie uwaza go za cos wiecej niz bredzenia czlowieka probujacego usprawiedliwic pisanie kodu bez wczesniejszego zastanowienia sie – inne systemy maja przemyslane API, ktore nie wymaga ciaglych zmian.
@trasz: I to “przemyslane API” innych systemow powoduje, ze przy kazdym service packu do Windows (nie mowiac juz o przejsciu XP -> Vista -> Win7) przestaja dzialac sterowniki i trzeba sie zaopatrzyc w nowe (czesto urzadzenia, nie sterowniki, bo producent zlewa nowsze wydania Windows)?
@mangoo: Siejesz FUD. Nie przestaja dzialac. Wiekszosc sterownikow z Windows 2000 mozna uruchomic bez problemow na XP z ostatnim service packiem. W przypadku Linuksa nie ma mowy o uruchomieniu sterownika rok albo pół starszego niz kernel bez modyfikacji zrodel.
> serwisy międzynarodowe typu Facebook nie mają takiej możliwości.
Pierdoly Wasc prawisz.
Moze wlasnie taka manufaktura jak NK albo OSnews potrzebuje takich
karkolomnych sztuczek jak ksplice, w duzych chmurach/farmach aplikacje
sa pisane pod katem rozkladania ruchu na setki serwerow, stad ich
rebooty sa dla uzyszkodnikow przezroczyste – ten problem po prostu
rozwiazuje sie pare rzedow abstrakcji wyzej, na poziomie aplikacji.
Przede wszystkim jeśli na 300 serwerów będzie się aktualizowało kolejno po 2, nikt tego nie zauważy (zwłaszcza w godzinach mniej natężonego ruchu)
Wykorzystuje się również wirutalizację, która obecnie nie stanowi praktycznie żadnego narzutu. I tak nadal to pozostaje dobre dla jakiegoś homeserver czy czegoś taiego(np. serwerowni nauczyciela informatyki/szkoły do hostowania plików).
Dla mnie dużo bardziej interesującą kwestią jest finansowanie tego projektu dla Ubuntu i jego pewnie komercyjna przyszłość po zakończenie okresu testów na społeczności.
Po co komu jakiś płatny wynalazek jeżeli istnieją już darmowe i sprawdzone rozwiązania takie jak KEXEC. Podczas pracy systemu można podmienić jądro, więcej tutaj: http://www.ibm.com/developerworks/linux/library/l-kexec.html
kexec jest, owszem, do podmiany jadra “w locie”, ale wymaga restartu systemu operacyjnego (nie jest wymagany “sprzetowy” restart, ktory moze byc wyjatkowo dlugi).
Kexec wymaga zabicie wszystkich działających procesów.
Zeby sprecyzowac – przy kexec jadro nie zabija zadnych procesow.
Po prostu skacze w miejsce, gdzie jest zaladowane inne jadro, uruchamia je… I sila rzeczy nowe jadro nawet nie wie, ze jakies procesy kiedykolwiek dzialaly
Nie jestem specjalistą, ale zdrowy rozsądek mi podpowiada wydłubanie Ci oczu
. Jądro musi zsynchronizować bufory z nośnikami, a także powinno pozwolić procesom się zakończyć.
Fakt, że Kexec powoduje błyskawiczny restart systemu(w dodatku z nowym jądrem), to nie będę się kłócić.
Jadro oczywiscie, stara sie zsynchronizowac bufory z nosnikami (choc i tu moga byc wyjatki – sprobuj zsynchronizowac dyski iSCSI, gdy sieci nie ma…).
Procesy nie sa w zaden sposob zakonczane przez kexec – po prostu nagle nie ma jadra, dzieki ktorym chodzily.
Ale uscislajac: zazwyczaj powinno stosowac sie “normalna” procedure wylaczania systemu (tzn. skrypty zatrzymujace procesy, po czym zamiast wywolania systemowego robiacego restart jest uzywane kexec) – ale nic nie stoi na przeszkodzie, aby uzyc kexec bez zatrzymywania procesow.
:/ I zrobiono, to co ja chciałem zrobić. Myślałem, że to coś nowoczesnego, a okazałoby się, że drugi raz odkrywam koło.
Fedora jest jedyną dystrybucją Linux-a którą jestem gotów zainstalować…
W repozytorium debiana jest to od dawna już, więc wychodzi na to, że tam też za darmo.