블록 장치 대신 파일에 RAID 어레이 생성

블록 장치 대신 파일에 RAID 어레이 생성

테스트 목적으로 파일에 RAID 어레이를 생성할 수 있습니까?

레벨 1 RAID를 생성하고 싶지만 이를 수행할 10개의 블록 장치가 없고 블록 장치 대신 파일을 사용하여 시뮬레이션하고 싶다고 가정해 보겠습니다.

지금까지 내가 한 일은 다음과 같습니다.

fallocate -l 1M disk1
fallocate -l 1M disk2
mkfs.ext4 disk1
mkfs.ext4 disk2
sudo mdadm --create --assume-clean --level=1 --raid-devices=2 /dev/md0 ./disk1 ./disk2

하지만 오류가 발생합니다.

mdadm: ./disk1 is not a block device.

어떤 아이디어가 있나요?

답변1

당신이 찾고 있는 것은 루프 장치라고 불립니다. 파일이 장치 /dev/loop0등 으로 표시됩니다 . 그런 다음 파일 시스템으로 마운트할 수 있으며 md와 함께 사용해야 합니다. 매뉴얼 페이지에서 loop(4):

루프 장치는 데이터 블록을 하드 디스크나 광학 드라이브와 같은 물리적 장치가 아닌 파일 시스템의 일반 파일 블록이나 다른 블록 장치에 매핑하는 블록 장치입니다.

예를 들어 참조하십시오.

LVM은 블록 장치가 필요한 항목을 테스트하는 데에도 유용할 수 있습니다. 단일 물리적 파티션에서 여러 논리 볼륨을 생성할 수 있으며(또는 그 반대), 볼륨 파괴/재생성/크기 조정도 디스크 파티셔닝보다 훨씬 간단합니다.

답변2

할 수 있어요. 파일에서 루프 장치를 만들고 해당 장치를 사용하여 배열을 만듭니다.

$ dd if=/dev/zero of=mydev count=80 bs=1M
$ sudo losetup -f mydev

블록 장치가 필요한 모든 환경에서 사용할 수 있는 80M 장치가 준비됩니다.

$ sudo losetup -l

현재 매핑을 알려드립니다.

관련 정보