내가 만들었을 때 /dev/md1이 이제 /dev/md127 또는 /dev/md127p1이라고 불리는 이유는 무엇입니까?

내가 만들었을 때 /dev/md1이 이제 /dev/md127 또는 /dev/md127p1이라고 불리는 이유는 무엇입니까?

나는 최근에 새로운 Debian 9("stretch") 머신을 설치했습니다.

처음에는 드라이브가 2개였습니다. 데비안 설치 프로그램을 사용하여 /dev/md0RAID1 으로 구성했는데

/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

  1. 다음 명령을 사용하여 올바른 UUID를 처리하고 있는지 확인하십시오.

    mdadm --detail /dev/md* | grep -e /dev/md -e UUID
    
  2. 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
    

    원하는 대로 배열 이름을 지정하세요.

  3. 다음 명령을 사용하여 올바른 파일 시스템을 마운트하고 있는지 확인하십시오.

    blkid /dev/md*
    

    다음과 같은 방법으로 포함하세요 /etc/fstab.

    UUID=...
    
  4. 귀하가 놓쳤을 수 있는 가장 중요한 단계는 다음을 업데이트하는 것입니다 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의 "컨테이너" 개념을 의도적으로 사용하거나 사용하려는 적이 없습니다)

관련 정보