MDADM은 추가 블록 장치를 생성합니다.

MDADM은 추가 블록 장치를 생성합니다.

RAID 어레이를 생성할 때 이상한 문제를 발견했습니다.미다뎀. 내가 아는 한 추가 장치 md유형이 생성됩니다. ~에 따르면kernel.org설명서에서 md장치 유형은 Metadisk(RAID) 장치입니다.

Metadisk 드라이버는 여러 물리적 디스크에 걸쳐 파일 시스템을 확장하는 데 사용됩니다.

그러나 이것은 오늘 동일한 호스트에서 발생하기 시작했습니다. (구성 관리 도구를 사용하여 RAID 배열을 생성하고 있는데, 발행하면미다뎀수동 명령.

LSBLK출력은 다음과 같습니다.

user@host:~$ lsblk
NAME      MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
nvme0n1   259:0    0  1.7T  0 disk
└─md0       9:0    0  3.5T  0 raid0
  └─md0p2 259:2    0  1.8T  0 md
xvda      202:0    0   20G  0 disk
└─xvda1   202:1    0   20G  0 part  /
xvdf      202:80   0   20G  0 disk
nvme1n1   259:1    0  1.7T  0 disk
└─md0       9:0    0  3.5T  0 raid0
  └─md0p2 259:2    0  1.8T  0 md

누군가 이것에 대해 밝힐 수 있습니까? 이것이 예상되는가? 나는 이것을 처음 본다.

호스트는우분투 16.04.6 LTS

밝히다

이것이 만들어진 이유:

 └─md0p2 259:2    0  1.8T  0 md

답변1

블록 장치가 시스템에 추가되면 커널은 장치에 존재할 수 있는 모든 파티션 테이블을 구문 분석하려고 시도하고, 성공하면 파티션 테이블에서 읽은 내용을 기반으로 존재한다고 생각하는 파티션에 대한 블록 장치를 추가합니다. 많은 파티션 테이블 유형에 대한 지원이 커널에서 구성될 수 있으므로 Solaris, BSD 등의 파티션 테이블도 인식됩니다.

임의의 데이터가 커널이 예상하는 파티션 테이블과 어떻게든 일치하여 잘못된 파티션 장치가 생성될 수 있습니다.

lsblk출력에는 "TYPE" 열이 있지만 이는 최선의 추측일 수도 있고 정확하지 않을 수도 있습니다. 주요 번호는 장치 유형을 더 잘 나타냅니다. /proc/devices어떤 숫자가 어떤 커널 드라이버에 해당하는지 확인하세요. 여기서 최소한 md0p2메이저 번호는 메이저 번호와 다르기 때문에 장치를 만든 드라이버가 md0아니었습니다 .md

첫 번째 블록을 0으로 설정하면 데이터를 분할된 테이블로 잘못 해석하는 것을 방지할 수 있습니다.

# dd if=/dev/zero of=/dev/md0 count=1

쓰고 있는 장치를 다시 확인하세요!

관련 정보