Автор Тема: Перенос данных с RAID1 из D-link DNS-323 в Linux  (Прочитано 2449 раз)

Оффлайн ShellDone

  • Участник
  • *
  • Сообщений: 13
Возник вопрос с переносом данных из старенького файлового хранилища D-link DNS-323 на новенький сервер под Linux.

Сначала пробовал перенести файлы через smbclient и gui, но хранилище забито под завязку и падает в обморок после нескольких часов копирования.
Рассматривал вариант написать скрипт на Perl и заюзать модуль для переноса, но геморно и не факт, что получится. В общем решил грубо переткнуть харды, но тут возникла проблема.

После переноса диски определились и parted (fdisk в моём дистрибутиве не предусмотрен) выдаёт такую картину:

Disk /dev/sdd: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32,3kB 543MB 543MB primary linux-swap(v1)
4 543MB 1069MB 526MB primary ext2
2 1069MB 499GB 498GB primary ext2
3 499GB 500GB 814MB primary ext2

первый диск, и второй:

Disk /dev/sde: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown

Пробовал через dmraid различные ухищрения, но получить какой-либо полезной информации так и не удалось.

Вот что смог получить с помощью mdadm:

[root@fortress ~]# mdadm -Q /dev/sdd /dev/sde
/dev/sdd: is not an md array
/dev/sdd: device 0 in 0 device unknown raid0 array. Use mdadm --examine for more detail.
/dev/sde: is not an md array

[root@fortress ~]# mdadm -E /dev/sdd /dev/sde
/dev/sdd:
MBR Magic : aa55
Partition[0] : 1060227 sectors at 63 (type 82)
Partition[1] : 973089180 sectors at 2088450 (type 83)
Partition[2] : 1590435 sectors at 975177630 (type 83)
Partition[3] : 1028160 sectors at 1060290 (type 83)
mdadm: No md superblock detected on /dev/sde.


Собрать с его помощью массив можно даже не надеяться.

Насколько я понимаю, метадата дисков имеет нестандартный формат, который mdadm и dmraid не распознают. Я слышал, что можно вытащить из такого массива данные без сборки (т. е. на каждом диске, по идее должно быть по полноценной копии).
Пробовал примонтировать раздел 2 первого диска и получил вот это:

mount: unknown filesystem type 'linux_raid_member'

В этой статье описывается, что метаданные RAID1 можно без проблем удалять и восстанавливать, а если их удалить, то разделы монтируются просто как ext2.
http://www.aleksandr.rublog/perenos_programmnogo_raid_v_ubuntu_linux.html

Боязливо конечно проделывать всё это без гарантий, поэтому спрашиваю так ли это и как оно должно выглядеть в моём случае?
И вообще, может кто-нибудь подскажет хороший источник теоретии про метадату (что происходит с данными, если она удаляется и накатывается заново)?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
fdisk в моём дистрибутиве не предусмотрен)
Это-же не проблема - берёшь и доставляешь.
По сути - тут есть

Собрать raid1 с одним диском
Иногда при миграции на raid1 бывает нужно.
 mdadm -C --level=1 -e0.9 --raid-devices=2 /dev/sdb1 missing

Внимание: Если массив будет содержать файловые системы / или /boot то версия метаданных должна быть 0.9.
[править] Потом добавим второй
 mdadm /dev/md0 --add /dev/sda

PS У меня уже привычка - искать ответ вначале на Wiki, прежде чем гуглить по интернету ;)

Оффлайн ShellDone

  • Участник
  • *
  • Сообщений: 13
Кажется понимаю куда вы клоните.
После своих экспериментов я обнаружил вот это сообщения:

Current RIAD type:
              Volume_1: RAID 1 (Degraided);
              Volume_2: JBOD;


Судя по всему это было уже давно. Я запустил синхронизацию. Сначала выдавалось сообщение,
что синхронизация закончится через 90 минут, по прошествии которых начали выдаваться
совсем страшные цифры (что-то около 3000 минут). После чего всё благополучно зависло и было
перезагружена.

Картина после синхронизации:


Current RIAD type:
              Volume_1: standart
              Volume_2: standart


При этом на двух дисках разные версии файлов (на первом документы превратились в абракадабру, а на втором сохранились нормально).
Единственный вариант, который я могу предположить, как оно работает - так это то, что оба винта работают обособленно.

Будем смотреть дальше...

Оффлайн ShellDone

  • Участник
  • *
  • Сообщений: 13
Продолжаем свои эксперименты и вот к чему мы пришли:

Один винт отдал концы, отнёс его в СЦ и там обещали восстановить инфу. Второй
получилось запустить как RAID-массив, информация которого выдаёт, что
он является spare, а всего диска 2 и один, на котором инфа сейчас removed.

Пробовал пересобирать RAID, как посоветовали, не вышло. На диске, который spare
отображается таблица разделов, она вот такая:

Number Start End Size Type File system Flags
1 32,3kB 543MB 543MB primary linux-swap(v1)
4 543MB 1069MB 526MB primary ext2
2 1069MB 499GB 498GB primary ext2
3 499GB 500GB 814MB primary ext2

Но почему он spare то? Как вообще работает spare? Он стоит
запасным и на него ничего не вносится вплоть до момента, когда выйдет из строя
один из основных дисков и вся избыточность будет перенесена на spare или он синхронизируется
сразу?

Странная вышла ситуация - сначала диски были RAID-1, потом они стали как-бы сами по себе,
а теперь получается, что это RAID-1, только с одним основным диском и одним SPARE.

Читаю матчасть, пока не найду ответов или подсказок. Сейчас в моём распоряжении есть
полный образ этого spare диска и образ его второго раздела с, как я предполагаю данными.
Буду на нём ставить эксперименты, монтируя через loop.
« Последнее редактирование: 16.10.2013 11:11:06 от Skull »