В стандартной конфигурации/настройке контроллера логгирование так не забивает память. Какой сервис больше всего пишет в лог? Пришлите вывод команды journalctl -n 1000
файлом.
Нет, “чего угодно” - это совсем не описание.
Какое отношение логи имеют к корневому разделу?
Как и в любом другом дистрибутиве настройкой ротации, расположения и отношения к свободному местеу раздела обеспечивает journald.
К сожалению вопросы про “надо удалять” - они совсем некорректные.
я не знаю зачем вы логи в корневой раздел засунули
/mnt/data/var/log/journal/216d6a731c3dae77098d5036641b235a весит 1,44Gb
file.txt (379,1 КБ)
Мне кажется или вы уверены что /mnt/data относится к корневому разделу?
Мне уже не кажется - я уже вижу, что решать проблемы с вашими контроллерами никто не хочет.
Вместо ответов и решений в ответ словоблудие.
Достаточно одной команды чтобы посмотреть что где расположено.
mount
В решении какой проблемы нужна помощь?
Корень определен в 9 сообщении.
Вы выкладываете списки файлов с размерами, делаете довольно неожиданные предположения.
Для чего-то, я не понял цели, очищаете журналы.
Контрорллер - точно такой же компьютер как и тот за которым работаем. Все методы планирования раворачивания ПО и собственно сама работа с ним ничуть не отличаются.
Я вообще ни одного ответа не вижу.
Только какие-то обсуждения о том что что-то нехорошо.
Дай вывод той команды, дай вывод этой команды.
И что дальше?
Очень познавательный ответ:
Из диагностического архива видно, что корневой раздел полностью заполнен. Это не хорошо. Логично, что может привести к нестабильной работе.
И что мне с этим делать? Я не знаю где там в диагностическом архиве что видно.
Чем он заполнен? Я повторяю я лично его ничем не заполнял.
Зачем мне его расширять? В базовой комплектации контроллер работать неспособен?
Списки файлов я выложил, потому что отправив диагностический архив, я ожидал в ответ хоть какой-то дельный совет, а не комментарий о том, что там что-то видно.
Что именно видно? В каком месте? Чем заполнен? Я это сам должен догадаться?
Даже выложив списки файлов с размерами, я не получил вообще никакой помощи в решении вопроса.
Один мне говорит, у тебя память забита. Где и чем не говорит. Другому непонятно зачем я журналы удаляю. При этом любые мои вопросы просто игнорируются. Давай третьего позовём он ещё что-то повеселее придумает.
Мне нужно знать что забило память контроллера, почему он перестал работать и как его починить.
За целый день ноль помощи
Но разве вывод команды - не несет, сам по себе большую часть ответа?
Размер корня контроллера, работающего примерно полгода, с установленным docker, nodejs:
Filesystem Size Used Avail Use% Mounted on
/dev/root 976M 824M 86M 91% /
Сколько места занимает?
Соответствует ли занимаемое место планируемому при разворачивании?
При удалении - сколько освобождается?
Я не вижу никакого толка от списка файлов, даже с размерами.
И да - настройка комьпьютера предполагает хотя бы минимальное его администрирования.
Какой помощи вы ждете? Покажите хотя бы список установленных пакетов с занимаемым ими размером.
Волшебной команды которая удаляет что-то точно не бывает.
Вывод незнакомой команды без пояснений никакой пользы не приносит.
Вот например список, установленных пакетов. И что мне с ним делать?
Я их не устанавливал и я не знаю что из этого с чем связано и что можно удалять, а что нет.
Я тут даже Node-RED не вижу.
И что из это родное ПО, а что стороннее - нигде не написано. Откуда я это должен знать?
# dpkg-query --show --showformat='${Installed-Size}\t${Package}\n' | sort -rh | head -30 | awk '{print $1/1024, $2}'
114.279 nodejs
51.2646 linux-image-wb7
31.3809 vim-runtime
30.626 gcc-10
30.5234 libicu67
26.1836 git
19.6963 libperl5.32
17.0459 perl-modules-5.32
16.2988 libstdc++-10-dev
16.042 g++-10
15.6387 locales
14.9307 cpp-10
14.6709 wb-mqtt-confed
14.6699 coreutils
13.5713 binutils-common
12.6377 wb-rules
12.4512 network-manager
11.7432 ieee-data
11.4824 systemd
9.77734 geoip-database
8.82812 libc6-dev
8.7832 libglib2.0-data
8.39746 wb-mqtt-serial
8.2832 udev
8.03711 libc6
7.99805 wb-mqtt-homeui
7.91113 libpython2.7-stdlib
7.57324 binutils-arm-linux-gnueabihf
7.39844 libasan6
6.9082 libpython3.9-stdlib
Явно установленный.
Ну и коллега прав - стоит расширить раздел до 2 Гб. Либо вынести /usr/lib/node_modules на /mnt/data
Перенести весь каталог в /mnt/data/usr/lib/
А затем
ln -s /mnt/data/usr/lib/node_modules /usr/lib/node_modules
Понятно что nodejs установлен попутно с nodered, только в инструкции по установке nodered нигде не написано, что у тебя при этом вся память контроллера закончится.
и что 114Мб nodejs вывели контроллер из строя?
Я уже устал искать проблему и решил сбросить всё до заводских настроек wb_update_FACTORYRESET.fit
Для интереса проверил список пакетов заводского устройства. Разница только в этих пакетах
114.279 nodejs
30.626 gcc-10
26.1836 git
16.2988 libstdc+±10-dev
16.042 g+±10
14.9307 cpp-10
13.5713 binutils-common
229Mb - целенаправленно ничего из этого я не ставил. Скорее всего всё это попутно установилось вместе с noderred и утилитой screen
# dpkg-query --show --showformat='${Installed-Size}\t${Package}\n' | sort -rh | head -30 | awk '{print $1/1024, $2}'
51.2676 linux-image-wb7
31.3809 vim-runtime
30.5234 libicu67
19.6963 libperl5.32
17.0459 perl-modules-5.32
15.6387 locales
14.6709 wb-mqtt-confed
14.6699 coreutils
12.6377 wb-rules
12.4512 network-manager
11.7432 ieee-data
11.4824 systemd
9.77734 geoip-database
8.82812 libc6-dev
8.7832 libglib2.0-data
8.39746 wb-mqtt-serial
8.2832 udev
8.03711 libc6
7.99805 wb-mqtt-homeui
7.91113 libpython2.7-stdlib
6.9082 libpython3.9-stdlib
6.40137 libmagic-mgc
6.40137 dpkg
6.36523 perl-base
5.95508 mc-data
5.90918 bash
5.60059 linux-libc-dev
4.74512 shared-mime-info
4.74316 libpython3.9-minimal
4.29395 libc-l10n
Я правильно понимаю, что для восстановления контроллера в основном достаточно скопировать из бэкапа только 3 файла и 2 папки?
/mnt/data/etc/mosquitto/conf.d/bridge1.conf # настройки подключения к брокеру MQTT
/mnt/data/etc/wb-mqtt-serial.conf # настройки устройств на шине RS-485
/mnt/data/etc/wb-webui.conf # панели и виджеты из веб интерфейса
/mnt/data/wb-rules/ # папка с правилами
/mnt/data/wb-rules-modules/ # папка с модулями правил
Остальные файлы в бекапе мне показались бесполезными либо нетронутыми мною.
Настроить часовой пояс
timedatectl set-timezone Europe/Moscow
Раздел /mnt/data рекомендуем полностью копировать. Как минимум не вижу в вашем списке wb-hardware.conf, файлов настройки сети и прочее. Логи можете не копировать.
У меня контроллер автоматически получает статический ip адрес по mac адресу на роутере, а wb-hardware.conf я не трогал, потому что у меня к контроллеру ничего, кроме шины RS-485 не подключено, поэтому и без этого всё работает.
Теперь мне нужно знать что привело к зависанию контроллера.
Видно, что заполнен корневой раздел. Видимо отсюда и зависание контроллера.
Здесь мы видим, что память ушла на логи.
Уточните, расширяли ли вы корневой раздел по инструкции?
Как я понял, на сегодня у вас безмерно разрастается лог. Я бы рекомендовал для начала остановить wb-rules и проверить растет ли лог. Подозреваю, что включен отладочный режим. Плюс постоянные ошибки от wb-rules.
Давайте попробуем найти корень проблемы.
Отладочный режим включён.
Как лог размером 1,6гб влез в корневой раздел размером 1гб?
После полного сброса контроллера корневой раздел увеличился до 2Гб
К сожалению, в данной теме мы ушли от первоначально заявленной проблеме. Я так понимаю, что сейчас все сконфигурированные устройства доступны из веб-интерфейса.
Если возникнут какие-либо вопросы или затруднения по использованию нашего оборудования, то создайте новую тему на портале и подробно опишите.
Это потому что вы ни на один прямой вопрос не отвечаете.
Всё что я тут вижу - это ответы вопросом на вопрос.
Ни одного ответа.
Какой смысл в диагностическом архиве, если уже неделю вы не можете мне ответить почему завис контроллер?
Контроллер завис, т.к. была память переполнена логами. Это я уже писал. Логи разрослись по неизвестной причине.
5 дней назад я просил проверить растет ли лог с отключенным wb-rules, чтобы локализовать проблему, т.к. в лог постоянно пишется следующее:
Oct 02 13:05:00 wirenboard-AM363YRR wb-rules[16332]: ERROR: [rule error] ECMAScript error: Error: invalid whenChanged spec
transformWhenChangedItem /usr/share/wb-rules-system/scripts/lib.js:209 preventsyield
map native strict preventsyield
anon /usr/share/wb-rules-system/scripts/lib.js:230 preventsyield
forEach native strict preventsyield
anon /usr/share/wb-rules-system/scripts/lib.js:243
TermostatController /etc/wb-rules/heating.js:480
anon /etc/wb-rules/heating.js:493 preventsyield
call native strict preventsyield
anon /usr/share/wb-rules-system/scripts/lib.js:240 preventsyield
Выполните все-таки предложенные действия. Не игнорируйте их.