LINUX.ORG.RU
ФорумAdmin

Не могу собрать linux raid-1 массив

 


0

1

После сбоя по питанию не могу собрать raid-1 массив из двух дисков. Создавался силами mdadm. Почему-то (дело рук предыдущих админов) создавался не поверх разделов на диске с таблицей разделов, а поверх всего устройства.

Какая есть информация:

О таблице разделов:

~$ sudo fdisk -l /dev/sdc
Disk /dev/sdc: 931,5 GiB, 1000203804160 bytes, 1953523055 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0009de39

~$ sudo fdisk -l /dev/sdd
Disk /dev/sdd: 931,5 GiB, 1000203804160 bytes, 1953523055 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0004e157

О состоянии отдельных дисков массива и метаданных mdadm --examine /dev/sd[cd]

~$ sudo mdadm --examine /dev/sd[cd]
/dev/sdc:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 21595198:ef852845:c85fa79e:eb6c6cc5
           Name : mail.a-v***a.com:1
  Creation Time : Wed Sep 18 16:13:31 2013
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
     Array Size : 976631360 (931.39 GiB 1000.07 GB)
  Used Dev Size : 1953262720 (931.39 GiB 1000.07 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=18446744073709549807 sectors
          State : clean
    Device UUID : 111eb325:97e691e3:f87ec1be:b69467a4
     Array UUID : 21595198:ef852845:c85fa79e:eb6c6cc5
           Name : mail.a-v***a.com:1
  Creation Time : Wed Sep 18 16:13:31 2013
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
     Array Size : 976631360 (931.39 GiB 1000.07 GB)
  Used Dev Size : 1953262720 (931.39 GiB 1000.07 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=18446744073709549807 sectors
          State : clean
    Device UUID : 111eb325:97e691e3:f87ec1be:b69467a4

    Update Time : Mon Feb 29 03:48:40 2016
       Checksum : d4af4ccd - correct
         Events : 1586


   Device Role : Active device 1
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdd:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 21595198:ef852845:c85fa79e:eb6c6cc5
           Name : mail.a-v***a.com:1
  Creation Time : Wed Sep 18 16:13:31 2013
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
     Array Size : 976631360 (931.39 GiB 1000.07 GB)
  Used Dev Size : 1953262720 (931.39 GiB 1000.07 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=18446744073709549807 sectors
          State : clean
    Device UUID : 2c096f32:e552934b:9e53901c:298b596e

    Update Time : Mon Feb 29 03:48:40 2016
       Checksum : 712d6f4d - correct
         Events : 1586


   Device Role : Active device 0
   Array State : AA ('A' == active, '.' == missing, 'R' == replacing)

О состоянии массива в целом:

~$ sudo mdadm --examine --scan --verbose
ARRAY /dev/md/1  level=raid1 metadata=1.2 num-devices=2 UUID=21595198:ef852845:c85fa79e:eb6c6cc5 name=mail.a-v***a.com:1
   devices=/dev/sdd,/dev/sdc

Пытаюсь собрать и запустить вручную:

~$ sudo mdadm --assemble --scan --verbose                
mdadm: looking for devices for /dev/md/1

mdadm: /dev/sdd is identified as a member of /dev/md/1, slot 0.
mdadm: /dev/sdc is identified as a member of /dev/md/1, slot 1.
mdadm: failed to add /dev/sdc to /dev/md/1: Invalid argument
mdadm: failed to add /dev/sdd to /dev/md/1: Invalid argument
mdadm: failed to RUN_ARRAY /dev/md/1: Invalid argument

При этом в dmesg получаю:

[13122.026593] md: sdc does not have a valid v1.2 superblock, not importing!
[13122.026596] md: md_import_device returned -22
[13122.026655] md: sdd does not have a valid v1.2 superblock, not importing!
[13122.026657] md: md_import_device returned -22
[13122.026676] md: md1 stopped.

И ничего не понимаю, ведь mdadm же видит суперблок и читает с него информацию. Чего же не хватает ядру?

Диски жили на CentOS 6. Пытался собрать и под родной системой, и под свежим SystemResqCD. Логи привиденные выше получил уже с десктопной убунты, куда приципил диски для дальнейших експерементов.


А если суперблоки очистить, а затем пересобрать массив заново?

Это ж простое зеркало, если что, всегда можно замонтировать через losetup любой из двух дисков и слить оттуда данные. Главное — указать явно формат суперблока 1.2.

olegkrutov ★★ ()
Ответ на: комментарий от futurama

mdadm --assemble --update summaries /dev/md0 /dev/sdc /dev/sdd

Не?

Не получилось:

~$ sudo mdadm --verbose --assemble --update summaries /dev/md0 /dev/sdc /dev/sdd
mdadm: looking for devices for /dev/md0
mdadm: --update=summaries not understood for 1.x metadata
aleax ()

Это ж простое зеркало, если что, всегда можно замонтировать через losetup любой из двух дисков и слить оттуда данные. Главное — указать явно формат суперблока 1.2.

Ну через losetup монтировал. и со смешениями тоже игрался, но смонтировать ext4 так и не получается.

EXT4-fs (loop0): VFS: Can't find ext4 filesystem

aleax ()
Ответ на: комментарий от aleax

Ну, так ведь и должно быть

Потому что по смещению 262144 сектора от начала диска у вас скорее всего начинается таблица разделов, а не сам раздел, — вам надо сделать, пожалуй, так: (допустим, диск — /dev/sdX)

sudo losetup -f -o $[ 512*262144 ] /dev/sdX
# теперь смотрим, что там, правда ли таблица разделов
sudo fdisk -l /dev/loop0
# посмотрели на смещение раздела (=offset), если там mbr, запомнили, этот loop удалили
sudo losetup -d /dev/loop0
# теперь создали loop с начала раздела
sudo losetup -f -o $[ 512*(offset+262144) ] /dev/sdX
sudo mount -o ro,loop /dev/loop0 

olegkrutov ★★ ()
Ответ на: Ну, так ведь и должно быть от olegkrutov

Таблицу разделов найти тоже не удается, увы:

sudo losetup -f -o $[ 512*262144 ] /dev/sdd
sudo fdisk -l /dev/loop0
Disk /dev/loop0: 931,4 GiB, 1000069586432 bytes, 1953260911 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

aleax ()

получил уже с десктопной убунты

Битность (32/64) убунты и CentOS6 совпадает? Вроде могут быть проблемы, если md-raid был собран под 64 бит, а потом «исследуется» под 32 бит, и в dmesg может быть совсем не те ошибки.

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.