업그레이드 후 RAID를 마운트할 수 없습니다.

업그레이드 후 RAID를 마운트할 수 없습니다.

방금 박스를 14.04로 업그레이드했는데 부팅 시 RAID 장치를 자동으로 마운트할 수 없다는 메시지가 표시되어 건너뛰고 부팅 후에 처리하기로 결정했습니다. 이제 부팅하면 A mount -a가 다음을 제공합니다.

$ sudo mount -a
[sudo] password for reg: 
mount: wrong fs type, bad option, bad superblock on /dev/md0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

mount: wrong fs type, bad option, bad superblock on /dev/md1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

$

내 mdadm.conf는 다음과 같습니다.

$ cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# next line added by reg 09/01/2009
ARRAY /dev/md0 devices=/dev/sdb6,/dev/sdc6
ARRAY /dev/md1 devices=/dev/sdb7,/dev/sdc7
#ARRAY /dev/md2 devices=/dev/sdb8,/dev/sdc8

# definitions of existing MD arrays

# This file was auto-generated on Tue, 08 May 2012 18:26:22 -0700
# by mkconf $Id$
$

내 모든 드라이브가 제대로 표시되고 공정한지 확인하기 위해 gparted를 빠르게 실행했는데, 내 파티션 6과 7이 드라이브 sdb 및 sdc에서 제대로 표시되었는지 확인했습니다. 또한 mdadm이 제대로 실행되는 것 같습니다.

$ ps ax | grep mdadm
 1945 ?        Ss     0:00 /sbin/mdadm --monitor --pid-file /run/mdadm/monitor.pid --daemonise --scan --syslog
 7869 pts/8    S+     0:00 grep --color=auto mdadm
$

여기서 나에게 무슨 문제가 있을 수 있는지 잘 이해가 안 됩니다.

$ dmesg | tail
[ 1437.716819] EXT4-fs (md0): bad geometry: block count 61034935 exceeds size of device (61034912 blocks)
[ 1437.717197] EXT4-fs (md1): mounting ext3 file system using the ext4 subsystem
[ 1437.717422] EXT4-fs (md1): bad geometry: block count 59585077 exceeds size of device (59585056 blocks)
[ 3030.508560] init: nvidia-persistenced main process (21110) terminated with status 1
[ 3757.003367] current rate 16719823 is different from the runtime rate 48000
[ 3757.006356] current rate 10357448 is different from the runtime rate 48000
[ 3850.605129] EXT4-fs (md0): mounting ext3 file system using the ext4 subsystem
[ 3850.605299] EXT4-fs (md0): bad geometry: block count 61034935 exceeds size of device (61034912 blocks)
[ 3850.605585] EXT4-fs (md1): mounting ext3 file system using the ext4 subsystem
[ 3850.605782] EXT4-fs (md1): bad geometry: block count 59585077 exceeds size of device (59585056 blocks)
reg@regDesktopHome:~/semios$

시스템 로그에는 아무 말도 없습니다

$ sudo mdadm --detail --scan
mdadm: cannot open /dev/md/127_0: No such file or directory
ARRAY /dev/md1 metadata=0.90 UUID=0abe503f:401d8d09:cd707cc0:bc3f8165
ARRAY /dev/md0 metadata=0.90 UUID=91e560f1:4e51d8eb:cd707cc0:bc3f8165
reg@regDesktopHome:~/semios$

편집 1

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid1 sdb6[1] sdc6[0]
      244139648 blocks [2/2] [UU]

md1 : active raid1 sdb7[1] sdc7[0]
      238340224 blocks [2/2] [UU]

md127 : active raid1 sdb3[1] sdc3[0]
      390628416 blocks [2/2] [UU]

unused devices: <none>
$ 

$ sudo mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Tue Sep  1 19:15:33 2009
     Raid Level : raid1
     Array Size : 244139648 (232.83 GiB 250.00 GB)
  Used Dev Size : 244139648 (232.83 GiB 250.00 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sun May  4 21:32:24 2014
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 91e560f1:4e51d8eb:cd707cc0:bc3f8165
         Events : 0.75007

    Number   Major   Minor   RaidDevice State
       0       8       38        0      active sync   /dev/sdc6
       1       8       22        1      active sync   /dev/sdb6
reg@regDesktopHome:~/semios$ sudo mdadm --detail /dev/md1
/dev/md1:
        Version : 0.90
  Creation Time : Tue Sep  8 21:19:15 2009
     Raid Level : raid1
     Array Size : 238340224 (227.30 GiB 244.06 GB)
  Used Dev Size : 238340224 (227.30 GiB 244.06 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Sun May  4 21:32:24 2014
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 0abe503f:401d8d09:cd707cc0:bc3f8165
         Events : 0.3973383

    Number   Major   Minor   RaidDevice State
       0       8       39        0      active sync   /dev/sdc7
       1       8       23        1      active sync   /dev/sdb7
$ 

$ sudo mdadm --examine /dev/sdb6
/dev/sdb6:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 91e560f1:4e51d8eb:cd707cc0:bc3f8165
  Creation Time : Tue Sep  1 19:15:33 2009
     Raid Level : raid1
  Used Dev Size : 244139648 (232.83 GiB 250.00 GB)
     Array Size : 244139648 (232.83 GiB 250.00 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun May  4 21:32:24 2014
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
       Checksum : bfa701ff - correct
         Events : 75007


      Number   Major   Minor   RaidDevice State
this     1       8       22        1      active sync   /dev/sdb6

   0     0       8       38        0      active sync   /dev/sdc6
   1     1       8       22        1      active sync   /dev/sdb6
reg@regDesktopHome:~/semios$ sudo mdadm --examine /dev/sdb7
/dev/sdb7:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 0abe503f:401d8d09:cd707cc0:bc3f8165
  Creation Time : Tue Sep  8 21:19:15 2009
     Raid Level : raid1
  Used Dev Size : 238340224 (227.30 GiB 244.06 GB)
     Array Size : 238340224 (227.30 GiB 244.06 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1

    Update Time : Sun May  4 21:32:24 2014
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 2a7376fd - correct
         Events : 3973383


      Number   Major   Minor   RaidDevice State
this     1       8       23        1      active sync   /dev/sdb7

   0     0       8       39        0      active sync   /dev/sdc7
   1     1       8       23        1      active sync   /dev/sdb7
reg@regDesktopHome:~/semios$ sudo mdadm --examine /dev/sdc6
/dev/sdc6:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 91e560f1:4e51d8eb:cd707cc0:bc3f8165
  Creation Time : Tue Sep  1 19:15:33 2009
     Raid Level : raid1
  Used Dev Size : 244139648 (232.83 GiB 250.00 GB)
     Array Size : 244139648 (232.83 GiB 250.00 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0

    Update Time : Sun May  4 21:32:24 2014
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
       Checksum : bfa7020d - correct
         Events : 75007


      Number   Major   Minor   RaidDevice State
this     0       8       38        0      active sync   /dev/sdc6

   0     0       8       38        0      active sync   /dev/sdc6
   1     1       8       22        1      active sync   /dev/sdb6
reg@regDesktopHome:~/semios$ sudo mdadm --examine /dev/sdc7
/dev/sdc7:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : 0abe503f:401d8d09:cd707cc0:bc3f8165
  Creation Time : Tue Sep  8 21:19:15 2009
     Raid Level : raid1
  Used Dev Size : 238340224 (227.30 GiB 244.06 GB)
     Array Size : 238340224 (227.30 GiB 244.06 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1

    Update Time : Sun May  4 21:32:24 2014
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 2a73770b - correct
         Events : 3973383


      Number   Major   Minor   RaidDevice State
this     0       8       39        0      active sync   /dev/sdc7

   0     0       8       39        0      active sync   /dev/sdc7
   1     1       8       23        1      active sync   /dev/sdb7
$ 

$ sudo parted /dev/sdb unit mib print free
Model: ATA ST31000528AS (scsi)
Disk /dev/sdb: 953870MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start      End        Size       Type      File system     Flags
 1      0.03MiB    95370MiB   95370MiB   primary   ext4            boot
 3      95370MiB   476843MiB  381473MiB  primary   ext4
 2      476843MiB  953859MiB  477016MiB  extended
 6      476843MiB  715261MiB  238418MiB  logical   ext3
 7      715261MiB  948015MiB  232754MiB  logical   ext3
 5      948015MiB  953859MiB  5844MiB    logical   linux-swap(v1)
        953859MiB  953870MiB  10.3MiB              Free Space

reg@regDesktopHome:~/semios$ sudo parted /dev/sdc unit mib print free
Model: ATA ST31000528AS (scsi)
Disk /dev/sdc: 953870MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start      End        Size       Type      File system     Flags
 1      0.03MiB    95370MiB   95370MiB   primary   ext4            boot
 3      95370MiB   476843MiB  381473MiB  primary   ext4
 2      476843MiB  953859MiB  477016MiB  extended
 6      476843MiB  715261MiB  238418MiB  logical   ext3
 7      715261MiB  948015MiB  232754MiB  logical   ext3
 5      948015MiB  953859MiB  5844MiB    logical   linux-swap(v1)
        953859MiB  953870MiB  10.3MiB              Free Space

$

편집 2

제안된 방법을 시도했지만 파일 시스템이 마운트되지 않습니다.

# sudo losetup --find --show --read-only /dev/sdc7 /dev/loop0
# mount -o ro /dev/loop0 /mnt/loop0 mount: unknown filesystem type 'linux_raid_member'
#

편집 3 file -s /dev/loop0나에게 다음을 반환합니다 :

$ sudo file -s /dev/loop0
[sudo] password for reg: 
/dev/loop0: Linux rev 1.0 ext3 filesystem data, UUID=b2d66029-eeb9-4e4a-952c-0a3bd0696159 (large files)

답변1

잘못된 형상: 블록 수 61034935가 장치 크기(61034912 블록)를 초과합니다.

이러한 오류 메시지에 따르면 RAID가 몇 블록 축소된 것으로 보입니다. 0.90메타데이터가 파티션 끝에 있고ext3 메타데이터가 시작 부분에 있으므로 파티션 크기 자체를 변경할 수 없다는 점을 고려하면 이는 특이한 문제입니다. 어느 쪽이든 메타데이터가 손실될 수 있습니다.

어떻게 이런 일이 일어날 수 있는지 상상할 수 없습니다. 이런 식으로 의도적으로 문제를 해결하려면 resize2fsRAID 자체 대신 멤버 디스크에서 실행하거나 처음에 RAID를 추가하지 않는 등의 작업을 수행해야 합니다. 그것은 나중에 생각한 생각이다.

그것 RAID1과 raid 메타데이터는 디스크 끝에 있으므로 두 디스크 중 하나를 직접 마운트할 수 있어야 합니다. 이를 테스트하는 쉬운 방법은 읽기 전용 루프 장치를 사용하는 것입니다. 파일 시스템에 결함이 있는/더러운 슈퍼 블록도 없으면 다음을 수행해야 합니다.

# losetup --find --show --read-only /dev/sdc7
/dev/loop4
# mount -o ro /dev/loop4 /mnt/test

제대로 작동하고 파일이 손상되지 않았다면 지금이 백업하는 것이 좋습니다.

파일 시스템 fsck도 필요한 경우 가장 안전한 방법은 dd이미지를 사용하여 전체 파티션을 복사하는 것입니다.fsck

# dd if=/dev/sdc7 of=/mnt/ext/sdc7.img bs=1M
# losetup --find --show /mnt/ext/sdc7.img
/dev/loop5
# fsck /dev/loop5
# mount /dev/loop5 /mnt/test

작동하는 경우 다음 단계를 사용하여 RAID를 복구할 수 있습니다.

  1. 다른 드라이브를 제거하십시오:

    # mdadm /dev/md0 --fail /dev/sdb7
    # mdadm /dev/md0 --remove /dev/sdb7
    
  2. 나머지 드라이브의 파일 시스템을 복구하고 크기를 조정합니다. 청크 크기는 제공한 오류 메시지에서 가져옵니다.

    # fsck /dev/sdc7
    # resize2fs /dev/sdc7 61034912
    # sync
    
  3. 작동하는지 테스트

    # echo 3 > /proc/sys/vm/drop_caches
    # mount /dev/md0 /mnt/somewhere
    
  4. 다른 드라이브 읽기 및 재동기화

    # mdadm /dev/md0 --add /dev/sdb7
    

1.2그러나 현재 메타데이터()를 사용하여 처음부터 RAID를 다시 만들고 파일 시스템을 다시 만들고 파일을 다시 복사하는 것을 고려할 수 있습니다 .

관련 정보