Записки IT специалиста
Подключаем диск из NAS в Linux, или монтирование RAID и LVM разделов
Всем нам знакомы и привычны аппаратные NAS, они используются дома и на работе для хранения самых различных данных. Но любое оборудование может выходить из строя, обычно неожиданно и перед администратором может встать задача копирования данных с дисков NAS. На первый взгляд в ней нет ничего сложного: в основе прошивки Linux, а значит берем любую Linux систему, подключаем, монтируем, сливаем. Однако не все так просто и для выполнения этой задачи могут потребоваться достаточно глубокие знания систем хранения Linux и навыков работы с ними.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Разбирать подобные ситуации лучше на примерах, тем более в нашем случае он как будто специально, достаточно показательный. На днях к нам обратился коллега с просьбой помочь достать информацию с диска, вышедшего из строя NAS Synology DS216. На наш вопрос в чем там проблема он уклончиво ответил, что как-то все сложно и он боится сделать что-нибудь не так и испортить данные.
Ну что же, давайте разбираться. Итак, перед нами следующие вводные: есть диск из двухдискового NAS, работавшего с зеркальным RAID-массивом, в качестве файловой системы использовалась ext4. Подключаем данный диск к нашей Linux-системе, в ее качестве мы использовали Ubuntu, но это не имеет особого значения, принципы работы с дисками везде одинаковы, и проверяем его наличие в системе командой:
Из ее вывода нам удалось выяснить, что диск определяется в системе как sdb, а раздел с данными, судя по размеру, это sdb5. А давайте попробуем его примонтировать?
Но данная попытка не увенчается успехом. Почему? Ответ написан на экране: неизвестный тип файловой системы ‘linux_raid_member’. Несмотря на то, что NAS аппаратный, RAID-массивы он использовал программные и перед нами классический раздел типа FD (Linux RAID autodetect). Для работы с ним потребуется установить mdadm:
На всякий случай, чтобы не напороть сгоряча, проверим что именно находится на данном разделе:
Да, перед нами действительно один из дисков зеркального (RAID-1) массива.
Теперь можем попробовать собрать массив командой:
mdadm --assemble --run /dev/md2 /dev/sdb5
Имя создаваемого массива можете выбрать на собственное усмотрение, в нашем случае md2.
Массив собрался, утираем трудовой пот и пытаемся его смонтировать, но снова что-то пошло не так.
Причины снова написаны белым по баклажановому: неизвестный тип файловой системы ‘LVM2_member’. Это значит, что поверх программного RAID-массива развернут LVM. И вот здесь многие уже выбрасывают белый флаг. Дело в том, что mdadm — «зло» привычное, с ним так или иначе сталкивается любой Linux-администратор, а вот с LVM умеют работать далеко не все. Даже в комментариях вводных статей по LVM некоторые читатели высказывали мнение, что это только дополнительные заботы себе на пятую точку. Но жизнь ставит все на свои места.
Наше мнение: знать основы LVM и уметь работать с ним на базовом уровне должен любой уважающий себя администратор.
Прежде всего установим необходимые пакеты:
А теперь посмотрим, что же попало к нам в руки. Выполним команду:
Ее вывод ясно показывает, что у нас имеется физический том (PV), который содержит группу томов (VG) vg1000.
И вот здесь нас поджидают первые сложности, которые вовсе и не сложности для тех. кто знает и умеет в LVM. Так как группа томов не была надлежащим образом экспортирована, то просто так подключить ее не получится. Перед этим надо обновить метаданные командой:
vgck --updatemetadata vg1000
После чего можно импортировать группу томов:
Теперь узнаем, какие логические тома (LV) содержит активированная группа томов (VG):
В нашем случае логический том один — lv, смонтируем его:
В качестве точки монтирования мы выбрали стандартную директорию /mnt, но вы можете выбрать для этого любое место, главное условие — оно должно существовать на момент монтирования.
Если мы теперь перейдем в точку монтирования, то увидим в ней все содержимое нашего NAS и можем спокойно копировать данные. Сложно? Если обладать базовым набором знаний — нет, в противном случае это близко к какой-то магии, где путем ввода непонятных «заклинаний» мы получаем нужный результат.
После того, как вы скопировали нужные данные диск следует отключить, прежде всего отмонтируем логический том:
Деактивируем группу томов:
Затем отключим программный RAID:
Теперь можно смело извлекать диск, особенно если он был подключен через USB, мы корректно выполнили отключение и это не принесет вреда ни диску, ни системе.
Как видим, никаких особых сложностей в подключении дисков из NAS нет, но для этого вы должны обладать базовыми знаниями и навыками по работе с mdamd и LVM.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
How to mount software RAID1 member using mdadm
Just a moment ago I connected my old hard drive and realized that it was a RAID member.
$ sudo fdisk -l /dev/sdd Disk /dev/sdd: 250.1 GB, 250058268160 bytes 255 heads, 63 sectors/track, 30401 cylinders, total 488395055 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x90909090 Device Boot Start End Blocks Id System /dev/sdd1 * 2048 2099199 1048576 fd Linux raid autodetect /dev/sdd2 2099200 6293503 2097152 82 Linux swap / Solaris /dev/sdd3 6293504 69208063 31457280 fd Linux raid autodetect /dev/sdd4 69208064 488394751 209593344 fd Linux raid autodetect
I couldn’t mount it out of the box:
$ sudo mkdir /mnt/old_hdd $ sudo mount /dev/sdd4 /mnt/old_hdd mount: unknown filesystem type 'linux_raid_member'
Fortunately, I used RAID1 array:
$ sudo mdadm --examine /dev/sdd4 /dev/sdd4: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 957e7cb5:bfd41f70:9cb84b0d:f53e5a4c Name : milosz-desktop:2 Creation Time : Sat Aug 20 18:48:26 2011 Raid Level : raid1 Raid Devices : 2 Avail Dev Size : 419184640 (199.88 GiB 214.62 GB) Array Size : 419184496 (199.88 GiB 214.62 GB) Used Dev Size : 419184496 (199.88 GiB 214.62 GB) Data Offset : 2048 sectors Super Offset : 8 sectors State : clean Device UUID : db8a694f:750a0ded:22a6d046:5c4db280 Update Time : Tue May 8 20:50:32 2012 Checksum : 75dbc3b6 - correct Events : 191 Device Role : Active device 1 Array State : .A ('A' == active, '.' == missing)
I needed to create md virtual device using mdadm:
$ sudo mdadm -A -R /dev/md9 /dev/sdd4 mdadm: /dev/md9 has been started with 1 drive (out of 2).
So it could be mounted without hassle:
$ sudo mount /dev/md9 /mnt/old_hdd/ $ mount | grep ^/dev/md9 /dev/md9 on /mnt/old_hdd type ext4 (rw)
After data was moved I unmounted the file system and removed md virtual device.
$ sudo umount /mnt/old_hdd $ sudo mdadm -S /dev/md9 mdadm: stopped /dev/md9
Follow me on Mastodon , check out source code ad GitHub
How do i mount a Raid disk in linux
I have an ubuntu server that i had to restart on rescue mode and i am trying to mount a partition to reset the root password. I followed the instruction of the hosting company but got stuck and haven heard from them When i try to do
mount: unknown filesystem type 'linux_raid_member'
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0009307f Device Boot Start End Blocks Id System /dev/sda1 * 2048 20973568 10485760+ fd Linux raid autodetect /dev/sda2 20973569 1952468992 965747712 fd Linux raid autodetect /dev/sda3 1952468993 1953520064 525536 82 Linux swap / Solaris Disk /dev/md2: 988.9 GB, 988925591552 bytes 2 heads, 4 sectors/track, 241436912 cylinders, total 1931495296 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/md2 doesn't contain a valid partition table Disk /dev/md1: 10.7 GB, 10737352704 bytes 2 heads, 4 sectors/track, 2621424 cylinders, total 20971392 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/md1 doesn't contain a valid partition table