|
Как избежать проблем с SD Картой на Raspberry PI 2?, Желательно простым способом |
|
|
|
May 11 2016, 10:10
|
Профессионал
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368
|
Привет. Такая ситуация - в моей системе Распберри работает в режиме 24/7. Управляет всякими девайсами через инет и USB, пишет логи на SD-карту. На этой же самой SD карте хранится операционка и конфигурация. Из того, что я прочитал в инете, ресурс этой самой SD карты в таком режиме не безграничен и рано или поздно она откажет. Поэтому хочу сейчас исключить данную возможность и желательно самым простым способом. Естественно бекап SD карты можно сделать вручную, но мне хочется это как-то автоматизировать, желательно парой команд. В моей сети также присутствует NAS с жестким диском, тоже в 24/7, куда при случае можно бекапить, но хотелось бы не ждать пока карта гавкнется, а вообще исключить поломку.
В общем какие посоветуете решения? Например, как вариант вместо карты использовать USB винчестер. Но не знаю можно ли загрузить Расперри с него. Или использовать сетевую загрузку. Также логи, наверное желательно писать на NAS, или USB, а карту чделать Read-only.
|
|
|
|
|
May 12 2016, 18:53
|
Профессионал
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368
|
Цитата(mantech @ May 12 2016, 16:50) Может все-таки логи писать только при ошибках или перезагрузках? Если система работает нормально, то и записей на сд будет немного Не, мне надо логи работы, чтобы знать, например, температуру за последние дни, или насколько часто включалась определенная релюшка. По поводу Read-only, спасибо, буду смотреть, но надо бы, чтобы было как можно меньше возни с конфигурацией и потом не было проблем с системой.
|
|
|
|
|
May 13 2016, 08:06
|
Частый гость
Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997
|
Попробуйте если сетевой диск: Код mkdir /mnt/netdsk mount -t cifs -o username='user',password='password' //<IP>/<path> /mnt/netdsk chmod 777 /mnt/netdsk и сохраняйте данные в /mnt/netdsk просто USB диск: Код mkdir /mnt/disk mount /dev/sda1 /mnt/disk chmod 777 /mnt/disk где /dev/sda1 ваш USB диск (может быть и sdaN, sdbN, sdc и т.д. и сохраняйте данные в примонтированное устройство /mnt/disk или накапливайте данные в RAM диске и время от времени делайте бекап в примонтированное устройство ну а автобекап примерно так: Код #!/bin/bash
_ps="/home/user/file" #пусть к вашему файлу _pd="/mnt/disk/file" #пуст к вашему примонтированному устройству и файлу
((work = 1)) while ( ((work > 0)) ) do cp $_ps $_pd sleep 100 #интервал бекапа в секундах done запустие подобный скрипт и будет счастье
Сообщение отредактировал Paramon - May 13 2016, 08:34
|
|
|
|
|
May 13 2016, 09:09
|
Частый гость
Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997
|
Цитата(syoma @ May 13 2016, 12:57) Paramon, спасибо, буду пробовать.
Как я уже говорил в сети есть NAS в режиме 24/7, который бекапится в облако. То есть логи я на него перекинуть могу. А вот можно ли загружаться с него, если там только файловый доступ организован? Debian (Raspbian) "считает", что примонтированное устройство это его личное и входит в его файловую систему. И он будет в него писать и читать из него - ему до лампочки. Главное чтобы были физические возможности работы с ним и права доступа к этому устройству той программе (пользователю) на чтение и запись. Про загрузку - это не потребуется! Будете грузиться с SD карты как и ранее. Выключите SWAP (swapoff -a). Для работы вам 1 гиг озу вполне хватит да и на APACHE+PHP+MySQL c видео останется. Сам испытывал. Да а если SWAP необходим то настройте также на примонтированном диске, желательно HDD.
Сообщение отредактировал Paramon - May 13 2016, 09:19
|
|
|
|
|
May 13 2016, 20:10
|
Частый гость
Группа: Участник
Сообщений: 128
Регистрация: 5-10-06
Пользователь №: 20 997
|
Цитата(syoma @ May 13 2016, 16:35) А можно сделать так, чтобы сетевой диск как-то "подменил" SD карту? Просто чтобы перенаправить логи, надо ковыряться в настройках десятка программ, и все они пишут в var/log только разные папки. Вот и хотелось бы эту папку подменить сетевой с помощью одной команды, чтобы в настройках приложений ничего не менять. Это возможно? Конкретно не испытывал на Raspberry, но на Moxa UC7112LX-plus я подменял родную (встроенную) директорию /home на дубликат на SD карте (SD не жалко было по сравнению с впаянной) 1) коприровал /home на SD, которая была в /mnt (в этой папке все пользователи) не забудьте про принадлежность пользователям и разрешениях 2) делал автомонтирование в /etc/rc.local наподобие о чём писал - команда mount3) при запуске была подмена, но учтите что исходная /home не будет изменяться - будет в "тени" и при неудачном монтировании всплывёт и будет не очень гуд. Попробуйте сначала просто в "ручном" режиме - понятное дело, что с ROOT правами. Да и все манипуляции с монтированием, о чём говорилось выше, тоже с ROOT. В общем загружать программу если она не в /usr или /lib и не в /bin а где-то в /home (/home/<user>) получиться. А подмена этих путей по моему перебор. Проще настроить (да и правильнее) запуск необходимого софта. Как правило запущенный код "мусорит" в папке пользователя - того кто запустил. Если это не /var - где все оставляют логи. И ещё я не испытывал, но люди говорят про запуск с (USB)Flash/HDD: посмотрите тутНо всё равно начальный старт (загрузчик) с SD карты.
|
|
|
|
|
May 14 2016, 04:44
|
Профессионал
Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072
|
Цитата(syoma @ May 13 2016, 16:35) А можно сделать так, чтобы сетевой диск как-то "подменил" SD карту? Поднимите на NASe NFS сервер, создайте экспорт для корневой системы, залейте туда копию карточки. Затем на RPI поправьте /boot/cmdline.txt: Код root=/dev/nfs rootfstype=nfs nfsroot=nas-ip:/nfs/rootfs/raspberry ip=rpi-ip:def-gw:broadcast:netmask nas-ip, rpi-ip, def-gw, broadcast и netmask замените на нужные вам значения. После этого карточка будет жить долго и счастливо, а систему можно обновлять хоть 10 раз в сутки. (это рецепт из давно живущей системы, поменялось ли что-то в новых версиях - не знаю).
|
|
|
|
|
May 19 2016, 07:26
|
Профессионал
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368
|
Цитата Поднимите на NASe NFS сервер, создайте экспорт для корневой системы, залейте туда копию карточки. Затем на RPI поправьте /boot/cmdline.txt: Выглядит достаточно просто, спасибо. Еще б подсказали, что означает создать экспорт для корневой системы, но помоему я совсем обленился :-) Насчет давно живущей системы - распи, получается, если не насиловать, не использовать всякие GPIO и принять меры к изнашиваемости SD карты, довольно живучая система получается? никаких движущихся частей, не греется сильно. Или все-таки там есть баги по долговременной надежности - перегрев или плохая схемотехника?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|