Orange Pi

Операционные системы - Pi OS => Lubuntu => Тема начата: Vital864 от Ноябрь 07, 2016, 03:05:46 pm

Название: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 07, 2016, 03:05:46 pm
   Доброго всем времени суток! Долго бьюсь над одним решением, не получается, решил попросить помощи. Речь собственно вот о чем:

-  решил оптимизировать работу SSD, так как характер поставленной задачи затрет диск через год, полтора. Идея в том, чтобы на ssd ничего не записывалось (кроме установленных уже программ), только читалось. Все записи будут вестись на HDD, подключенный на SATA.
-  fstab не помогает. Вот почему: при выносе на HDD папки /var система потом не загружается должным образом, куча ошибок. Причина: в папке /var сидят две папки lock и run с размерностью MiB. Я так понимаю, что эти папки уже сидят в оперативной памяти. Но кто их туда вынес? fstab ведь пустой! Копаем дальше....
- из serial log понял, что загрузкой в lubuntu заправляют systemd и upstart. Видимо где-то в них прописаны эти папки в оперативную память. Но где - не могу найти. Гугл подсказывает какие-то папки и файлы, но у себя я их не нашел.   :'(
-  оставлять их в том виде, в котором они есть - это надо будет разбить HDD дисков на 15-20 штук. Это не продуктивно, не пойдет.

   Вопрос: кто-нибудь сталкивался с таким решением оптимизации SSD или работой systemd и upstart? Подскажите, где копать? Ежели я чего-то упустил или недопонимаю - особо не пинайте. windowsuser.
Название: Re: Оптимизация SSD
Отправлено: igzero от Ноябрь 07, 2016, 03:19:24 pm
   Доброго всем времени суток! Долго бьюсь над одним решением, не получается, решил попросить помощи. Речь собственно вот о чем:

-  решил оптимизировать работу SSD, так как характер поставленной задачи затрет диск через год, полтора. Идея в том, чтобы на ssd ничего не записывалось (кроме установленных уже программ), только читалось. Все записи будут вестись на HDD, подключенный на SATA.
-  fstab не помогает. Вот почему: при выносе на HDD папки /var система потом не загружается должным образом, куча ошибок. Причина: в папке /var сидят две папки lock и run с размерностью MiB. Я так понимаю, что эти папки уже сидят в оперативной памяти. Но кто их туда вынес? fstab ведь пустой! Копаем дальше....
- из serial log понял, что загрузкой в lubuntu заправляют systemd и upstart. Видимо где-то в них прописаны эти папки в оперативную память. Но где - не могу найти. Гугл подсказывает какие-то папки и файлы, но у себя я их не нашел.   :'(
-  оставлять их в том виде, в котором они есть - это надо будет разбить HDD дисков на 15-20 штук. Это не продуктивно, не пойдет.

   Вопрос: кто-нибудь сталкивался с таким решением оптимизации SSD или работой systemd и upstart? Подскажите, где копать? Ежели я чего-то упустил или недопонимаю - особо не пинайте. windowsuser.

Так сделано у меня (http://orangepi.pp.ua/index.php/topic,608.15.html)
Цитировать
Внес некоторые изменения для сохранения целостности системы, а именно:
Цитировать
разбил диск на 4 раздела
УстройствоТочка
монтирования
РазмерТип ФС
опции
Описание
/dev/mmcblk0p1/ (root)3GEXT4 Read Only, выключено журналирование
Подробности: https://wiki.debian.org/ReadonlyRoot (https://wiki.debian.org/ReadonlyRoot)
Boot и система
/dev/mmcblk0p2/var1.4GEXT4 Read/Write, has_journalФС для служебных пулов и логов,
сюда также перенесен пользовательский каталог /home
(т.к. в системе кроме рута у меня всего один живой юзер opi,
то минимальная правка в файле /etc/passwd (команда vipw) — исправить у opi /home/opi на /var/home/opi
/dev/mmcblk0p3/usr/local1GEXT4 Read/Write, has_journalисходные коды различных пакетов ( в том числе CarPC),
некоторые служебные файлы и файлы настроек ( в том числе для CarPC)
/dev/mmcblk0p4/mnt/video2GEXT4 Read/Write, has_journalФС для записи видеоархива

Цитировать
Суть этих манипуляций такова — что система в любом случае будет жива. Интенсивная запись только видеоархив, сбой на /var - тоже нестрашно. Для восстановления понадобится минимум "телодвижений" (создать руками структуру /var и можно грузиться, или  поставить базовую систему и накатить по верху образ /dev/mmcblk0p1 изменив после этого /etc/fstab на предмет /var, монтирования root в Read/Write *сделан SNAPSHOT ./ с /dev/mmcblk0p2 в точку монтирования /var на /dev/mmcblk0p1
Еще под Ubuntu есть пакет overlayroot
Может и в лубунте он есть?
apt-cache search overlayroot
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 07, 2016, 09:11:26 pm
   igzero, разбить диск - не проблема. Проблема вынести папку /var из SSD на другой (HDD) диск. fstab - бессилен. Весь вопрос в том - КАК ЭТО СДЕЛАТЬ? Конкретно в lubuntu. Потому что в других системах изначально в tmpfs вынесены другие папки, а может и вовсе не вынесены.
   Или по другому задам вопрос: как папки /var/lock и /var/run вернуть из tmpfs на SSD?
Название: Re: Оптимизация SSD
Отправлено: AlDemin от Ноябрь 08, 2016, 06:28:05 am
У меня сейчас под рукой армбиан, там /var/run и /var/lock - ссылки на /run и /run/lock
если так-же, то можно попробовать так:
Сделай раздел на HDD и скопируй на него /var целой папкой.
Сделай скрипт, который будет проверять наличие HDD,
при наличии монтировать к примеру /dev/sda1 в /mnt/sda1
далее проверяем наличие папки /mnt/sda1/var и если она есть монтируем её следующим образом:
mount /mnt/sda1/var/ /var/ -o bind
и пропиши его запуск его в автозагрузку.
Плюс - при отсутствии HDD система остается рабочей, при наличии - /var фактически будет переключен на HDD.
Но если /var/run и /var/lock не ссылки, а реальные точки монтирования, что может помешать монтированию, то в скрипте нужно будет монтировать не весь /var а отдельно каждую папку в нем (или только те, что тебе нужны).
Название: Re: Оптимизация SSD
Отправлено: igzero от Ноябрь 08, 2016, 07:00:53 am
я понял тебя. Поэтому все что я писал выше несовсем то.
Ищи скрипт в /etc/init.d который монтирует /var/run в tmpfs
Самое простое сделать /etc/rc.local который будет делать примерно то что посоветовал AlDemin выше
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 10, 2016, 03:22:22 pm
   Отыскал я, как мне кажется, скрипт в /etc/init.d, в котором что-то делается с /var/lock и /var/run. Скрипт umountnfs.sh. Заремил эти строчки, но ничего не получилось. Сань, ты говорил о ссылках. Да, на значках этих папок присутствуют стрелки, как на ярлыках в винде. Как их прописать в скрипте, точно не понял, т.к. не могу понять на каком языке написаны скрипты. Чем-то похоже на С, но не то. С таким я не знаком.  :'( Что это за язык? Хочется немного понимать что там делается (в скриптах).
Название: Re: Оптимизация SSD
Отправлено: igzero от Ноябрь 11, 2016, 02:59:21 am
   Отыскал я, как мне кажется, скрипт в /etc/init.d, в котором что-то делается с /var/lock и /var/run. Скрипт umountnfs.sh. Заремил эти строчки, но ничего не получилось. Сань, ты говорил о ссылках. Да, на значках этих папок присутствуют стрелки, как на ярлыках в винде. Как их прописать в скрипте, точно не понял, т.к. не могу понять на каком языке написаны скрипты. Чем-то похоже на С, но не то. С таким я не знаком.  :'( Что это за язык? Хочется немного понимать что там делается (в скриптах).
Этот скрипт делает unmount nfs сейчас гляну
Название: Re: Оптимизация SSD
Отправлено: igzero от Ноябрь 11, 2016, 03:06:51 am
У меня armbian
Цитировать
root@orangepipc:/etc/init.d# grep mount *.* | grep "/run"
mountall.sh:    # We might have mounted something over /run; see if
root@orangepipc:/etc/init.d#
root@orangepipc:/etc/init.d# grep "/run/lock" *
bootmisc.sh:    rm -f /tmp/.clean /run/.clean /run/lock/.clean
bootmisc.sh:    rm -f /tmp/.tmpfs /run/.tmpfs /run/lock/.tmpfs
checkroot-bootclean.sh: # Clean /tmp, /run and /run/lock.  Remove the .clean files to
checkroot-bootclean.sh: rm -f /tmp/.clean /run/.clean /run/lock/.clean
mountkernfs.sh: # Mount tmpfs on /run and/or /run/lock
umountnfs.sh:   rm -f /tmp/.clean /run/.clean /run/lock/.clean
root@orangepipc:/etc/init.d#
Название: Re: Оптимизация SSD
Отправлено: igzero от Ноябрь 11, 2016, 03:30:56 am
/etc/default/tmpfs - здесь похоже переменные вк5лючать/выключать RAMRUN RAMLOCK и их размер
/lib/init - здесь вроде стартовые скрипты за это дело...
За достоверность не ручаюсь, так по быстрому глянул
Выставь в /etc/default/tmpfs переменный RAMRUN=no RAMLOCK=no RAMSHM=no RAMTMP=no
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 11, 2016, 08:13:42 am
У меня сейчас под рукой армбиан, там /var/run и /var/lock - ссылки на /run и /run/lock
если так-же, .......

А что значит ссылки на папки? Может их можно как-то убрать и потом fstab все сделает как надо.
Файла /etc/default/tmpfs у меня нету.
Название: Re: Оптимизация SSD
Отправлено: igzero от Ноябрь 11, 2016, 09:55:51 am
У меня сейчас под рукой армбиан, там /var/run и /var/lock - ссылки на /run и /run/lock
если так-же, .......

А что значит ссылки на папки? Может их можно как-то убрать и потом fstab все сделает как надо.
Файла /etc/default/tmpfs у меня нету.
В принципе может и прокатит. Попробуй
Только тогда вот так
sudo rm -rf /var/run
sudo mkdir /var/run
sudo rm -rf /var/lock
sudo mkdir /var/lock
Но все таки к добавок к этому отключить создание и монтирование /run и /run/lock
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 11, 2016, 08:12:57 pm
   Пардоньте, ребята!!!  :) Я ввел вас в заблуждение (можете попинать немножко, стонать не буду)  :D Папки /var/lock и /var/run тут ни при чём. Ботва начинается, когда переношу на HDD (через fstab) папку /var/lib. Я заглянул туда, в эту папку, а там от всех программ и не только сидят свои папочки. Если перенести lib на HDD, то старт апельсина останавливается на строчке с запуском Xserver. В папке lib ничего похожего. Я могу конечно же вычислить опытным путем, из-за чего зависает, но это будет долго, очень долго, т.к. там папок аж 63 штуки. Может поможете какой идеей, а я пока начну закидывать по одной папке на HDD.  :-\
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 11, 2016, 08:35:15 pm
   Вот закинул на HDD первую папку /var/lib/alsa и во время старта выдало строку

serious errors were found while checing the disk drive for /var/lib/alsa

Я понимаю следующее, что из этой папки грузятся данные о состоянии программ раньше, чем примонтируется HDD. Может быть я и не прав.
Название: Re: Оптимизация SSD
Отправлено: igzero от Ноябрь 12, 2016, 03:43:15 am
   Пардоньте, ребята!!!  :) Я ввел вас в заблуждение (можете попинать немножко, стонать не буду)  :D Папки /var/lock и /var/run тут ни при чём. Ботва начинается, когда переношу на HDD (через fstab) папку /var/lib. Я заглянул туда, в эту папку, а там от всех программ и не только сидят свои папочки. Если перенести lib на HDD, то старт апельсина останавливается на строчке с запуском Xserver. В папке lib ничего похожего. Я могу конечно же вычислить опытным путем, из-за чего зависает, но это будет долго, очень долго, т.к. там папок аж 63 штуки. Может поможете какой идеей, а я пока начну закидывать по одной папке на HDD.  :-\
Я тоже так думал, причем тут run и lock, ну будут они в памяти, места немного. Но хочешь - так хочешь :)

Вопрос: Как переносишь папки? Советую tar-ом,
Я сделал абсолютно, так как ты хочешь и никаких проблем. Смотри -  я расписывал. Переносить данные (делать snapshot ) var на диск надо на нерабочей системе. Т.е. выключаешь апельсин, вытаскиваешь SD карту. Вставляешь ее в другую машину под линухом и вперед
1) Монтируешь SD карту например так:
mkdir -p /mnt/sd
mount /dev/sdc1 /mnt/sd
/dev/sdc1 - твоя SD карта (сам смотри как она в системе определяется, может и по другому)
2) Делаешь shapshot при помощи tar под рутом или используй sudo
cd /mnt/sd/var
sudo tar -czf /root/my_sd.tgz ./
3) Правишь на своей SD fstab на предмет монтирования HDD на /var
4) Размонтируешь SD
cd /
sudo sync
sudo umount /mnt/sd
5) Разбиваешь HDD диск, создаешь слайс (раздел), монтируешь его(планируемый раздел /var) куда надо (например /mnt/hdd для наглядности)
после чего
cd /mnt/hdd
sudo tar -xzf /root/my_sd.tgz
cd /
sudo sync
sudo  umount /mnt/hdd
sudo fsck -f /dev/твой_раздел_var_на_HDD
6)После чего вставляешь/подключаешь SD и HDD в апельсин
7) Включаешь апельсин и все должно работать

Название: Re: Оптимизация SSD
Отправлено: AlDemin от Ноябрь 12, 2016, 08:01:17 am
Куайто вас понесло....
Виталь, скажи какая у тебя сейчас система, как подключаешь ssd и hdd, с чего стартуешь, я попробую повторить.
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 12, 2016, 10:00:26 am
   Сань, стоит Lubuntu 15.04, та, которую ты мне советовал. Работает она нормально, не жалуюсь. HDD (250Gb) подключен через SATA, SSD - это интегрированная память на плате апельсина (Pi+ у меня). На ней собственно и сидит операционка. Если что-то не так, например не стартует, я ставлю MicroSD, на которой таже система стоит, стартую с нее. Исправляю косяк в ОС на SSD, вытаскиваю и снова экспериментирую на ОС SSD. На карточке SD у меня система остается нетронутой, своего рода LiveCD. Вот, в принципе, вот так.
Название: Re: Оптимизация SSD
Отправлено: AlDemin от Ноябрь 12, 2016, 04:45:34 pm
Все понял, не SSD, а eMMC, а то сам запутался в терминах и нас запутал.
На медни смогу повторить твою конфигурацию, и попробую предложить решение.
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 12, 2016, 05:20:24 pm
   Только хотел добавить, что SSD это eMMC, что по сути я считаю одно и тоже. Чёта привык так её называть, извиняйте, да, запутал (предложение по пинкам не отменялось, действует ещё). Буду ожидать ответа, а пока тоже поковыряю старт инициализации порта SATA и монтирования дисков.
Название: Re: Оптимизация SSD
Отправлено: AlDemin от Ноябрь 12, 2016, 07:55:04 pm
У меня Pi+ сечас разобран почти до основания, еще с прошлого года руки не доходят.
SATA запаяю на место прицеплю винт и попробую.
Название: Re: Оптимизация SSD
Отправлено: AlDemin от Ноябрь 15, 2016, 08:11:20 pm
Собрал свою плату, на eMMC у меня 15.04-Mate,
прицепил HDD форматнул, примонтировал в /mnt скопировал на него содержимое /var
в fstab дописал строку:
/dev/sda1 /var ext4 defaults 0 1
Перезагрузился - все нормально, без ошибок.
mount показывает, что /var на hdd.
Но если диска не будет - система не грузиться.
Если диск будет пустой - тоже не грузиться.
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 16, 2016, 06:30:56 pm
   Спасибо, Сань! Я делаю точно так же, только приоритет ставлю не 1 а 2. В остальном всё так. Завтра попробую с другим приоритетом. Я сегодня на работе, до поздна. Но вот папки HOME и TMP я вынес точно так же и они без ошибок встали на HDD, каждая в свой раздел. И всё работает, ошибок нет. Всё-таки мне кажется здесь беда с системой......кажется......
Название: Re: Оптимизация SSD
Отправлено: Vital864 от Ноябрь 18, 2016, 01:46:38 am
   Сань, поставил систему Ubuntu_Vivid_Mate_15.04. Скопировал, примонтировал, прописал fstab - такая же фигня. При начальной загрузке останавливается и всё.... молчит. Есть одно отличие - монтирую один из разделов HDD в /mnt/var, а не в /mnt, как ты написал. По такой же схеме смонтированы и работают /home и /tmp на lubuntu. Где-то я рукожоп, не пойму где....  :(