[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_<span class="speller-hint" data-toggle="popover" data-hint="0" data-original-title="" title="">init</span> 2 для монтирования одиночных томов и массивов. Если raidtab отсутствует или поврежден, все диски будут считаться отдельными томами:

<<span class="speller-hint" data-toggle="popover" data-hint="1" data-original-title="" title="">p</span>>[~] <span class="hljs-comment" style="color: inherit; font-size: inherit; text-wrap: wrap;"># storage_boot_<span class="speller-hint" data-toggle="popover" data-hint="2" data-original-title="" title="">init</span> 2</span>
</<span class="speller-hint" data-toggle="popover" data-hint="3" data-original-title="" title="">p</span>><div><code>storage_boot_<span class="speller-hint" data-toggle="popover" data-hint="4" data-original-title="" title="">init</span> 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/<span class="speller-hint" data-toggle="popover" data-hint="6" data-original-title="" title="">uLinux</span>.conf) поврежден. Для определения повреждений выполните команду:

<<span class="speller-hint" data-toggle="popover" data-hint="7" data-original-title="" title="">div</span>><code><span class="<span class="speller-hint" data-toggle="popover" data-hint="8" data-original-title="" title="">hljs</span>-built_in">head</span> /mnt/HDA_ROOT/.config/<span class="speller-hint" data-toggle="popover" data-hint="9" data-original-title="" title="">uLinux</span>.conf
</code></div>

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

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

<<span class="speller-hint" data-toggle="popover" data-hint="10" data-original-title="" title="">div</span>><code><span class="hljs-built_in">cp</span> /etc/default_config/<span class="speller-hint" data-toggle="popover" data-hint="11" data-original-title="" title="">uLinux</span>.conf /mnt/HDA_ROOT/.config/
setcfg -f /etc/config/<span class="speller-hint" data-toggle="popover" data-hint="12" data-original-title="" title="">uLinux</span>.conf <span class="speller-hint" data-toggle="popover" data-hint="13" data-original-title="" title="">Misc</span> configured TRUE
reboot
</code></div>

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