Выбор флешки для малинки и создание виртуального диска

Тема в разделе "Raspberry Pi", создана пользователем parovoZZ, 21 июл 2017.

Метки:
  1. parovoZZ

    parovoZZ Нерд

    Куча обзоров по предмету, но все они о скорости, ни слова о долговечности.
    У меня флешке уже год. Каждые десять секунд пишется инфа в файл. Жестко (не по феншую) отрубалось питание. И, видимо, флешка уже начинает подглючивать - up time 2-3 дня и сервисы отваливаются. SSH в том числе. Флеха SunDisk ultra 16G.
    Вопрос - на какую менять?
    И вот ещё вопрос - прочнее ли SSD? Вроде контроллеры в них поумнее в плане перенести данные из сбойных ячеек. Понятно, что HDD без вариантов, но - 2.5 HDD выдержит режим 24/7? 3.5 сразу нет - шумный, громоздкий, много жрет.
    Реально ли на малинке замутить виртуальный диск, всё туда писать, а перед шутдауном скидывать на флеху? Ну да, я понимаю, что ресет и привет. Так и рейды бывают от ресета представляются)))
    Всем спасибо!
     
  2. rkit

    rkit Гуру

    Самую дешевую, но в двух экземплярах в составе рейда.
    Прочнее.
    Как повезет. Если два года проживет, то и 10 легко. Если не повезет, то не повезет.
    Реально, если у вас памяти хватит.
     
  3. Igor68

    Igor68 Гик

    RAM - диск вам поможет!
     
  4. Igor68

    Igor68 Гик

    Собственно для формирования RAM диска скрипт
    Код (Bash):

    #!/bin/bash
    # ramdisk.sh

    #  "электронный диск" -- это область в ОЗУ компьютера
    #+ с которой система взаимодействует как с файловой системой.
    #  Основное преимущество -- очень высокая скорость чтения/записи.
    #  Недостатки -- энергозависимость, уменьшение объема ОЗУ, доступного системе,
    #  относительно небольшой размер.
    #
    #  Чем хорош электронный диск?
    #  При хранении наборов данных, таких как таблиц баз данных или словарей, на электронном диске
    #+ вы получаете высокую скорость работы с этими наборами, поскольку время доступа к ОЗУ
    #  неизмеримо меньше времени доступа к жесткому диску.


    E_NON_ROOT_USER=70  # Сценарий должен запускаться с правами root.
    ROOTUSER_NAME=root

    MOUNTPT=/mnt/ramdisk
    SIZE=2000  # 2K блоков (измените, если это необходимо)
    BLOCKSIZE=1024  # размер блока -- 1K (1024 байт)

    DEVICE=/dev/ram1  # Первое устройство ram


    username=`id -nu`
    if [ "$username" != "$ROOTUSER_NAME" ]
    then
      echo "Сценарий должен запускаться с правами root."
      exit $E_NON_ROOT_USER
    fi

    if [ ! -d "$MOUNTPT" ]  #  Проверка наличия точки монтирования,
     then  #+ благодаря этой проверке, при повторных запусках сценария
     mkdir $MOUNTPT  #+ ошибки возникать не будет.
    fi

    dd if=/dev/zero of=$DEVICE count=$SIZE bs=$BLOCKSIZE  # Очистить электронный диск.
    mke2fs $DEVICE  # Создать файловую систему ext2.
    mount $DEVICE $MOUNTPT  # Смонтировать.
    chmod 777 $MOUNTPT  # Сделать электронный диск доступным для обычных пользователей.
      # Но при этом, только root сможет его отмонтировать.

    echo "Электронный диск \"$MOUNTPT\" готов к работе."
    # Теперь электронный диск доступен для любого пользователя в системе.

    #  Внимание! Электронный диск -- это энергозависимое устройство! Все данные, хранящиеся на нем,
    #+ будут утеряны при остановке или перезагрузке системы.
    #  Если эти данные представляют для вас интерес, то сохраняйте их копии в обычном каталоге.

    # После перезагрузки, чтобы вновь создать электронный диск, запустите этот сценарий.
    # Простое монтирование /mnt/ramdisk, без выполнения подготовительных действий, не будет работать.

    exit 0
     
     
    parovoZZ и arkadyf нравится это.
  5. parovoZZ

    parovoZZ Нерд

    А как в одном слоте организовать две флешки?
    Из гига памяти 200 метров занято
    Код (Bash):
    free -o –h
                 total       used       free     shared    buffers     cached
    Mem:        994236     206800     787436       6704      46452     110720
    Swap:       102396          0     102396
     
    О, спасибо, мил человек. Теперь вопрос в другом - как из системных папок вынести запись в рам диск? Через символические ссылки?
     
  6. rkit

    rkit Гуру

    Через разветвитель
     
  7. parovoZZ

    parovoZZ Нерд

    И где такие водятся?
     
  8. rkit

    rkit Гуру

    в том же магазине, что и флешка
     
  9. parovoZZ

    parovoZZ Нерд

  10. rkit

    rkit Гуру

    Так и говорите, что sd, а не флешку.
     
  11. parovoZZ

    parovoZZ Нерд

    Так флеш - это организация памяти, но никак не интерфейс.
    Но если есть способ воткнуть ось на USB - это очень хорошо. Но пока такой способ не отыскался.
    Кста, что выдаёт fdisk
    Код (Bash):
     fdisk -l
    fdisk: cannot open /dev/ram0: Permission denied
    fdisk: cannot open /dev/ram1: Permission denied
    fdisk: cannot open /dev/ram2: Permission denied
    fdisk: cannot open /dev/ram3: Permission denied
    fdisk: cannot open /dev/ram4: Permission denied
    fdisk: cannot open /dev/ram5: Permission denied
    fdisk: cannot open /dev/ram6: Permission denied
    fdisk: cannot open /dev/ram7: Permission denied
    fdisk: cannot open /dev/ram8: Permission denied
    fdisk: cannot open /dev/ram9: Permission denied
    fdisk: cannot open /dev/ram10: Permission denied
    fdisk: cannot open /dev/ram11: Permission denied
    fdisk: cannot open /dev/ram12: Permission denied
    fdisk: cannot open /dev/ram13: Permission denied
    fdisk: cannot open /dev/ram14: Permission denied
    fdisk: cannot open /dev/ram15: Permission denied
     
    Для чего все эти диски?
     
  12. Igor68

    Igor68 Гик

    Только не забудьте отключить Swap... не то ваша флешка долго не проживёт.
     
  13. Igor68

    Igor68 Гик

    Кстати вот кое что про RAM:
    http://www.k-max.name/linux/ramdisk-ramfs-tmpfs-in-linux/
     
  14. parovoZZ

    parovoZZ Нерд

    Да, интересная статья. Терь надо покумекать, как системные логи вынести в рамдиск.
    HP выпускает память Flash Media Kit с ресурсом в 100 000 записей.
     
  15. Igor68

    Igor68 Гик

  16. Igor68

    Igor68 Гик

  17. parovoZZ

    parovoZZ Нерд

    Ссылок много, да все вокруг да около.((
    Rsyslog отвечает за все логи (включая стороннее ПО) или только за системные?
     
  18. Igor68

    Igor68 Гик

    Сотворите так, чтоб var был примонтирован в то место куда вам надо... допустим в ram диск(точнее ram-диск в var)... ну или перепилите rsyslog.

    ну как вариант
    mount --bind /mnt/ramdisk /var
    это конечно как пример
     
  19. parovoZZ

    parovoZZ Нерд

    Покуриваю тему с логами. Ротатирует логи logrotate по расписанию через cron. rsyslog под снос, ибо не ясно его назначение в присутствии systemd-journald. Последний, видимо, тоже надо как-то оттюнинговать на сбережение карты.
    Карта, кстати ожила. Проблема была в z-way.
     
  20. ANV

    ANV Оракул