Cria uma matriz RAID de arquivos de imagem

8

OK, tenho três arquivos de imagem em /home/ e cada um deles reside em diferentes unidades físicas:

image1.img

image2.img

image3.img

Cada imagem tem o mesmo tamanho e eu quero colocar as imagens em RAID0.

Como devo proceder para RAIDing deles?

EDIT: Usando mdadm eu recebo este erro:

EDIT: saída de cat /proc/mdstat

EDIT: saída de sudo gparted /dev/md0

    
por Daniel 18.08.2015 / 18:54

3 respostas

5

Para instalar o RAID do software Linux, você precisa instalar o pacote mdadm .

sudo apt-get install mdadm

Se você quiser criar um software RAID-0 a partir dos três arquivos de imagem, será necessário criar dispositivos de loop para cada arquivo de imagem:

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

Depois de criar um array RAID 0 a partir deles:

sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3
    
por lemonslice 25.08.2015 / 19:19
1

Se o seu sistema corresponde aos requisitos básicos que você poderia usar zfs ( 8 GB de RAM, sistema de 64 bits ):

Adicione o repo e atualize a lista de pacotes:

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

Instalar pacote:

sudo apt-get install ubuntu-zfs

Crie um vdev listrado (sem redundância, mas você solicitou o RAID0):

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

Isso cria a faixa e a monta em / vol0.

sudo zfs create vol0/filesystem

Este cria um sistema de arquivos zfs na faixa e monta em / vol0 / filesystem. Use

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

se você quiser alterar o ponto de montagem.

Você também pode adicionar compactação automática:

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

Agora, tudo que você colocar em / mnt / filesystem / compacted será automaticamente compactado.

    
por Niclas Börlin 24.08.2015 / 08:49
0
  

Eu literalmente toquei a imagem # .img para cada um. Há algo mais que devo fazer?

Este é realmente o problema. Os arquivos são 0 bytes e você não pode procurar dentro deles. Você tem que criar arquivos que realmente tenham tamanho. Pode ser um um arquivo esparso se você quiser:

[/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

Agora posso criar dispositivos loop e montar array:

[/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

Os arquivos esparsos crescerão até o tamanho máximo, conforme os dados são gravados para eles. Eles não diminuirão se os arquivos dentro do sistema de arquivos forem excluídos.

    
por vidarlo 13.04.2018 / 21:40