나는 최근에 새로운 Debian 9("stretch") 머신을 설치했습니다.
처음에는 드라이브가 2개였습니다. 데비안 설치 프로그램을 사용하여 /dev/md0
RAID1 으로 구성했는데
/etc/mdadm/mdadm.conf:
포함하다
# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=3d21d0e0:2758c58e:962b5191:98e225c1 name=MYHOSTNAME:0
다음 /proc/mdstat
을 표시합니다.
md0 : active raid1 sda1[0] sdb1[1]
488253440 blocks super 1.2 [2/2] [UU]
bitmap: 0/4 pages [0KB], 65536KB chunk
ext4
)에서 포맷 하고 UUID를 통해 "/"로 마운트한 장치입니다 /etc/fstab
. 예상대로 모든 것이 잘 작동합니다.
나중에 몇 개의 더 큰 드라이브를 추가했습니다. 그것들을 분할하고(먼저 각 파티션에 작은 스왑 파티션으로) 구성합니다 mdadm -C -n 2 -l raid1 /dev/md1 /dev/sdc2 /dev/sdd2
(이것은 확실히 제가 한 일입니다. 여전히 내 루트의 쉘 기록과 여러 후속 mdadm --examine /dev/md1
및 에 남아 있기 때문입니다 mdadm --detail --verbose /dev/md1
).
또한 다음 줄을 추가했습니다 /etc/mdadm/mdadm.conf
(초기 장치의 패턴만 따름).
ARRAY /dev/md/1 metadata=1.2 UUID=47492bd7:08d1fd1c:418dad41:2aa7d77f name=MYHOSTNAME:1
물론 ext4
장치를 포맷하고 UUID 항목을 추가하여 /etc/fstab
내가 선택한 마운트 지점에 마운트했습니다 /data
.
이 모든 것이 제대로 작동하는 것 같으며 머신을 여러 번 재부팅한 후 새 디스크에 대해 많은 rsync를 수행하고 있습니다.
그런데 오늘 우연히 etc/mtab과 /proc/mdstat를 살펴보니 /dev/md1이 사라지고 /dev/md127(/proc/mdstat에서) 및/또는 /dev/md127p1이 된 것 같습니다. /etc/mtab에 있습니다:
/proc/mdstat:
보여주다:
md127 : active raid1 sdc2[0] sdd2[1]
3904788480 blocks super 1.2 [2/2] [UU]
bitmap: 2/30 pages [8KB], 65536KB chunk
md0 : active raid1 sda1[0] sdb1[1]
488253440 blocks super 1.2 [2/2] [UU]
bitmap: 0/4 pages [0KB], 65536KB chunk
그리고
/etc/mtab:
보여주다:
/dev/md0 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
/dev/md127p1 /data ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
여전히 모든 것이 잘 작동하는 것 같지만 무슨 일이 일어나고 있는 걸까요? 나는 이전에(물론 몇 년 전) 다른 여러 시스템에서 거의 동일한 방식으로 RAID1을 구성했으며 RAID 어레이는 /dev/md0
결국 /dev/md1
. 이것은 어디에서 왔으며, 127
차이점은 무엇입니까? 이름을 바꿀 수 있는 방법이 있습니까? 아니면 이것이 제가 붙어 있는 것입니까?/dev/md127
/dev/md127p1
/dev/md1
답변1
다음 명령을 사용하여 올바른 UUID를 처리하고 있는지 확인하십시오.
mdadm --detail /dev/md* | grep -e /dev/md -e UUID
nano를 사용할 수 있는지 확실하지 않은 경우 배열 목록을 편집하십시오.
nano /etc/mdadm/mdadm.conf
원하는 배열의 UUID를 포함시키거나 다시 확인하십시오.
ARRAY /dev/md/0 metadata=1.2 name=MYHOSTNAME:0 UUID=3d21d0e0:2758c58e:962b5191:98e225c1 ARRAY /dev/md/1 metadata=1.2 name=MYHOSTNAME:1 UUID=47492bd7:08d1fd1c:418dad41:2aa7d77f
원하는 대로 배열 이름을 지정하세요.
다음 명령을 사용하여 올바른 파일 시스템을 마운트하고 있는지 확인하십시오.
blkid /dev/md*
다음과 같은 방법으로 포함하세요
/etc/fstab
.UUID=...
귀하가 놓쳤을 수 있는 가장 중요한 단계는 다음을 업데이트하는 것입니다
initramfs
.update-initramfs -u
그래야 합니다. 나는 같은 시스템에서 똑같은 문제를 겪었습니다. 단계를 놓쳤거나 잊어버린 내용이 있는 경우 댓글을 남겨주시면 내일 아침에 이 답변을 수정하겠습니다.
Q&A:
이 127은 어디서 나온 걸까요?
업데이트하는 것을 잊어버렸기 때문에 initramfs
부팅하는 동안 시스템은 새 어레이에 대해 알지 못하며 기본적으로 끝(127)부터 이름을 지정하기 시작합니다.
/dev/md127
이들그리고 그리고 의 차이점은 무엇인가요/dev/md127p1
?
/dev/md127
배열의 이름입니다/dev/md127p1
배열의 파티션 이름입니다.
OP 추가 정보:
위에서 언급했듯이 이것은 update-initramfs -u
매우 중요해 보입니다! 그러나 더 많은 조정이 가능하다는 것이 밝혀졌으며 다른 답변이나 의견이 아닌 여기에서 편집하겠습니다.
위의 단계를 거친 후 /dev/md0
및 가 있습니다 /dev/md1p1
. 이상하게도 /proc/partitions를 보면 알 수 있습니다./dev/md1
그리고A./dev/md1p1
일부 인터넷 검색을 통해 이것이 /proc/mdstat.conf에 설명된 기본 동작과 관련이 있다고 의심하게 되었습니다.
# 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
그리고 실제로 추가한아니요- 주석 처리된 행
DEVICE partitions
다음 재부팅 /dev/md0
직후를 의미합니다 ./dev/md1
(mdadm raid를 사용하는 일부 오래된 데비안 시스템을 보면 모두 명확한 DEVICE partitions
선이 있음을 알 수 있으며 mdadm의 "컨테이너" 개념을 의도적으로 사용하거나 사용하려는 적이 없습니다)