[Legacy]Почему не монтируется Raid при загрузке накопителя?

В данной статье мы рассмотрим сценарий, когда RAID не монтируется, хотя ручное монтирование проходит без проблем.

Для накопителей с архитектурой ARM и старых устройств типа TS-x59 информация о RAID-массиве записывается в файл конфигурации /etc/config/raidtab. В этом файле можно найти следующую информацию:

<div><code>raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
persistent-superblock 1
device /dev/sda3
raid-disk 0
device /dev/sdb3
raid-disk 1
</code></div>

Если файл raidtab по какой-то причине поврежден, накопитель не сможет монтировать массив.

При загрузке сетевое хранилище использует команду storage_boot_init 2 для монтирования одиночных томов и массивов. Если raidtab отсутствует или поврежден, все диски будут считаться отдельными томами:

<p>[~] <span class="hljs-comment" style="color: inherit; font-size: inherit; text-wrap: wrap;"># storage_boot_init 2</span>
</p><div><code>storage_boot_init 2 ...
mdadm: No md superblock detected on /dev/sda3.
mdadm: No md superblock detected on /dev/sdb3.
storage_boot_init.c: Check filesystem on /dev/sda3.
storage_boot_init.c: Check filesystem on /dev/sdb3.
storage_boot_init.c: check_last_degrade_error...
</code></div>

Такая проблема также может возникнуть, если основной файл конфигурации uLinux (/mnt/HDA_ROOT/.config/uLinux.conf) поврежден. Для определения повреждений выполните команду:

<div><code><span class="hljs-built_in">head</span> /mnt/HDA_ROOT/.config/uLinux.conf
</code></div>

Если файл начинается не с раздела [System], это указывает на повреждение конфигурации.

Для восстановления конфигурации выполните следующие шаги:

<div><code><span class="hljs-built_in">cp</span> /etc/default_config/uLinux.conf /mnt/HDA_ROOT/.config/
setcfg -f /etc/config/uLinux.conf Misc configured TRUE
reboot
</code></div>

После перезагрузки накопителя массив должен успешно монтироваться.