Верстакфорум практиков
рекламаiprazon: приватные серверные адреса IPv4 и SOCKS5, безлимитный трафик, бесплатный тест до 2 часов
ФорумСвободный раздел

Источник питания и внезапное отключение

iron_shell
iron_shell
Знаток
сообщений 1050
с июн
8 октября, 11:57первое сообщение

Ночью моргнул свет, секунды на две. Машина ушла в перезагрузку, ночной прогон встал на середине, выгрузка осталась обрезанной по половине строки. Утром я час искал, где обрыв, и докатывал остаток руками.

Стоял у меня сетевой фильтр, толку от него в этой истории ноль. Теперь смотрю на источник бесперебойного питания и путаюсь в том, что мерить. В магазине всё меряют минутами автономии, мне же эти минуты особо не нужны. Работать в темноте я не сажусь. Мне надо, чтобы машина успела погасить себя по-человечески и не порвала файлы на середине записи.

Кто как выбирал? На что смотреть, кроме мощности?

Пётр Мельник
Пётр Мельник
Участник
сообщений 810
с июл
15 марта, 14:14#2

Считать надо от потребления, поэтому сначала замер. Возьмите розеточный ваттметр и посмотрите, сколько машина ест под полной нагрузкой. Цифра из простоя тут обманет вдвое.

У меня системник с одним диском и без отдельной видеокарты держит около 90 ватт, монитор ещё 25. Источник на 650 вольт-ампер такую пару тянет минут восемь. Хватает с запасом на три моргания подряд, если свет играет.

сначала замер, потом мнение
Данила Р
Данила Р
Новичок
сообщений 145
с мар, второй сезон
22 августа, 17:31#3

а сколько минут вообще надо? я думал чем больше тем лучше

iron_shell
iron_shell
Знаток
сообщений 1050
с июн
1 января, 08:48#4
Пётр Мельник: сначала замер

Ваттметр заказал, померю вечером. Данила, минут надо ровно столько, чтобы система успела остановить службы и лечь. У меня это секунд сорок, всё сверх этого просто вес и деньги на ветер.

hexdump
hexdump
Знаток
сообщений 940
с июн
8 июня, 11:05#5

Держать машину живой мало. Источник должен уметь сказать ей «гаси себя», иначе вы всё равно приходите утром к обрубленному файлу.

Кабель от источника в машину, дальше служба следит за состоянием и по порогу даёт команду на выключение. На линуксе это nut или apcupsd, оба живут годами и настраиваются за вечер.

машина видит источник
машина видит источник

Порог я ставлю по остатку времени, минуты три. По проценту заряда врёт чаще: батарея стареет, а проценты остаются красивыми до последнего.

Оксана В.
Оксана В.
Участник
сообщений 350
с дек
15 ноября, 14:22#6

У нас в конторе источник стоит года три, и служба к нему так и не подключена. При отключении он честно пищит, и на этом всё. Пойду посмотрю, что там с кабелем.

Борис Лапин
Борис Лапин
Знаток
сообщений 1960
с мар
22 апреля, 17:39#7

Тут ещё вторая половина беды, про неё вспоминают позже всего. Даже с источником машина когда-нибудь упадёт: выбьет автомат, состарится батарея, повиснет ядро. Значит прогон обязан переживать обрыв сам по себе.

Два приёма снимают почти всю боль. Первый: писать выгрузку во временный файл рядом и переименовывать его в рабочее имя только после успешной записи. Переименование внутри одного тома проходит одним движением, файл остаётся либо старым целиком, либо новым целиком.

python sbor.py > vygruzka.csv.tmp && mv vygruzka.csv.tmp vygruzka.csv

Второй: держать отметку прогресса отдельной строкой и обновлять её раз в сотню записей. После падения скрипт читает отметку и продолжает с неё. У меня после этих двух правок внезапная перезагрузка стоит трёх минут потерь.

Данила Р
Данила Р
Новичок
сообщений 145
с мар, второй сезон
1 сентября, 08:56#8

спасибо, про временный файл вообще не думал

iron_shell
iron_shell
Знаток
сообщений 1050
с июн
8 февраля, 11:13#9

Взял источник на 650 вольт-ампер. Померенное потребление вышло 105 ватт вместе с монитором, запас нормальный. Служба поднята, порог по остатку времени три минуты, проверил выдёргиванием вилки: машина погасла сама за полминуты.

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