The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз ядра Linux 4.2"
Отправлено Аноним, 05-Сен-15 23:22 
> может влиять на работу запускаемых приложений.

Если вы хотите систему, где вообще никто, никогда и ничего не меняет параллельно с вами - используйте MSDOS.

А в многозадачке потенциально всегда может что-то меняться. Глупые люди имеют свойство на это забивать. А потом - какой-нибудь ntp приходит и переводит часы. Ну а гомнокод от таких умников или висит неделю как тряпочка, или внепланово срабатывает. Досявое мышление заканчивается так.

> Например один демон, который я писал, сам для себя выставляет cgroup, seccomp и прочее.

Только это геморно и тех кто это делет - очень мало. А мне теперь не придется заниматься выписыванием такого кода в каждом первом сервисе.

> привет от Леннарта.[/offtop]

Все бы ничего, но
1) Леннарт уже давно этим не занимается.
2) Знаете, когда в алсе кто-то монопольно занял девайс - тоже не сильно понятнее что и кто.

> Чем OpenRC не устраивет?

Это "sysv init на стероидах". Зачем мне это? Systemd - решает мои проблемы администрирования. Просто и комфортно в большинстве случаев. Он не запрещает вызывать внешние скрипты для реализации сложной логики. Но на мое мнение сложной логики в стартовой последовательности системы быть должно минимум. Иначе потом через 2 года мозг сломаешь "откуда же это берется?".

Поттеринг взялся разруливать проблемы администрирования. И у него это получилось. Лучше чем было до него. За это он и симпатичен такой толпени майнтайнеров и разработчиков. А OpenRC что пытается сделать? "Sysv init с заплатками"? Спасибо, но мне это не надо. И даже задачи "как прикрутить syslog-ng" у меня нет. У меня задачи иначе формулируются: "как залоггить сообщение" или "посмотреть сообщения от somecrapd за последние полчаса".

> И даже какой-то supervisor туда тоже впиливали. Хотя ниразу им не пользовалсяс.

Зато им пользуюсь я. И весит это меньше, чем shell гоняющий while true. И не висит в списке процессов левыми процессами шелла. И в отличие от - в курсе множества failure modes. Взвис на старте? Взвис при остановке? Взвис в run time? Вываливание с кодом ошибки? Затык ребута? Системд в курсе что так бывает. А while true надо превратить в большой блок кода, с конфигурацией, чтобы он стал сколь-нибудь эквивалентным. Нафиг надо.

> Какое удивление? О чём речь? Ниразу при передаче/получении сервера у меня не
> было таких проблем.

Зато я видал как черти-как писаный гомнокод работает. В том числе и супервизор отпадения сервиса писаный на кроне и шелскрипте. Ненене, дэвид блейн, мне шапочные взгляды на это логичнее и симпатичнее.

> не помогут защитить сервер от тонны нечитаемых костылей.

Однако, с системд заниматься непотребством будет более некомфортно. Это уменьшит частоту проблем.

> Тем ни менее насколько сложно будет пользоваться systemd, если заменить udev наместо mdev?

Systemd, как я понимаю, технически udev для работы не требуется. Насколько это сложно обтяпать и какие там будут грабли - я не знаю. А зачем мне такая конфига нужна? У этого есть какое-то рациональное real-world обоснование, не высocaнное из пальца?

> openrc-шные скрипты минимальны по своему размеру.

А там как обычно, да? Ну там забили на логгинг кодов возврата, сохранение в лог вывода программы при ошибке, всякие там таймауты и прочие вещи, без которых не понятно "почему ничего не работает" и много глупых грабель на ровном месте.

> специфичной настройки контейнера -- это был очень неприятный момент.

Сел я тут в автобус. И узнал что он оказывается не может заехать на горную вершину. Облом, однако. Оказывается, автобусные маршруты прокладывают там где кто-то еще и ездить будет. И не 10 человек в год. И есть технические ограничения.

> Да, уже исправили, но было неприятно.

У всяких sysv init - случаются затыки даже с очень простыми и очевидными системными хотелками. Начиная от понимания "откуда это берется?" до реализации вачдога, таймаутов или логинга кодов возврата и вывода программы. Не говоря уж про всякие seccomp и смены шедулеров.

> привело к зависанию системы, то перезагружать до тех пор, пока хакеры
> не подберут правильное смещение -- это самый плохой подход.

Ребут - достаточно заметное событие. И если это сервер и он нормально админится, админ должен бы заинтересоваться почему там много ребутов подряд. А еще - journald'шные логи проблематично подтереть задним числом. А текстовые - запросто. Стереть строку с "своей" записью много ума не надо. Это будет полностью незаметно для админа. Сказ про ремотный логгинг - круто, но - другие допущения. И еще: кто будет проверять проверяющего?

> И существует тонна других примеров, когда не нужно ничего автоматически перезапускать.

ЧСХ, в systemd автоматический перезапуск - штука опциональная. Зато когда становится надо - очень хорошо, что так можно. И еще лучше что все это настраивается.

> Если произошла ошибка -- с ней обычно нужно сначала разобраться.

Это "обычно" может весьма варьироваться. Может быть автопилотная инсталляция, где с ошибкой разбираться некому. Более того, таких инсталляций много. У поттера почему-то есть нормальный тулинг для всего этого. И он в отличие от - решает проблемы, а не лечит что такие юзкейсы требоваться не должны. За это он получает 5 очков форы перед конкурентами.

> Достаточно редко бывают другие ситуации.

На один твой пыльный сервер - две дюжины юнитов эмбедовки и околоэмбедовки. Где категорически некому жать ресет и изучать ошибки.

> Не надо строить полных аналогий между электросетями и системным администрированием.

Тем не менее, некоторые инженерные практики местами перекликаются. Никто не хочет гнать человеков за тридевять земель чтобы нажать ресет на какой-то дряни.

> Всё-таки совершенно разные вещи.

Но есть кое-какие схожие требования: постоянная работа. С минимальным обслуживанием, по возможности.

> Электросети не обрабатывают данные,

Это тебе так кажется. Подумай о том что в сети 50Гц все генераторы должны быть идеально синхронизированы. А стыковка больших систем и перераспределение нагрузки по хорошему довольно интеллектуальные операции требующие приличной аналитики и умной реакции.

То что так не всегда и не везде - скорее сделствие исторических причин. Пока не было лопат - пользовались палкой-копалкой. А когда поняли что лопаты порой маловато - сделали экскаваторы.

> которые могут корёжиться после каждой перезагрузки, их не взламывают и т.п.

У них периодически случаются факапы. Там провод оборвался, там хак...воры провод сперли. А вон трансформатор #$%нул. И очень кстати если grid в целом еще и не завалится от подобных вещей, еще более кстати если grid будет уметь перекоммутировать нагрузку и взаимодействовать с другими grid-ами.

В любом случае, у них тоже бывают transient и permanent сбои. И им тоже не хочется бегать и обслуживать что-то, если этого можно избежать.

> А бывают ещё задачи кроме тех, которые выполняете вы.

Ну разумеется.

> Где, например, намного эффективнее реализовывать высокую доступность через избыточность > серверов, а баги рассматривать вручную и исправлять, вместо перезапусков.

Так я что, против? Просто это дороже. И у них обычно системы тоже ориентированы на бесперебойную работу, прежде всего. А анализ ошибок - может быть. Но в большой инфраструктуре всегда будет эн проблем. Если у вас миллион серверов - где винч сдох, где-то память глючит, где проц барахлит, где питальник помер. При этом просто меняется юнит администрирования: сервак могут просто заменить целиком. А детальные изучения что и почему - таки обычно не в живой структуре, а в фоне и сбоку. Кстати VM по этому поводу всем нравятся, с ними так проще всего. И развязка логики от физики. И системы по этому поводу раскатывают из шаблонов за минуты в общем случае.

> полезные данные, а без перезагрузки всё бы прошло само через несколько минут.

Иногда вачдог может быть и не тем что хотелось. Но тем не менее, затык активности на несколько минут - это в общем случае ошибка программирования. Система не должна вставать колом на несколько минут, имхо. Ну то-есть есть энное количество задач где такая латенси приемлима, но по дефолту я такое считаю ошибкой программирования или администрирования.

> Watchdog нужен только там, где он действительно нужен.

Со своей стороны я в общем случае считаю время реакции системы измеряемой МИНУТАМИ жирным багом программирования, который надо чинить.

> Не надо все задачи в мире равнять на ваши.

Вот к себе это и примените. В случае системды - там опций на разные задачи почему-то есть. И перенастраивается изрядно.

> Так и не надо их совмещать без необходимости.

Ну так у микроконтроллера - ограничение по ресурсам. Он не может считать как апликушный проц.

> А МК ещё более приличную. И стоят гораздо дешевле. Какой-нибудь STM32F0xx стоит
> порядка 50р (в текущими курсами валют)

Да я в курсе :). Урвал мелкооптовую партию таковых, по $0.8 и иному курсу. Мне их теперь надолго хватит. Но вот вебфэйс я так делать не буду. И картинку с usb-камеры на sata hdd я так записывать не стану. И по PPTP через эзернет я на МК конектиться не буду. И с сотовым модемом разве что с промышленным модулем работать. Совсем не ширпотребная штука и не очень дешевая. И GPRS-only в основном. А хотя-бы 3G - уже совсем отдельная сказка. С отдельной ценой. Usb-свисток из ближайшего ларька дешевле и шустрее. И еще вопрос кто менее надежен.

> без реальной необходимости -- это просто растрата.

Смотря что понимать под реальной необходимостью. Тем более что Pi - готовое устройство. А для STM надо печатную плату. Для себя я условно-бесплатно наЛУТаю. Но вот пуск в производство платы - время и $. Инженерные решения - о выборе разумного набора компромиссов.

> Вообще-то камеру к МК приделать можно.

Но вот ресурсы там - не те. И фиг вы 720P@30FPS в реальном времени обсчитаете. И винч на терабайт не прицепите без отдельных извратов. И камера потребуется экзотичная.

> А сохранять на SD-карту так вообще легкотня.

При том обычно на дрянь типа FAT. С никаким разрешением. И кучей дурных ограничений. И картинка вида "китайский тетрис снимает лучше".

> Вам принципиально, чтобы камера была именно USB, а устройство хранения -- HDD?

Мне принципиально, чтобы параметры были конкурентоспособны, по разумной цене, с разумными затратами времени и сил. А "тетрис" с массой ограничений, требующий времени разработки в 5 раз больше - вы и разрабатывайте.

Сильный кодек типа H.264 (или VPx) на мк крутить не выйдет. И картинку в браузер не передашь. И алерт на почту "тут какое-то движение" из мк передавать неудобно. Особенно когда хочется чтобы адрес почты юзер мог бы и конфигурировать без мытарств.

> (никогда не интересовался такими решениями и сходу не знаю как тут дела обстоят).

Как я уже сказал, любое решение - набор компромиссов. Да, можно прицепить камеру к МК. Но только вот не забудьте поинтересоваться какой там объем данных при человеческих разрешениях и FPSах. А заодно подумайте как это выплюнуть в сеть и как сделать чтобы юзер мог перенастроить емыл без мучений.

> Кстати говоря, кроме камер бывают и другие датчики.

Ну вот поэтому до кучи может хотеться поклацать каким-нибудь реле. И не всегда там злые требования к реалтаймности и прочая. Разумеется, обмотки BLDC коммутировать апликушником будет лишь дypaк или извращенец.

> И зачем тут винчестер?

А потому что на него влезет уйма видео с приличным качеством за солидное время. И он не загнется от активной записи, в отличие от SD карты.

> Я вот недавно закупил Wi-Fi модулей по 160р.

При том там хзкакая проприетарная прошивка, неизвестной степени безопасности, в 5 раз сложнее фирмвары вашего МК. С кучей дурных допущений и ограничений. Что ни говори, а у линуха сетевой стек развитее. И - опенсорсный. Как инженер - я не подпишусь за сетевую безопасность черти-какого модуля с мегабайтом проприетарного кода, реализуюшего протокол.

Ну и сделали вы девайс. И как юзеру его настраивать в человеческом формате, интересно? Ну там хоть параметры беспровдной сети вбить.

> Можно пример задачи, где не хватает МК, чтобы понять о чём конкретно сейчас речь?

Любая задача где:
- Развитое конективити в нормальные сети, без глупых ограничений.
- Обработка существенного объема данных или интенсивная математика. Сильные кодеки, шифрование, etc.
- Сколь-нибудь развитый юзеринтерфейс.
- Нужда или желание работать с "большой" PC-образной периферией.

В результате - с практической точки зрения, предложенные вами решения - геморны в реализации и обладают хреновыми параметрами и неудобны для пользователя. И при небольшом тираже, удешевление юнита ценой увеличения времени разработки это FAIL. А продать миллион таких уpoдцев, где мк с камерой - ок, попробуйте.

> И ответьте, пожалуйста на мои вопросы тут:

Вроде ответил.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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