The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

systemd - новая система инициализации от разработчиков Red H..., opennews (??), 01-Май-10, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


31. "systemd - новая система инициализации от разработчиков Red H..."  –3 +/
Сообщение от anonymous (??), 01-Май-10, 09:56 
> Даже демон грохнувшийся рестартануть и то не может, вынуждая авторов городить костыли лично.

Умение хорошо грохнутся --- это неотемлемое свойство демона и без него его доже демоном-то настоящим назвать нельзя? А умение восстановиться после аварии-чего-угодно наводит на мысль о недюжинном искусственном интеллекте.

Ответить | Правка | Наверх | Cообщить модератору

41. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от User294 (ok), 01-Май-10, 12:47 
> это неотемлемое свойство демона и без него его доже демоном-то настоящим назвать нельзя?

Толсто, сэр. Мало ли, например память кончилась и кто-то осыпался. Да, это не есть штатная ситуация, но сказать что она невозможна - это покривить душой. Баги - бывают, да. И гораздо лучше если софт отскребется от асфальта сам. Потому как караулить каждый драндулет лично - ну совершенно не прикольно. А если угораздило оказаться за тридевять земель - и подавно. Вообще, что за идиотское и нереалистичное допущение что ошибок не бывает?

> А умение восстановиться после аварии-чего-угодно наводит на мысль о недюжинном
> искусственном интеллекте.

Знаете, а вот как показала практика - линух надежнее например винды. В случае, допустим, глюков контроллера диска - линух вправляет ему мозг ресетом и ... система продолжает работать. Примерно то же самое случается с глючащими девайсами на юсб и так далее. В итоге пингвин отлично себя чувствует в батч режимах. А винды - "о, ошибка!". Все. Звиздец до ребута. Какой вариант лучше? Да, разумеется, в идеальном мире где софт и железо без багов - все это излишне. А в реальном мире - ошибки были, есть и будут есть. И с этим придется жить, да.

Ответить | Правка | Наверх | Cообщить модератору

82. "systemd - новая система инициализации от разработчиков Red H..."  –5 +/
Сообщение от iZEN (ok), 02-Май-10, 07:49 
>Знаете, а вот как показала практика - линух надежнее например винды. В случае, допустим, глюков контроллера диска - линух вправляет ему мозг ресетом и ... система продолжает работать.

В Linux нет дампа ядра? Оно сразу перезагружается? В Windows хотя бы Blue Screen Of Death есть — хоть что-то, что заставит посмотреть на экран и физически передёрнуть (humanable) "ручник".

>Примерно то же самое случается с глючащими девайсами на юсб и так далее. В итоге пингвин отлично себя чувствует в батч режимах. А винды - "о, ошибка!". Все. Звиздец до ребута.

Ага: "Программа выполнила недопостимую операцию и будет закрыто. Память не может быть Read." :)) Такое вот понятное каждому хомячку сообщеньице.

>Какой вариант лучше? Да, разумеется, в идеальном мире где софт и железо без багов - все это излишне. А в реальном мире - ошибки были, есть и будут есть. И с этим придется жить, да.

Вон, даже в Java есть два вида "вылетов", приводящие к исключениям (в этом случае вылет может обработать сама среда исполнения, вернув или не вернув управление самой программе) или необрабатываемым ошибкам (тут уж за дело берётся ОС).

А вот для приложений C/C++ ничего "ниже" не существует — только Segmentation Fault.

Ответить | Правка | Наверх | Cообщить модератору

98. "systemd - новая система инициализации от разработчиков Red H..."  +2 +/
Сообщение от iav (ok), 03-Май-10, 00:13 
> хоть что-то, что заставит посмотреть на экран и физически передёрнуть (humanable) «ручник».

«заставлять» должен начальник. Компьютер или ОС заставлять не имеет права — нет у них прав. Надо человеку — он заглянет. А дураков лечить тоже не компьютер должен.

Ответить | Правка | Наверх | Cообщить модератору

123. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от User294 (ok), 04-Май-10, 14:46 
>В Linux нет дампа ядра? Оно сразу перезагружается?

Хм... я видел реально серьезные сбои ядра всего несколько раз в жизни. И то - или в проприетарных драйверах или в экспериментальном коде. Что до сразу перезагружается - у нормального железа опять же есть (аппаратный и только так!) Watchdog Timer который вообще независимо от ОС вправит мозг системе аппаратным ресетом. Вообще невзирая ни на что если система перестала отвечать, например (и да, в линухе поддерживается целый выводок вачдогов). И это как раз тоже инструмент крашрекавери в батч-режимах, когда ресет нажать или девайс передернуть чисто физически некому.

>В Windows хотя бы Blue Screen Of Death есть — хоть что-то, что заставит посмотреть
>на экран и физически передёрнуть (humanable) "ручник".

Есть только одна проблема: если девайс стоит в датацентре за тридевять земель или в удаленном уголке планеты - передернуть девайс/питание/ресет может быть... НЕКОМУ. Или это может стоить нехилых баблосов или вести к большим потерям.

>Ага: "Программа выполнила недопостимую операцию и будет закрыто. Память не может быть
>Read." :)) Такое вот понятное каждому хомячку сообщеньице.

В винде кстати, особенно 9х оно требовало реакции юзера, что делало систему тотально не пригодной для работы в беспилотных режимах. Ну напримр если какая-то дрянь будет часто крешиться - в гуе возможно конечное число окон (9х выдерживает порядка 1-3 тысяч окон).В итоге система может сама себя ф#к%пнуть.

>вернув управление самой программе) или необрабатываемым ошибкам (тут уж за дело
>берётся ОС).

И что дальше? Если прога не обработала исключение и не ожидала подляну - дальнейшее уже ей не подконтрольно и о контролируемом крашрекавери спич уже не идет. Будет применен какой-то дефолтовый обработчик, со всеми вытекающими (как то потеря программой контроля над происходящим и какие-то дефолтовые действия по этому поводу, корректное выполнение программы будет нарушено). И, кстати, если память в системе закончилась - ява тоже не сможет ее родить, и посему любое действо ведущее к нужде выделить память завалится с исключением. Которое 99% прог сами не ожидают словить вообще, посему им тоже неизбежно настанет кирдык. Особенно если какойнить OOM killer не озаботится вопросом за чей счет освободить память.

>А вот для приложений C/C++ ничего "ниже" не существует — только Segmentation Fault.

Сложно быть тупым, да. Ващет это тоже дефолтовый обработчик. А если прога хочет - она может и сама проверить что *alloc вернул NULL и дальше что-то по этому поводу делать.
Но это фигня. На сях можно еще и вот так:
1) Заранее выделяем себе всю нужную нам память. Ну и как бы у нас ее уже не отберут и упасть при неудачной попытке выделения ессно не получится. Т.к. нет выделений памяти в рантайме. Вообще. Хоть это и несколько геморный вариант, он широко практикуется в эмбеддед, особенно в фирмварях работающих "без ОС" т.к. аллокаторов памяти там тупо нет никаких вообще. Си и это позволяет. И для критичных сервисов, фирмварей и прочая - оно очень даже. Поскольку подконтрольность выделения памяти - на высоте. А вот на яве так - слабо?
2) Я видел кастомные аллокаторы памяти которые не валятся сразу по поводу эпикфэйла при выделении памяти а ждут некоторое время и повторяют попытку выделить запрошенную прогрммой память несколько раз в надежде что проблемные условия пропадут и можно будет продолжить работу, что при штуках типа OOM Killer или каком-то мониторинге системы отстреливающем особо-жирные процессы вполне себе катит (прикольно, да?). В итоге прога притормозится в месте где пытались выделить память а когда память появится, прога дальше продолжит. Ну или если за разумное время памяти не появилось - объявить юзеру о том что у него говно в системе - гудбай, дескать. А на яве так слабо? :)

Ответить | Правка | К родителю #82 | Наверх | Cообщить модератору

106. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от аноним (?), 04-Май-10, 02:47 
> И гораздо лучше если софт отскребется от асфальта сам.

Ну да, кривой демон раздуется в памяти, будет убит по oom, ваша умная система его перезапустит, он опять раздуется. Так и будет ворочать свопом, заDOSив все остальное что на машине крутится. Без карауленья нихрена не обойдетесь, а эти ваши перезапускалки демонов доведут до того, что залогиниться на машину не сможете.

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

124. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от User294 (ok), 04-Май-10, 15:12 
>> И гораздо лучше если софт отскребется от асфальта сам.
>Ну да, кривой демон раздуется в памяти, будет убит по oom, ваша
>умная система его перезапустит, он опять раздуется. Так и будет ворочать
>свопом, заDOSив все остальное что на машине крутится.

Ну если раз в полгода - да и болт с ним. Ну будет запись два кило в сутки в своп. Не больно какая дос-атака на диск :). Тем более что если время отклика роляет, своп можно совсем вырубить или не делать его большим, лимитировав вред. Хотя нормальное решение - подрезать крылья чем-то типа ulimit, но как бы на все места где можно упасть - соломы не напасешься.

>Без карауленья нихрена не обойдетесь,

Предоставим это роботам^W вачдогам, опять же. Отловив лично "быстро вылезающие" проблемы и предоставив автоматике душить медленно вылезающие (когда, и если они вылезут). А то лично переться в датацентр в буево-тутуево или тем паче ребутить какую-то железку на северном полюсе, ухлопав на визит к оной несколько дней - не прикольно ни разу. Сие касается и сбоев оборудования и сбоев софта. Хорошая система должна сделать несколько потуг исправить ситуацию до того как устроить эпик фэйл который потребует участия человека.

>а эти ваши перезапускалки демонов доведут до того, что залогиниться
>на машину не сможете.

Выводы будут такие:
- SSH достаточно криво написан. В идеале должен преаллокейтить себе всю память чтобы такого не было и не уповать на внешние команды, отделываясь системными вызовами. Ну, в идеальном мире - и идеальные программы :). В реальном мире - реальный ssh. Достаточно горбатый в этом плане, увы. Он не больно то дуракоустойчив.
- Если вы боитесь активноти свопа и того что это создаст проблемы - надо принять меры по борьбе с оной, ага? Да, для этого потребуется понимание как и что работает, кто и что блочит и прочая.
- ООМ киллера можно настраивать. Что хорошо и правильно. И ulimit в помощь. Посему заведомо подозрительных демонов можно урезонить (про то что стоит выбирать демонов которые не текут я молчу - это очевидно). Правда на все случаи жизни соломки все-таки не напасешься а шЫт все-равно может изредка случиться.
- Хорошо если система в случае единичных редких глюков не обсирается совсем с ног до головы, уделав все, а рекаверится с уведомлением "тут у нас была проблема с вон той железкой/софтиной, мы сие пролечили, но при возможности дескать гляньте что там такое случилось". Дело в том что редкие глюки которые случаются раз в год - отловить крайне проблематично. И в железе и в софте. Посему некий крашрекавери должен быть предусмотрен там где нет вахтера в будке, который ресет нажмет - раз в год и незаряженное ружье стреляет!

Ответить | Правка | Наверх | Cообщить модератору

45. "systemd - новая система инициализации от разработчиков Red H..."  +4 +/
Сообщение от минона (?), 01-Май-10, 12:57 
грохаются всё. всё без исключения.
и если какой-то чудик пишет демон, который будет рестартовываться сам, без моего участия - ему надо бить морду.

пример. субд (например оракл), жрёт озу мама не горюй. далее, начинает сбоить память. всё что мне нужно - пусть падает с вменяемой ошибкой и возможностью консистентного восстановления до этой ошибки.
если он будет рестартовываться сам (потом падать, например 1 раз в сутки. и так каждый день) то отследить ошибку будет ой как не просто. а если ошибка серьезная и он его будет поднимать, а он постоянно валиться, то в результате можешь получить базу, которую штатно восстановить вообще не получиться.
один хрен, следить за состояниями одного по будет другое по. будь то мой собственный демон/скрипт или системный. и то, и другое тоже может сбоить.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

84. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от поцанчик (ok), 02-Май-10, 11:44 
>если он будет рестартовываться сам (потом падать, например 1 раз в сутки. и так каждый день) то отследить ошибку будет ой как не просто

а логи для кого придуманы ? Для Пушкина?

Ответить | Правка | Наверх | Cообщить модератору

95. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от минона (?), 02-Май-10, 23:13 
не, для поцанчика, чтобы он понял, что логи не имеют отношения к перестартовываниям вообще.
иначе они так распухнут, то Пушкин позавидует.
Ответить | Правка | Наверх | Cообщить модератору

99. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от поцанчик (ok), 03-Май-10, 09:04 
>не, для поцанчика, чтобы он понял, что логи не имеют отношения к
>перестартовываниям вообще.
>иначе они так распухнут, то Пушкин позавидует.

А вам здесь никто и не говорил что логи имеют отношение к перерестартовываниям.

Ответить | Правка | Наверх | Cообщить модератору

113. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от минона (?), 04-Май-10, 08:38 
серьёзно?:D
Ответить | Правка | Наверх | Cообщить модератору

85. "systemd - новая система инициализации от разработчиков Red H..."  +/
Сообщение от Hawk (??), 02-Май-10, 12:54 
Ну не надо путать теплое с мягким. Понятно, что приложения типа СУБД, могущие напихать в базу хлама вместо достоверных данных это серьезно.
Но если проблема в ftp сервере на публичной файлопомойке - че париться-то?

Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

94. "systemd - новая система инициализации от разработчиков Red H..."  +1 +/
Сообщение от минона (?), 02-Май-10, 23:10 
типа разработчики должны сразу писать в анотаци - фтп для файлопомоек.
зы:
если не хочешь париться, то либо погугли, либо сам подумай, как написать 2-а скрипта, где первый запускает второй и если второй падает, то перезапускает.
чесслово, в коментах больше расписывать приходится, чем реализовать.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру