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
쓰고 있는 장치를 다시 확인하세요!