Всем нам знакомы и привычны аппаратные NAS, они используются дома и на работе для хранения самых различных данных. Но любое оборудование может выходить из строя, обычно неожиданно и перед администратором может встать задача копирования данных с дисков NAS. На первый взгляд в ней нет ничего сложного: в основе прошивки Linux, а значит берем любую Linux систему, подключаем, монтируем, сливаем... Однако не все так просто и для выполнения этой задачи могут потребоваться достаточно глубокие знания систем хранения Linux и навыков работы с ними.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Разбирать подобные ситуации лучше на примерах, тем более в нашем случае он как будто специально, достаточно показательный. На днях к нам обратился коллега с просьбой помочь достать информацию с диска, вышедшего из строя NAS Synology DS216. На наш вопрос в чем там проблема он уклончиво ответил, что как-то все сложно и он боится сделать что-нибудь не так и испортить данные.
Ну что же, давайте разбираться. Итак, перед нами следующие вводные: есть диск из двухдискового NAS, работавшего с зеркальным RAID-массивом, в качестве файловой системы использовалась ext4. Подключаем данный диск к нашей Linux-системе, в ее качестве мы использовали Ubuntu, но это не имеет особого значения, принципы работы с дисками везде одинаковы, и проверяем его наличие в системе командой:
lsblk
Из ее вывода нам удалось выяснить, что диск определяется в системе как sdb, а раздел с данными, судя по размеру, это sdb5. А давайте попробуем его примонтировать?
Но данная попытка не увенчается успехом. Почему? Ответ написан на экране: неизвестный тип файловой системы 'linux_raid_member'. Несмотря на то, что NAS аппаратный, RAID-массивы он использовал программные и перед нами классический раздел типа FD (Linux RAID autodetect). Для работы с ним потребуется установить mdadm:
apt install mdadm
На всякий случай, чтобы не напороть сгоряча, проверим что именно находится на данном разделе:
mdadm --examine /dev/sdb5
Да, перед нами действительно один из дисков зеркального (RAID-1) массива.
Теперь можем попробовать собрать массив командой:
mdadm --assemble --run /dev/md2 /dev/sdb5
Имя создаваемого массива можете выбрать на собственное усмотрение, в нашем случае md2.
Массив собрался, утираем трудовой пот и пытаемся его смонтировать, но снова что-то пошло не так...
Причины снова написаны белым по баклажановому: неизвестный тип файловой системы 'LVM2_member'. Это значит, что поверх программного RAID-массива развернут LVM. И вот здесь многие уже выбрасывают белый флаг. Дело в том, что mdadm - "зло" привычное, с ним так или иначе сталкивается любой Linux-администратор, а вот с LVM умеют работать далеко не все. Даже в комментариях вводных статей по LVM некоторые читатели высказывали мнение, что это только дополнительные заботы себе на пятую точку. Но жизнь ставит все на свои места.
Наше мнение: знать основы LVM и уметь работать с ним на базовом уровне должен любой уважающий себя администратор.
Прежде всего установим необходимые пакеты:
apt install lvm2
А теперь посмотрим, что же попало к нам в руки. Выполним команду:
pvscan
Ее вывод ясно показывает, что у нас имеется физический том (PV), который содержит группу томов (VG) vg1000.
И вот здесь нас поджидают первые сложности, которые вовсе и не сложности для тех. кто знает и умеет в LVM. Так как группа томов не была надлежащим образом экспортирована, то просто так подключить ее не получится. Перед этим надо обновить метаданные командой:
vgck --updatemetadata vg1000
После чего можно импортировать группу томов:
vgimport vg1000
И активировать их:
vgchange -a y vg1000
Теперь узнаем, какие логические тома (LV) содержит активированная группа томов (VG):
lvscan
В нашем случае логический том один - lv, смонтируем его:
mount /dev/vg1000/lv /mnt
В качестве точки монтирования мы выбрали стандартную директорию /mnt, но вы можете выбрать для этого любое место, главное условие - оно должно существовать на момент монтирования.
Если мы теперь перейдем в точку монтирования, то увидим в ней все содержимое нашего NAS и можем спокойно копировать данные. Сложно? Если обладать базовым набором знаний - нет, в противном случае это близко к какой-то магии, где путем ввода непонятных "заклинаний" мы получаем нужный результат.
После того, как вы скопировали нужные данные диск следует отключить, прежде всего отмонтируем логический том:
umount /mnt
Деактивируем группу томов:
vgchange -a n vg1000
И экспортируем ее:
vgexport vg1000
Затем отключим программный RAID:
mdadm -S /dev/md2
Теперь можно смело извлекать диск, особенно если он был подключен через USB, мы корректно выполнили отключение и это не принесет вреда ни диску, ни системе.
Как видим, никаких особых сложностей в подключении дисков из NAS нет, но для этого вы должны обладать базовыми знаниями и навыками по работе с mdamd и LVM.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии