이미지 파일의 RAID 배열 만들기


9

좋아,에 세 개의 이미지 파일이 /home/있고 각각 다른 물리적 드라이브에 있습니다.

image1.img

image2.img

image3.img

각 이미지는 동일한 크기이며 이미지 자체를 RAID0에 넣고 싶습니다.

RAID를 어떻게해야합니까?

편집 : mdadm을 사용하면이 오류가 발생합니다.

여기에 이미지 설명을 입력하십시오

편집 : 출력 cat /proc/mdstat

여기에 이미지 설명을 입력하십시오

편집 : 출력 sudo gparted /dev/md0

여기에 이미지 설명을 입력하십시오


올바르게 이해하면 이미지 파일 크기가 3 배이고 3 개의 이미지 파일 사이에있는 RAID-0 드라이브를 원하십니까?
lemonslice

예. 아이디어는 실제로 드라이브를 RAID에 배치하지 않고 여러 드라이브에 걸쳐있을 수있는 RAID 장치를 작성할 수 있도록하는 것입니다.
Daniel

cat /proc/mdstat이 오류에 대해 무엇을 말합니까?
lemonslice

질문 편집을 보아라
Daniel

이미지 파일 아래의 미디어는 무엇입니까? 오류 메시지를 기반으로 그들은 탐색을 지원하지 않습니다 ...
lemonslice

답변:


8

Linux 소프트웨어 RAID를 설치하려면 mdadm패키지 를 설치해야 합니다.

sudo apt-get install mdadm

세 개의 이미지 파일에서 소프트웨어 RAID-0을 만들려면 각 이미지 파일에 대해 루프 장치를 만들어야합니다.

sudo losetup /dev/loop1 image1.img
sudo losetup /dev/loop2 image2.img
sudo losetup /dev/loop3 image3.img

RAID-0 어레이를 생성 한 후 :

sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3

mdadm 명령을 찾을 수 없음
Daniel

패키지를 설치해야합니다 mdadm.
lemonslice

질문 편집을 보아라
Daniel

mdadm을 새로 설치 한 것입니다.
Daniel

1

시스템이 사용할 수있는 기본 요구 사항과 일치하는 경우 zfs( 8GB RAM, 64 비트 시스템 ) :

저장소를 추가하고 패키지 목록을 업데이트하십시오.

sudo add-apt-repository ppa:zfs-native/stable
sudo apt-get update

패키지 설치 :

sudo apt-get install ubuntu-zfs

중복이없는 스트라이프 vdev를 생성 하지만 RAID0을 요청했습니다.

sudo zpool create vol0 ~/image[1-3].img

이것은 스트라이프를 작성하여 / vol0에 마운트합니다.

sudo zfs create vol0/filesystem

이것은 스트라이프에 zfs 파일 시스템을 작성하여 / vol0 / filesystem에 마운트합니다. 사용하다

sudo zfs set mountpoint=/mnt/filesystem vol0/filesystem

마운트 포인트를 변경하려는 경우

자동 압축을 추가 할 수도 있습니다.

sudo zfs create vol0/filesystem/compressed
sudo zfs set compression=on vol0/filesystem/compressed

이제 / mnt / filesystem / compressed에 넣은 모든 것이 자동으로 압축됩니다.


"E : ubuntu-zfs 패키지를 찾을 수 없습니다"
Daniel

그리고 이것은 iso 파일에서도 작동합니다.
다니엘

리포지토리를 추가하는 방법에 대한 지침을 추가하지 않았습니다. 지금 편집했습니다.
Niclas Börlin

iso 파일의 의미를 잘 모르겠습니다. 지침에 따라 문제가되는 3 개의 파일 위에 빈 파일 시스템이 생성됩니다. 스트라이프 파티션에서 어떻게 든 액세스하려는 iso 파일에 데이터가 있습니까?
Niclas Börlin

아니요, 예를 들어 DVD-RW와 같은 것을 할 수 있는지 아닌지 궁금합니다.
Daniel

0

나는 말 그대로 각각에 대해 image # .img를 터치했습니다. 내가해야 할 다른 일이 있습니까?

이것은 실제로 문제입니다. 파일은 0 바이트이므로 검색 할 수 없습니다. 실제로 크기가있는 파일을 만들어야합니다. 원하는 경우 스파 스 파일 이 될 수 있습니다 .

[/tmp]$ dd if=/dev/zero of=1.img bs=1M count=25 conv=sparse
25+0 records in
25+0 records out
26214400 bytes (26 MB, 25 MiB) copied, 0.00334608 s, 7.8 GB/s
[/tmp]$ dd if=/dev/zero of=2.img bs=1M count=25 conv=sparse
25+0 records in
25+0 records out
26214400 bytes (26 MB, 25 MiB) copied, 0.00347987 s, 7.5 GB/s
[/tmp]$ dd if=/dev/zero of=3.img bs=1M count=25 conv=sparse
25+0 records in
25+0 records out
26214400 bytes (26 MB, 25 MiB) copied, 0.00330069 s, 7.9 GB/s
[/tmp]$ du  1.img 
0       1.img

이제 루프 장치를 만들고 배열을 어셈블 할 수 있습니다.

[/tmp]$ sudo losetup loop0 1.img 
[/tmp]$ sudo losetup loop1 2.img 
[/tmp]$ sudo losetup loop2 3.img 
[/tmp]$ sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/loop0 /dev/loop1 /dev/loop2
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[/tmp]$ sudo mkfs.ext4 /dev/md0 
mke2fs 1.42.11 (09-Jul-2014)
Discarding device blocks: done                            
Creating filesystem with 73728 1k blocks and 18432 inodes
Filesystem UUID: 8123197c-a9aa-434d-9233-103fe20727ed
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
[/tmp]$ mkdir mnt/
[/tmp]$ sudo mount /dev/md0 mnt/
[/tmp]$ df -h mnt/
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0         66M  1.3M   60M   3% /tmp/mnt
[/tmp]$ cat /proc/mdstat 
Personalities : [raid0] 
md0 : active raid0 loop2[2] loop1[1] loop0[0]
      73728 blocks super 1.2 512k chunks

unused devices: <none>
[/tmp]$ du -h 1.img 2.img 3.img 
1.3M    1.img
1.6M    2.img
1.6M    3.img

스파 스 파일은 데이터가 기록 될 때 최대 크기까지 커집니다. 그들은 것 없는 파일 시스템 내부 파일이 삭제 된 경우 축소.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.