2

Мне нужна помощь с моим raid5 после того, как он сломался через плохие сектора. Ранее я мог собрать его с

# mdadm --assemble --force -v /dev/md0 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1

но во время резервного копирования он снова потерпел крах, и теперь я больше не могу его собрать, потому что два диска устарели:

# mdadm --assemble --force -v /dev/md0 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1 /dev/sdi1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sde1 is identified as a member of /dev/md0, slot -1.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdg1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdh1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdi1 is identified as a member of /dev/md0, slot 3.
mdadm: added /dev/sdg1 to /dev/md0 as 1
mdadm: added /dev/sdh1 to /dev/md0 as 2 (possibly out of date)
mdadm: added /dev/sdi1 to /dev/md0 as 3 (possibly out of date)
mdadm: failed to add /dev/sde1 to /dev/md0: Device or resource busy
mdadm: added /dev/sdf1 to /dev/md0 as 0
mdadm: /dev/md0 assembled from 2 drives - not enough to start the array.

Как вы можете видеть, только два устройства sdf1 и sdg1 установили самое последнее время обновления (+ запасное, но оно еще не завершено).

 mdadm --examine /dev/sd[efghi]1 | egrep 'dev|Update|Role|State|Chunk Size'
/dev/sde1:
          State : clean
    Update Time : Sun May 10 04:15:59 2015
     Chunk Size : 512K
   Device Role : spare
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdf1:
          State : clean
    Update Time : Sun May 10 04:15:59 2015
     Chunk Size : 512K
   Device Role : Active device 0
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdg1:
          State : clean
    Update Time : Sun May 10 04:15:59 2015
     Chunk Size : 512K
   Device Role : Active device 1
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdh1:
          State : clean
    Update Time : Sat May  9 23:10:06 2015
     Chunk Size : 512K
   Device Role : Active device 2
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

/dev/sdi1:
          State : active
    Update Time : Sat Dec  7 12:43:00 2013
     Chunk Size : 512K
   Device Role : Active device 3
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)

Я не изменил никаких данных на рейде с момента обновления с двух других устройств sdh1 и sdi1. Мне не нужно повторно синхронизировать все данные, мне просто нужно сделать резервную копию последних файлов, поэтому мне просто нужно смонтировать их в последний раз только для чтения.

Есть какой-либо способ сделать это? Может быть, я могу заставить его игнорировать устаревшее? Мне интересно, почему - сила больше не работает ...

Полная информация для устройств raid5:

# mdadm --examine /dev/sd[efghi]1
/dev/sde1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : 624d3873:7970ba27:da0f511a:45367bdd

    Update Time : Sun May 10 04:15:59 2015
       Checksum : 599a5235 - correct
         Events : 108804

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : spare
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdf1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : 4827a499:12980366:0de13b87:541a9b5e

    Update Time : Sun May 10 04:15:59 2015
       Checksum : ac5a08f2 - correct
         Events : 108804

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdg1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : 8c959d62:3b9c1eac:6f8d7d92:13454ab4

    Update Time : Sun May 10 04:15:59 2015
       Checksum : 1c5f5282 - correct
         Events : 108804

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdh1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : clean
    Device UUID : df6b9eab:ea3c6e3a:47858e6d:1eb0783d

    Update Time : Sat May  9 23:10:06 2015
       Checksum : 57f1e4b2 - correct
         Events : 108796

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
/dev/sdi1:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : a87dfb70:2ecd03f9:ee62b434:fc637218
           Name : m08002-lin:data2gb
  Creation Time : Mon Sep  2 12:48:02 2013
     Raid Level : raid5
   Raid Devices : 4

 Avail Dev Size : 3906764800 (1862.89 GiB 2000.26 GB)
     Array Size : 5860145664 (5588.67 GiB 6000.79 GB)
  Used Dev Size : 3906763776 (1862.89 GiB 2000.26 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
   Unused Space : before=262064 sectors, after=1024 sectors
          State : active
    Device UUID : fbc64ec7:a97a36c1:69cc3812:37878af1

    Update Time : Sat Dec  7 12:43:00 2013
       Checksum : 507acca4 - correct
         Events : 83904

         Layout : left-symmetric
     Chunk Size : 512K

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

1 ответ1

2

Я мог получить доступ к моему рейду и сделать резервную копию моих файлов!

Сначала я удалил запасное устройство. Затем я проверил другие устройства. Было два устройства с плохими секторами, и я знал, что рейд снова потерпит крах при повторной синхронизации, когда он захочет прочитать или записать в поврежденные сектора. Поэтому я решил очистить рейд и создать новый деградированный рейд, который не синхронизируется и по-прежнему имеет доступ ко всем предыдущим данным. Я очистил все суперблоки и создал рейд, оставив одно поврежденное устройство с

mdadm --stop /dev/md127 (or /dev/md0)
mdadm --zero-superblock /dev/sd[efgh]1
mdadm --create /dev/md127 --level=5 --raid-devices=4 --assume-clean /dev/sde1 /dev/sdf1 /dev/sdg1 missing

Важным является исходный порядок устройств для исходного рейда и для создания нового рейда в том же порядке, а также для использования параметра --assume-clean ! Вы можете получить оригинальный заказ с

mdadm --examine /dev/sd[efghi]1

Посмотрите на роль устройства.

После воссоздания рейда с использованием предположения-clean я смог смонтировать md127 и получить доступ ко всем данным напрямую, ничего не делая.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .