내 RAID 1 구성의 두 드라이브는 두 개의 장치( md0
, md127
)에 연결되어 있습니다.
~# lsblk -o NAME,SIZE,MOUNTPOINT,STATE,FSTYPE,MODEL,SERIAL,UUID,LABEL
NAME SIZE MOUNTPOINT STATE FSTYPE MODEL SERIAL UUID LABEL
sda 1.8T running linux_raid_member ST32000542AS 69c415bb-716b-8e0b-b03d-721888a9cb05 turris:0
`-md0 1.8T btrfs 47039540-3842-4b2b-be2b-b8f76e88189b
sdb 1.8T running linux_raid_member ST32000542AS 69c415bb-716b-8e0b-b03d-721888a9cb05 turris:0
`-md127 1.8T /mnt/raid btrfs 47039540-3842-4b2b-be2b-b8f76e88189b
왜 이런 일이 발생합니까? 단일 장치( md0
)에 복원하려면 어떻게 해야 합니까?
** 편집하다**
mdadm -E /dev/sda
:
~# mdadm -E /dev/sda
/dev/sda:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 69c415bb:716b8e0b:b03d7218:88a9cb05
Name : turris:0 (local to host turris)
Creation Time : Sun Jul 23 11:52:07 2017
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 3906767024 (1862.89 GiB 2000.26 GB)
Array Size : 1953383360 (1862.89 GiB 2000.26 GB)
Used Dev Size : 3906766720 (1862.89 GiB 2000.26 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : 4ed3485a:ce6205f4:ecd1f9d0:6e4fb2b5
Update Time : Wed Oct 11 21:18:53 2017
Checksum : 8a845e99 - correct
Events : 623
Device Role : Active device 0
Array State : A. ('A' == active, '.' == missing)
mdadm -E /dev/sdb
:
~# mdadm -E /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 69c415bb:716b8e0b:b03d7218:88a9cb05
Name : turris:0 (local to host turris)
Creation Time : Sun Jul 23 11:52:07 2017
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 3906767024 (1862.89 GiB 2000.26 GB)
Array Size : 1953383360 (1862.89 GiB 2000.26 GB)
Used Dev Size : 3906766720 (1862.89 GiB 2000.26 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : clean
Device UUID : 7c8a1f7a:184b254c:1b25397c:8162faa4
Update Time : Wed Oct 11 05:58:52 2017
Checksum : 9d058b99 - correct
Events : 345
Device Role : Active device 1
Array State : .A ('A' == active, '.' == missing)
mdadm -D /dev/md0
:
~# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Jul 23 11:52:07 2017
Raid Level : raid1
Array Size : 1953383360 (1862.89 GiB 2000.26 GB)
Used Dev Size : 1953383360 (1862.89 GiB 2000.26 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Wed Oct 11 21:18:53 2017
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Name : turris:0 (local to host turris)
UUID : 69c415bb:716b8e0b:b03d7218:88a9cb05
Events : 623
Number Major Minor RaidDevice State
0 8 0 0 active sync /dev/sda
1 0 0 1 removed
mdadm -D /dev/md127
:
~# mdadm -D /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Sun Jul 23 11:52:07 2017
Raid Level : raid1
Array Size : 1953383360 (1862.89 GiB 2000.26 GB)
Used Dev Size : 1953383360 (1862.89 GiB 2000.26 GB)
Raid Devices : 2
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Wed Oct 11 05:58:52 2017
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Name : turris:0 (local to host turris)
UUID : 69c415bb:716b8e0b:b03d7218:88a9cb05
Events : 345
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 16 1 active sync /dev/sdb
**수정 1**
콘텐츠 /etc/rc.local
:
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
# Disable NCQ (fix RAID issue)
echo 1 > /sys/block/sda/device/queue_depth
echo 1 > /sys/block/sdb/device/queue_depth
# /fix
# start RAID array
mdadm --assemble --scan
exit 0
콘텐츠 /etc/mdadm/mdadm.conf
:
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#
DEVICE partitions
# 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
# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 name=turris:0 UUID=69c415bb:716b8e0b:b03d7218:88a9cb05
내용(약간 편집됨) /etc/aliases
:
root: cra***@*****.com
답변1
Events : 623
Events : 345
이 시점에서 두 개의 드라이브는 완전히 동기화되지 않았으며 다시 합칠 수 있는 쉬운 방법이 없습니다. 이벤트 수가 드라이브에 있는 데이터의 상대적인 기간을 정확하게 반영한다고 가정하면 다음 위치에 데이터를 삭제 /dev/sdb
하고 다시 추가하는 것이 좋습니다 /dev/md0
.
- 데이터를 최신 상태로 백업했는지 확인하세요.
- 누워
/dev/md127
:umount /mnt/raid
,mdadm --stop /dev/md127
/dev/sdb
RAID 멤버처럼 보이지 마세요 : (wipefs -a /dev/sdb
빠른 방법) 또는dd if=/dev/zero of=/dev/sdb
(완전히)./dev/md0
새 장치로 추가 :mdadm --manage /dev/md0 --add /dev/sdb
- 어레이가 재구축될 때까지 기다립니다.
- 기다리는 동안 오류 모니터링을 켜고
nano -w /etc/mdadm.conf
끝 부분에 이 줄을 추가하고 모니터링 서비스를 활성화합니다(이는 배포판별로 다릅니다).MAILADDR [email protected]
mdadm
- 활성화
/dev/md0
: (mdadm --run /dev/md0
필요하지 않을 수 있음) 다음에mount /dev/md0 /mnt/raid
.
/dev/sdb
원인이 무엇인지에 대해서는 어느 시점에서 일시적인 오류가 발생했고 (Segate 드라이브는 이러한 경향이 있음) 다음에 컴퓨터를 재부팅할 때까지 오류가 어레이에서 빠져 나간 것으로 추측됩니다 . 이벤트 수가 다르기 때문에 mdadm
두 개의 드라이브를 단일 RAID-1 어레이에 넣을 수 없었고 대신 두 개의 단일 드라이브 RAID-1 어레이를 생성하기로 결정했습니다.