mdadm RAID10 - 손상된 디스크 변경

mdadm RAID10 - 손상된 디스크 변경

오늘 밤 내 서버가 ssh, ping에 응답하지 않아서 서버실로 운전했습니다. 서버가 키보드에 응답하지 않았고(Ctrl-Alt-Del도) 화면에 데이터가 없었으므로(검은색이고 기호가 없음) 케이스의 버튼을 사용하여 서버를 다시 시작하기로 결정했습니다. 시스템 부팅을 여러 번 시도한 후(GRUB보다 많이 부팅되지 않고 검은색으로 변함) BIOS 설정을 열었고 어레이의 디스크 중 하나(소프트웨어 mdadm RAID10의 4개 디스크 중 하나)에 오류가 있는 것을 발견했습니다. 추락했다. BIOS에서는 다음과 같습니다.

SATA Port 1         INTEL SSDSC2CW060A3 (60.0GB)
SATA Port 2         ST1000DM003-1CH162 (1000.2GB)
SATA Port 3         ST1000DM003-1CH162 (1000.2GB)
SATA Port 4         Not Present
SATA Port 5         ST1000DM003-1CH162 (1000.2GB)

디스크 연결을 끊고 시스템을 부팅했지만 어레이가 없습니다. 이제 실패한 디스크 위치에 동일한 새 디스크가 설치되었습니다. 그러나 RAID 10은 (제가 생각했던 것처럼) 자동으로 재구축되지 않습니다. 시작할 때 나는 본다

The disk drive for UUID=a3462d0b-7261-48da-8e13-6de332e4de33 is not ready yet or not present
keys:Continue to wait, or Press S to skip mounting or M for manual recovery

The disk drive for /var/log is not ready yet or not present
keys:Continue to wait, or Press S to skip mounting or M for manual recovery

The disk drive for /mnt/vm is not ready yet or not present
keys:Continue to wait, or Press S to skip mounting or M for manual recovery 

/etc/mdadm/mdadm.conf

CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md/0 metadata=1.2 name=rockshock:0 UUID=02f2f445:de9ba929:f6a3e9da:249f8e42

/etc/fstab

UUID=6760d8f4-2816-4b54-8938-ab11b329705b /               ext4    noatime,errors=remount-ro 0       1
UUID=7593-A7EC  /boot/efi       vfat    defaults        0       1
UUID=a3462d0b-7261-48da-8e13-6de332e4de33   none    swap    sw  0   0

/dev/raid/logs  /var/log    ext4    noatime,noexec  0   2
/dev/raid/vm    /mnt/vm     ext4    noatime,noexec  0   2

다음은 제가 가지고 있는 일부 데이터입니다(더 제공해야 합니까?).

$ 고양이/proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : inactive sdb[3](S) sdd[0](S) sde[1](S)
   2929894536 blocks super 1.2

unused devices: <none>

$ 블록

/dev/sdb: UUID="02f2f445-de9b-a929-f6a3-e9da249f8e42" UUID_SUB="917412df-140c-dbc6-68ad-57e981cbcff9" LABEL="rockshock:0" TYPE="linux_raid_member" 
/dev/sdc1: UUID="7593-A7EC" TYPE="vfat" 
/dev/sdc2: UUID="6760d8f4-2816-4b54-8938-ab11b329705b" TYPE="ext4" 
/dev/sdd: UUID="02f2f445-de9b-a929-f6a3-e9da249f8e42" UUID_SUB="0904482c-1a9a-1174-6936-805c8a466493" LABEL="rockshock:0" TYPE="linux_raid_member" 
/dev/sde: UUID="02f2f445-de9b-a929-f6a3-e9da249f8e42" UUID_SUB="9badcfe0-f4a4-cd0c-baa8-3d4ebc46c56e" LABEL="rockshock:0" TYPE="linux_raid_member" 

$ sudo mdadm --detail /dev/md0

mdadm: md device /dev/md0 does not appear to be active.

$ sudo mdadm --check --scan -v

ARRAY /dev/md/0 level=raid10 metadata=1.2 num-devices=4 UUID=02f2f445:de9ba929:f6a3e9da:249f8e42 name=rockshock:0
   devices=/dev/sde,/dev/sdd,/dev/sdb

$ sudo mdadm --check /dev/sd[abde]

 /dev/sdb:
         Magic : a92b4efc
       Version : 1.2
   Feature Map : 0x0
    Array UUID : 02f2f445:de9ba929:f6a3e9da:249f8e42
          Name : rockshock:0  (local to host rockshock)
 Creation Time : Wed Jan  1 16:40:06 2014
    Raid Level : raid10
  Raid Devices : 4

Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
    Array Size : 1953262592 (1862.78 GiB 2000.14 GB)
 Used Dev Size : 1953262592 (931.39 GiB 1000.07 GB)
   Data Offset : 262144 sectors
  Super Offset : 8 sectors
         State : clean
   Device UUID : 917412df:140cdbc6:68ad57e9:81cbcff9

   Update Time : Sat Jul 25 04:18:34 2015
      Checksum : 1f73fe53 - correct
        Events : 727

        Layout : near=2
    Chunk Size : 512K

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

 /dev/sdd:
         Magic : a92b4efc
       Version : 1.2
   Feature Map : 0x0
    Array UUID : 02f2f445:de9ba929:f6a3e9da:249f8e42
          Name : rockshock:0  (local to host rockshock)
 Creation Time : Wed Jan  1 16:40:06 2014
    Raid Level : raid10
  Raid Devices : 4

Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
    Array Size : 1953262592 (1862.78 GiB 2000.14 GB)
 Used Dev Size : 1953262592 (931.39 GiB 1000.07 GB)
   Data Offset : 262144 sectors
  Super Offset : 8 sectors
         State : clean
   Device UUID : 0904482c:1a9a1174:6936805c:8a466493

   Update Time : Sat Jul 25 04:25:38 2015
      Checksum : 269e217e - correct
        Events : 731

        Layout : near=2
    Chunk Size : 512K

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

 /dev/sde:
         Magic : a92b4efc
       Version : 1.2
   Feature Map : 0x0
    Array UUID : 02f2f445:de9ba929:f6a3e9da:249f8e42
          Name : rockshock:0  (local to host rockshock)
 Creation Time : Wed Jan  1 16:40:06 2014
    Raid Level : raid10
  Raid Devices : 4

Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
    Array Size : 1953262592 (1862.78 GiB 2000.14 GB)

    Raid Level : raid10
  Raid Devices : 4

Avail Dev Size : 1953263024 (931.39 GiB 1000.07 GB)
    Array Size : 1953262592 (1862.78 GiB 2000.14 GB)
 Used Dev Size : 1953262592 (931.39 GiB 1000.07 GB)
   Data Offset : 262144 sectors
  Super Offset : 8 sectors
         State : clean
   Device UUID : 9badcfe0:f4a4cd0c:baa83d4e:bc46c56e

   Update Time : Sat Jul 25 04:25:38 2015
      Checksum : 4100486e - correct
        Events : 731

        Layout : near=2
    Chunk Size : 512K

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

$ sudo fdisk -l

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 / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/sdb: 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 / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00092197

   Device Boot      Start         End      Blocks   Id  System
Disk /dev/sdc: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders, total 117231408 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

  Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1   117231407    58615703+  ee  GPT

Disk /dev/sdd: 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 / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x0003765c

  Device Boot      Start         End      Blocks   Id  System

Disk /dev/sde: 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 / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000ca97d

  Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1   117231407    58615703+  ee  GPT

Disk /dev/sdd: 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 / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x0003765c

  Device Boot      Start         End      Blocks   Id  System

Disk /dev/sde: 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 / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000ca97d

  Device Boot      Start         End      Blocks   Id  System

그래서 저는 mdadm 경험이 있는 누군가에게 저를 올바른 방향으로 이끌기 위해 이 상황에서 어떻게 해야 하는지 물었습니다.

  1. 어떤 작업을 수행하기 전에 배열에서 데이터를 가져올 수 있나요? ()
  2. "mdadm --detail /dev/md0"은 어떤 이유로 md0이 활성화되지 않았음을 알려줍니까? 이것이 RAID10의 정상적인 동작입니까?
  3. 논리적 이름 대신 배열의 이전 디스크를 잊어버리도록 mdadm에 어떻게 지시합니까?
  4. 어레이에서 고장난 디스크를 교체하기 위해 새 디스크를 올바르게 추가하는 방법은 무엇입니까?

감사해요.

답변1

/dev/sdb:활동: 727

/dev/sdd:활동: 731

/dev/sde:활동: 731

두 개의 드라이브에 오류가 발생한 것 같습니다. /dev/sdb04:18:34 경에 일시적인 오류가 발생하여 어레이에서 제거되고, /dev/sdc04:25:38 경에 오류로 인해 전체 어레이가 정지됩니다. 의 이벤트 수가 /dev/sdb및 의 /dev/sdd이벤트 수 보다 적기 때문에 어레이 /dev/sdemdadm시작할 때 포함되지 않으며 나머지 두 디스크는 완전한 RAID 10 어레이를 구성하기에 충분하지 않습니다(아마도 서로 미러일 수 있음).

이것실패한 어레이를 복구하기 위한 Linux RAID wiki 절차RAID 5/6에서와 마찬가지로 RAID 10에서도 작동해야 합니다. 핵심 단계는 mdadm플래그를 사용하여 이벤트 수 불일치를 무시하도록 지시하는 것입니다 --force. 나머지 프로세스의 목적은 이렇게 하면 데이터가 복원되거나 삭제되는지 미리 알아내는 것입니다.

관련 정보