정의: 전체 디스크에서 mdadm을 사용하고 하나 의 파티션에서 GPT를 사용 하고 해당 파티션에서 ext4를 사용하는 RAID 1 /dev/md0
표현 입니다 . 제가 생각하는 현상은 다음과 같습니다. 마더보드를 교체한 후 Linux는 ext4에서 문제를 감지합니다 . fsck를 실행 하고 모든 질문에 '예'라고 답했습니다. 여기에는 잘못된 체크섬이 있고 많은 범위 트리가 더 좁을 수 있으며 일부 로그가 비어 있지 않습니다. 성공적으로 끝난 것 같고 마운트를 시도했지만 잘못된 파일 시스템에 대해 동일한 오류가 발생했습니다. fsck를 다시 실행했지만 이제 "슈퍼블록 없음"이라는 메시지가 표시되고 슈퍼블록 번호를 대체해도 도움이 되지 않습니다. 재부팅했는데 이제 어느 쪽에서도 슈퍼블록을 찾을 수 없습니다. GPT 파티션은 여전히 양호하지만 testdisk는 두 디스크 모두에서 ext4의 흔적을 찾지 못했습니다(ms 데이터만)./dev/sda
sdb
md0
md0p1
md0p1
md0p1
/dev/md0p1
md0p1
mdadm
sda
sdb
# fdisk -l
GPT PMBR size mismatch (3907028991 != 3907029167) will be corrected by w(rite).
Disk /dev/sda: 1,8 TiB, 2000398934016 bytes, 3907029168 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
Disklabel type: gpt
Disk identifier: D09686A6-2428-48EC-868B-D3C8CE5E0C23
Device Start End Sectors Size Type
/dev/sda1 34 3907024064 3907024031 1,8T Microsoft basic data
Partition 1 does not start on physical sector boundary.
...
GPT PMBR size mismatch (3907028991 != 3907029167) will be corrected by w(rite).
Disk /dev/sde: 1,8 TiB, 2000398934016 bytes, 3907029168 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
Disklabel type: gpt
Disk identifier: D09686A6-2428-48EC-868B-D3C8CE5E0C23
Device Start End Sectors Size Type
/dev/sde1 34 3907024064 3907024031 1,8T Microsoft basic data
Partition 1 does not start on physical sector boundary.
# mdadm --examine /dev/sd*
/dev/sda:
MBR Magic : aa55
Partition[0] : 3907028991 sectors at 1 (type ee)
mdadm: No md superblock detected on /dev/sda1.
...
/dev/sde:
MBR Magic : aa55
Partition[0] : 3907028991 sectors at 1 (type ee)
mdadm: No md superblock detected on /dev/sde1.
gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/sda: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): D09686A6-2428-48EC-868B-D3C8CE5E0C23
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 8-sector boundaries
Total free space is 5070 sectors (2.5 MiB)
Number Start (sector) End (sector) Size Code Name
1 34 3907024064 1.8 TiB 0700
Command (? for help): i
Using 1
Partition GUID code: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (Microsoft basic data)
Partition unique GUID: E11B0DE3-9ABD-47B2-9F09-E993F76FBC6F
First sector: 34 (at 17.0 KiB)
Last sector: 3907024064 (at 1.8 TiB)
Partition size: 3907024031 sectors (1.8 TiB)
Attribute flags: 0000000000000000
Partition name: ''
그래서 내 질문은 다음과 같습니다
- 파일 시스템을 복원할 기회가 있습니까? 그 위에 일부 파일을 복구할 수 있지만 2TB의 쓰레기이고 귀중한 파일이 거의 없기 때문에 최소한 파일 이름이 없으면 의미가 없습니다.
- 더 중요한 것은: 무엇이 잘못되었나요? 백업하지 않는 것을 제외하고 권장되는 모든 작업을 수행했는데 데이터가 손실된 것 같습니다.
상황이 이상하기 때문에 전체적인 내용을 말씀드리겠습니다. Linux는 SSD에서 실행되고 대부분의 데이터(홈 디렉토리 포함)는 2개의 HDD의 RAID에 있습니다.
RAID는 2011년이나 2012년부터 제대로 작동했습니다. 6~8
개월 전에 컴퓨터를 업그레이드했습니다. 프로세서를 2코어에서 8코어로 변경하고 RAM을 추가하고 Windows용 SSD를 연결했습니다.
처음 이 컴퓨터를 켜려고 한 후 10~20초 이내에 재설정 버튼 1~2를 눌러야 컴퓨터가 켜집니다. 그러나 다른 모든 시스템은 잘 작동합니다.
1~2개월 전에 두 번 모든 애플리케이션이 충돌하기 시작했고 콘솔에 I/O 오류가 표시되었지만 다시 시작한 후에는 모든 것이 괜찮았습니다.
한 달 전에 쿠분투를 최신 버전으로 업그레이드했습니다.
2주 전에 상황이 나빠져서
Linux가 부팅되지 않았습니다. SSD에서 일부 오류가 발생했습니다. 다른 SSD를 구입하여 파일 시스템의 대부분을 저장했지만 ddrescue
부팅이 되지 않아 SSD의 빈 파티션에 새 OS를 설치했습니다. mdadm을 설치한 후 RAID를 어셈블하지만 파티션을 추가하지는 않습니다 /dev
. 파티션은 추가 /dev/md127
하지만 md127p1은 추가하지 않습니다. 나는 md127(좋은 기본 GTP 테이블이 있음)에서 GPT 테이블을 복구하고 손상된 백업 GTP 테이블을 정렬하라는 gdisck의 제안을 따랐습니다. fsck'd md127p1 (md0p1로 변경됨) 문제 없습니다. 성공적으로 마운트되었습니다.
하루나 이틀 동안 작동하고 컴퓨터가 어쨌든 부팅되지 않습니다.
한 번 BIOS를 망쳤는데 IDE 장치가 없어서 새 마더보드를 구입했습니다(이전 마더보드는 ASRock 900FX Extreme3, 새 마더보드는 Gigabyte 970-DS3P).
마더보드를 교체한 후 Linux를 실행했고 복구 모드로 부팅했습니다( /dev/md0p1
파일 시스템 문제 포함). 그리고 이것이 제가 질문 시작 부분에 쓴 내용입니다.
당신은 무엇을 잘못 했나요?
- 물론 백업은 없습니다. 이제 나는 RAID가 백업이 아니라는 것을 이해합니다.
- IO 오류를 무시하시겠습니까? SSD가 시스템과 충돌하여 새 시스템을 설치하게 되었습니다.
- RAID에서 파티션을 설정하는 것은 나쁜 생각입니까? sda 및 sdb보다 sda1 및 sdb1에서 RAID를 조립하는 것이 더 낫습니까?
다음에 추가:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1,8T 0 disk <-- raid
└─sda1 8:1 0 1,8T 0 part
sdb 8:16 1 957,9M 0 disk
└─sdb1 8:17 1 956,9M 0 part
sdc 8:32 0 59,6G 0 disk
├─sdc1 8:33 0 1M 0 part
├─sdc2 8:34 0 29,8G 0 part /old
└─sdc3 8:35 0 29,8G 0 part /
sdd 8:48 0 119,2G 0 disk
└─sdd1 8:49 0 119,2G 0 part
sde 8:64 0 1,8T 0 disk <-- raid
└─sde1 8:65 0 1,8T 0 part
sr0 11:0 1 2G 0 rom