Система Raspbian продолжает переименовывать разделы

У меня Raspberry Pi под управлением Raspbian Jessie Lite (безголовая версия), и я уже некоторое время использую его как дамп файла и git-сервер. Я подключил к нему внешний жесткий диск USB, чтобы использовать его, но, похоже, с ним возникли некоторые проблемы.

По-видимому, нет никаких причин, система переименовывает мой диск из /dev/sda1 в /dev/sdb1 в /dev/sdc1 и так каждые несколько дней. Это приводит к тому, что серверам git и SFTP не удается найти файлы в каталоге, к которому этот диск должен быть подключен.

После запуска fdisk -lЯ вижу, что диск был переименован.

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1  *     2048 3907029166 3907027119  1.8T  7 HPFS/NTFS/exFAT

Тем не мение, df все еще имеет старое имя диска.

Filesystem      1K-blocks    Used  Available Use% Mounted on
/dev/sda1      1831250820   10976 1733547784   1% /media/USBHDD1

При попытке доступа /media/USBHDD1 после этого изменения:

# ls /media/USBHDD1/
ls: reading directory /media/USBHDD1/: Input/output error

Я модифицировал /etc/fstab использовать UUID диска, так работает mount -a временно решает проблему, и Pi больше не входит в панику ядра при загрузке. Это, однако, раздражает. Работа останавливается, пока я не могу подключиться к SSH и исправлять его каждые несколько дней, и это стало неприемлемым.

Что вызвало бы переименование, и как я могу его остановить или получить df помнить UUID, а не тот ярлык?

1 ответ

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

Есть два различных способа борьбы с этим, вы можете попробовать их по очереди:

  1. Возьмите под контроль энергосбережение с помощью hdparm: из всегда полезной вики Arch Linux вы проверяете текущие значения параметров энергосбережения с

    hdparm -B /dev/sda
    hdparm -S /dev/sda
    

    где

    -B Установить функцию расширенного управления питанием. Возможные значения находятся в диапазоне от 1 до 255, низкие значения означают более агрессивное управление питанием, а более высокие значения означают лучшую производительность. Значения от 1 до 127 допускают замедление, а значения от 128 до 254 - нет. Значение 255 полностью отключает эту функцию.

    -S Установить время ожидания (spindown) для накопителя. Тайм-аут указывает, как долго ждать в режиме ожидания (без активности диска) перед выключением двигателя для экономии энергии. Значение 0 отключает вращение, значения от 1 до 240 указывают кратные 5 секунд, а значения от 241 до 251 указывают кратные 30 минут.

    Затем вы указываете, если это необходимо

    hdparm -B 255 /dev/sda
    hdparm -S 0   /dev/sda
    

    и посмотрим, возникнет ли та же проблема.

  2. Вторая возможность - написать udev править силой udev назначать всегда одну и ту же букву вашему диску: добавьте в файл следующее правило /etc/udev/rules.d/10-local.rules (если у вас нет файла, создайте его)

    ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="sda"
    

    (коды поставщиков и продуктов относятся к моей флешке, вам придется подставлять свои собственные значения, которые вы получаете с lsusb).

    Затем вы можете проверить, что это работает с помощью

    udevadm info -a -p  $(udevadm info -q path -n /dev/sda)
    
Другие вопросы по тегам