LINUX.ORG.RU

RAID1

 , ,


0

2

Есть два диска, которые были объединены в RAID1

/dev/sdc
/dev/sdd
Заметил в dmesg ругается на ошибки /dev/sdc
Далее смотрю, что /dev/sdd стал в spare режим, а /dev/sdc active sync
Но, я точно знаю, что sdc надо лечить. Хотелось бы проверить на ошибки оба диска, чтобы выяснить какой из них все же плохой.
Как мне поменять местами диски в рейде, из spare режима перейти в active, а /dev/sdc удалить из массива? Сейчас это выглядит так:
mdadm --detail /dev/md9
/dev/md9:
           Version : 1.2
     Creation Time : Wed Aug  5 13:45:26 2015
        Raid Level : raid1
        Array Size : 3172883264 (3025.90 GiB 3249.03 GB)
     Used Dev Size : 3172883264 (3025.90 GiB 3249.03 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Thu Feb 27 11:09:09 2020
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : srv:9
              UUID : 6dab52c0:f1934182:2fd9cd90:49b3b268
            Events : 107431

    Number   Major   Minor   RaidDevice State
       1       8       34        0      active sync   /dev/sdc2
       -       0        0        1      removed
Пытаюсь проверить
e2fsck /dev/sdd2
e2fsck 1.45.3 (14-Jul-2019)
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block при попытке открыть /dev/sdd2

The superблок could not be read or does not describe a valid ext2/ext3/ext4
ФС.  If the устройство is valid and it really contains an ext2/ext3/ext4
ФС (and not swap or ufs or something else), then the superблок
is corrupt, and you might try running e2fsck with an alternate superблок:
    e2fsck -b 8193 <устройство>
 or
    e2fsck -b 32768 <устройство>

/dev/sdd2 contains a linux_raid_member file system labelled 'srv:9'
Да но, говорится что он содержит файловую систему linux_raid_member
Тут я мог бы перевести теоретически его в ext4 с помощью fdisk
Надо бы обратно добавить диск в массив
mdadm --assemble /dev/sdd2
mdadm: device /dev/sdd2 exists but is not an md array.
mdadm /dev/md9 --add /dev/sdd2
mdadm: added /dev/sdd2
cat /proc/mdstat 
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md9 : active raid1 sdd2[2] sdc2[1]
      3172883264 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  0.0% (50368/3172883264) finish=26238.7min speed=2014K/sec
      bitmap: 24/24 pages [96KB], 65536KB chunk

unused devices: <none>
Пошла синхронизация, но время синхронизации постоянно увеличивается и в dmesg сыпятся ошибки
[Чт фев 27 11:50:38 2020] blk_update_request: I/O error, dev sdc, sector 1468552008 op 0x0:(READ) flags 0x800 phys_seg 1 prio class 0
[Чт фев 27 11:50:38 2020] ata5: EH complete
[Чт фев 27 11:50:38 2020] md/raid1:md9: sdc: unrecoverable I/O read error for block 281416
[Чт фев 27 11:50:38 2020] md: md9: recovery interrupted.
Останавливаю синхронизацию
echo "idle" >  /sys/block/md9/md/sync_action
cat /proc/mdstat 
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md9 : active raid1 sdd2[2](S) sdc2[1]
      3172883264 blocks super 1.2 [2/1] [U_]
      bitmap: 24/24 pages [96KB], 65536KB chunk

unused devices: <none>

mdadm --detail /dev/md9
/dev/md9:
           Version : 1.2
     Creation Time : Wed Aug  5 13:45:26 2015
        Raid Level : raid1
        Array Size : 3172883264 (3025.90 GiB 3249.03 GB)
     Used Dev Size : 3172883264 (3025.90 GiB 3249.03 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Thu Feb 27 11:53:24 2020
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : bitmap

              Name : rksx:9
              UUID : 6dab52c0:f1934182:2fd9cd90:49b3b268
            Events : 107455

    Number   Major   Minor   RaidDevice State
       1       8       34        0      active sync   /dev/sdc2
       -       0        0        1      removed

       2       8       50        -      spare   /dev/sdd2
Как мне поменять местами диски в рейде, из spare режима перейти в active, а /dev/sdc удалить из массива?


Ответ на: комментарий от Deleted

Диск /dev/sdd2 и выпал сам по себе, а руганть на /dev/sdc2 в dmesg
Но, чисто теоретически можно развалить рейд так:

mdadm --examine /dev/sdd2
/dev/sdd2:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x9
     Array UUID : 6dab52c0:f1934182:2fd9cd90:49b3b268
           Name : srv:9
  Creation Time : Wed Aug  5 13:45:26 2015
     Raid Level : raid1
   Raid Devices : 2

 Avail Dev Size : 6345766543 (3025.90 GiB 3249.03 GB)
     Array Size : 3172883264 (3025.90 GiB 3249.03 GB)
  Used Dev Size : 6345766528 (3025.90 GiB 3249.03 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=15 sectors
          State : clean
    Device UUID : cb40128f:5dbf12c6:f8091186:613bd32d

Internal Bitmap : 8 sectors from superblock
    Update Time : Thu Feb 27 11:53:24 2020
  Bad Block Log : 512 entries available at offset 24 sectors - bad blocks present.
       Checksum : f5e8356 - correct
         Events : 107455


   Device Role : spare
   Array State : A. ('A' == active, '.' == missing, 'R' == replacing)

fdisk -l /dev/sdd
Диск /dev/sdd: 3,65 TiB, 4000787030016 байт, 7814037168 секторов
Disk model: ST4000DM000-1F21
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
Тип метки диска: gpt
Идентификатор диска: 61666D4E-A623-4A8C-B1D4-E0E36C6BB92E

Устр-во        начало      Конец    Секторы Размер Тип
/dev/sdd1        2048 1468008447 1468006400   700G Linux RAID
/dev/sdd2  1468008448 7814037134 6346028687     3T Linux RAID
смотрим Data Offset : 262144 sectors и далее переразметить диск fdisk'ом со сдвигом 1468008448 + 262144 = 1468270592 и оставив файловую систему ext4

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

это я понял сразу что надо менять оба диска.
но почему оба, неужели ошибка в самом контроллере диска, можно купить такой же контроллер как вариант и попробовать заменить
Причем при проверке диска fsck.ext4 если развалить raid, он находит ошибки и пытается их исправить, но внезапно отключает диск из системы, далее помогает только выключение, перезагрузка не помогает.

yaxon ()
Последнее исправление: yaxon (всего исправлений: 1)
Ответ на: комментарий от yaxon

Больше не трогай эти диски fsck. Тут либо все из бекапа восстанавливать, либо диски аккуратно нести в контору по восстановлению данных, либо самому с ddrescue вытягивать.

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

И все же интересует порядок действий смена дисков местами, а именно из spare в active.
Пробывал расширить массив до трех дисков (--grow), а массив по идее должен сам понять и сделать его активным.
При этом все равно диск перемещается в статус spare
Да еще есть вариант контроллер купить и заменить, но я думаю это ничего не даст, там вероятно всего с механикой перемещения головок проблемы, но и головку можно купить.
Seagate конечно представляет услуги по восстановлению в лабораториях.

yaxon ()
Последнее исправление: yaxon (всего исправлений: 1)
Ответ на: комментарий от yaxon

Головку купить? Для НЖМД в 2020? Может в 80х годах так и делалось, но сегодня диск - это цельное устройство блины+механика+головы+контроллер подогнанные друг к другу и откалиброванные, и пересборке диск иначе как специалистом в лаборатории в чистой комнате не подлежит.

Если данные с дисков нужны - то либо ddrescue либо в контору восстановления. Пока массив ты не начал пересобирать шансы вернуть все данные при помощи ddrescue с двух дисков были довольно высоки, но я вижу как они тают с каждым твоим постом в этой теме. А ценник восстановления в лабе растёт.

legolegs ★★★★★ ()
Последнее исправление: legolegs (всего исправлений: 1)