реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как избежать проблем с SD Картой на Raspberry PI 2?, Желательно простым способом
syoma
сообщение May 11 2016, 10:10
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Привет.
Такая ситуация - в моей системе Распберри работает в режиме 24/7. Управляет всякими девайсами через инет и USB, пишет логи на SD-карту. На этой же самой SD карте хранится операционка и конфигурация. Из того, что я прочитал в инете, ресурс этой самой SD карты в таком режиме не безграничен и рано или поздно она откажет.
Поэтому хочу сейчас исключить данную возможность и желательно самым простым способом. Естественно бекап SD карты можно сделать вручную, но мне хочется это как-то автоматизировать, желательно парой команд. В моей сети также присутствует NAS с жестким диском, тоже в 24/7, куда при случае можно бекапить, но хотелось бы не ждать пока карта гавкнется, а вообще исключить поломку.

В общем какие посоветуете решения?
Например, как вариант вместо карты использовать USB винчестер. Но не знаю можно ли загрузить Расперри с него. Или использовать сетевую загрузку. Также логи, наверное желательно писать на NAS, или USB, а карту чделать Read-only.


Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 11 2016, 14:23
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



А поставить Windows 10 на Raspberry?
Я использую планшеты с Windows 10, они отлично работают с внешними дисками.

Go to the top of the page
 
+Quote Post
muravei
сообщение May 11 2016, 17:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Использовать облако с помощью WebDAV.
Go to the top of the page
 
+Quote Post
Slash
сообщение May 11 2016, 19:25
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011



Сделать SD-карту Read-Only.
Для этого настраиваете демон логгирования rsyslogd (или используете другой, если настройки не позволяют), чтобы он писал логи на ваш NAS.
Отключаете swap файл или перенаправляете его на NAS.
В общем, все, что должно писать на SD-карту или отключаете или перенаправляете на NAS.
Делаете карту read-only.
Go to the top of the page
 
+Quote Post
mantech
сообщение May 12 2016, 14:50
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(syoma @ May 11 2016, 13:10) *
Управляет всякими девайсами через инет и USB, пишет логи на SD-карту. На этой же самой SD карте хранится операционка и конфигурация


Может все-таки логи писать только при ошибках или перезагрузках? Если система работает нормально, то и записей на сд будет немного laughing.gif
Go to the top of the page
 
+Quote Post
syoma
сообщение May 12 2016, 18:53
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата(mantech @ May 12 2016, 16:50) *
Может все-таки логи писать только при ошибках или перезагрузках? Если система работает нормально, то и записей на сд будет немного laughing.gif

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

По поводу Read-only, спасибо, буду смотреть, но надо бы, чтобы было как можно меньше возни с конфигурацией и потом не было проблем с системой.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение May 13 2016, 02:36
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Да разные есть варианты.
Можно с сети загризить ядро по TFTP и смонтировать файловую систему с NFS. Это по поводу вашего вопроса как загрузить с сети. Но для этого нужен работающий компьютер с которого все по сети берется.

Если не с сети грузиться:
SWAP скоее всего не включен, а если включен то быстро добьет ваш диск. Логи легко перенаправить на другой компьютер и уже там писать..
Go to the top of the page
 
+Quote Post
mantech
сообщение May 13 2016, 06:26
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(syoma @ May 12 2016, 21:53) *
Не, мне надо логи работы, чтобы знать, например, температуру за последние дни, или насколько часто включалась определенная релюшка.


Если ваша система работает стабильно, то такие логи можно сбрасывать на RAM disk например. Или на внешний усб-винт.
Go to the top of the page
 
+Quote Post
Paramon
сообщение May 13 2016, 08:06
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
syoma
сообщение May 13 2016, 08:57
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Paramon, спасибо, буду пробовать.

Как я уже говорил в сети есть NAS в режиме 24/7, который бекапится в облако. То есть логи я на него перекинуть могу. А вот можно ли загружаться с него, если там только файловый доступ организован?
Go to the top of the page
 
+Quote Post
Paramon
сообщение May 13 2016, 09:09
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
syoma
сообщение May 13 2016, 13:35
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
Debian (Raspbian) "считает", что примонтированное устройство это его личное и входит в его файловую систему. И он будет в него писать и читать из него - ему до лампочки. Главное чтобы были физические возможности работы с ним и права доступа к этому устройству той программе (пользователю) на чтение и запись.

А можно сделать так, чтобы сетевой диск как-то "подменил" SD карту? Просто чтобы перенаправить логи, надо ковыряться в настройках десятка программ, и все они пишут в var/log только разные папки. Вот и хотелось бы эту папку подменить сетевой с помощью одной команды, чтобы в настройках приложений ничего не менять. Это возможно?
Go to the top of the page
 
+Quote Post
Paramon
сообщение May 13 2016, 20:10
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 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 наподобие о чём писал - команда mount
3) при запуске была подмена, но учтите что исходная /home не будет изменяться - будет в "тени" и при неудачном монтировании всплывёт и будет не очень гуд.
Попробуйте сначала просто в "ручном" режиме - понятное дело, что с ROOT правами. Да и все манипуляции с монтированием, о чём говорилось выше, тоже с ROOT.

В общем загружать программу если она не в /usr или /lib и не в /bin а где-то в /home (/home/<user>) получиться. А подмена этих путей по моему перебор. Проще настроить (да и правильнее) запуск необходимого софта. Как правило запущенный код "мусорит" в папке пользователя - того кто запустил. Если это не /var - где все оставляют логи.

И ещё я не испытывал, но люди говорят про запуск с (USB)Flash/HDD:
посмотрите тут
Но всё равно начальный старт (загрузчик) с SD карты.
Go to the top of the page
 
+Quote Post
halfdoom
сообщение May 14 2016, 04:44
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 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 раз в сутки. (это рецепт из давно живущей системы, поменялось ли что-то в новых версиях - не знаю).
Go to the top of the page
 
+Quote Post
syoma
сообщение May 19 2016, 07:26
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата
Поднимите на NASe NFS сервер, создайте экспорт для корневой системы, залейте туда копию карточки. Затем на RPI поправьте /boot/cmdline.txt:

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

Насчет давно живущей системы - распи, получается, если не насиловать, не использовать всякие GPIO и принять меры к изнашиваемости SD карты, довольно живучая система получается? никаких движущихся частей, не греется сильно. Или все-таки там есть баги по долговременной надежности - перегрев или плохая схемотехника?
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 07:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01541 секунд с 7
ELECTRONIX ©2004-2016