RAID 1의 일부인 단일 하드 드라이브 설치

RAID 1의 일부인 단일 하드 드라이브 설치

그래서 두 개의 하드 드라이브가 있는 RAID 1이 있습니다. 하드 드라이브 하나가 고장나서 이를 교체하고 이 새 하드 드라이브에 새 Linux를 다시 설치했습니다.

이제 fdisk -l을 입력하면 다음과 같은 결과가 나타납니다.

root@ns354729:/mnt/sdb2# fdisk -l

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 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: 0xbb5259be

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        4096  1495042047   747518976   83  Linux
/dev/sda2      1495042048  1496088575      523264   82  Linux swap / Solaris

Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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: 0x00025c91

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            4096    20975616    10485760+  fd  Linux raid autodetect
/dev/sdb2        20975617  1464092672   721558528   fd  Linux raid autodetect
/dev/sdb3      1464092673  1465144064      525696   82  Linux swap / Solaris

두 번째 하드 드라이브(sdb)에 액세스하고 싶기 때문에 다음과 같이 sdb2를 마운트하려고 합니다.

mount /dev/sdb2 /mnt

이것은 말한다:

root@ns354729:/mnt/sdb2# mount /dev/sdb2 /mnt
mount: block device /dev/sdb2 is write-protected, mounting read-only
mount: you must specify the filesystem type

그래서 나는 다음을 주려고 노력했습니다.

mount -t ext4 /dev/sdb2 /mnt

알겠어요:

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

이것은 말한다:

root@ns354729:/mnt/sdb2# dmesg | tail
ufs_read_super: bad magic number
VFS: Can't find a romfs filesystem on dev sdb2.
UDF-fs: warning (device sdb2): udf_load_vrs: No VRS found
UDF-fs: warning (device sdb2): udf_fill_super: No partition found (2)
XFS (sdb2): Invalid superblock magic number
(mount,18813,1):ocfs2_fill_super:1038 ERROR: superblock probe failed!
(mount,18813,1):ocfs2_fill_super:1229 ERROR: status = -22
GFS2: not a GFS2 filesystem
GFS2: gfs2 mount does not exist
EXT4-fs (sdb2): VFS: Can't find ext4 filesystem

도움이 필요하세요?

답변1

다음을 사용하여 (다운그레이드된) RAID 어레이를 조립해야 합니다.

mdadm --assemble --readonly /dev/md0 /dev/sdb2

물론, 이미 md0을 사용하고 있다면 md0이 아닌 다른 번호를 선택하세요. 그런 다음 마운트할 수 있습니다 /dev/md0(또는 실제로 LVM 등인 경우 체인을 따라 계속 진행).

RAID1의 경우 루프백 장치와 오프셋을 사용하여 이 작업을 수행할 수도 있지만 이는 더 고통스럽고 mdadm 메타데이터가 손상된 경우에만 시도해 볼 가치가 있습니다.

답변2

새로운 2gig 비RAID 디스크가 있고 이전 750gig RAID 디스크의 내용을 읽으려고 하는 것 같습니다. 이 경우 다음을 수행할 수 있습니다.

ls -l /dev/md/

이 예에서는 다음이 반환됩니다.

total 0
lrwxrwxrwx 1 root root 8 Jul 26 08:30 sp:0 -> ../md126
lrwxrwxrwx 1 root root 8 Jul 26 08:30 sp:1 -> ../md127

그런 다음 읽기에 필요한 파티션을 마운트할 수 있습니다.

mount /dev/md/sp:0 /mnt

위의 예에서는 이것이 제가 생성할 때 명명한 RAID 파티션이라고 생각합니다 sp:0.sp:1

답변3

내가 찾은드 로버트의답변은 매우 유용하지만 더 많은 답변이 필요합니다.

이전에 어레이가 없었고 USB 드라이브 도크를 통해 외부에 연결된 두 개의 드라이브가 있는 새 시스템에서:

  sudo apt update && sudo apt install mdadm -y
  sudo mdadm --examine /dev/sd*
  [output of above command showed two drives that were members of the original raid array, one a PARTITION, the other the entire device]
  sudo mdadm --assemble /dev/md1 /dev/sdb1 dev/sdc --run
  mdadm: /dev/sdb1 is busy - skipping
  mdadm: /dev/md1 assembled from 1 drive - need all 2 to start it (use --run to insist).
  sudo mdadm --assemble /dev/md1 /dev/sdb1 /dev/sdc --run
  mdadm: /dev/sdb1 is busy - skipping
  mdadm: /dev/md1 has been started with 1 drive (out of 2).
  sudo mount /dev/md1 /mnt/md1
  cd /mnt/md1
  ls 
  backup lost+found pictures rsnapshot

그런 다음 rsync를 사용하여 마운트된 단일 RAID 구성원 /dev/sdc의 데이터를 다른 시스템의 인증된 양호한 드라이브로 복사할 수 있었습니다.

관련 정보