Crear una matriz RAID de archivos de imagen

9

Bien, tengo tres archivos de imagen /home/y cada uno reside en diferentes unidades físicas:

image1.img

image2.img

image3.img

Cada imagen es del mismo tamaño, y quiero poner las imágenes en RAID0.

¿Cómo debo hacer para RAIDing?

EDITAR: Usando mdadm me sale este error:

ingrese la descripción de la imagen aquí

EDITAR: Salida de cat /proc/mdstat

ingrese la descripción de la imagen aquí

EDITAR: Salida de sudo gparted /dev/md0

ingrese la descripción de la imagen aquí

Daniel
fuente
Si entiendo correctamente, ¿desea tener una unidad RAID-0 que tenga tres veces el tamaño de los archivos de imagen y se elimine entre los tres archivos de imagen?
limonada
Si. La idea es poder crear una unidad RAID que pueda abarcar varias unidades sin colocarlas en RAID.
Daniel
¿Qué cat /proc/mdstatdice sobre este error?
limonada
Ver edición a pregunta
Daniel
¿Cuáles son los medios debajo de los archivos de imagen? Según el mensaje de error, no admiten la búsqueda ...
lemonslice

Respuestas:

8

Para instalar el software RAID de Linux, debe instalar el mdadmpaquete.

sudo apt-get install mdadm

Si desea crear un software RAID-0 a partir de los tres archivos de imagen, debe crear dispositivos de bucle para cada archivo de imagen:

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

Después de que pueda crear una matriz RAID-0 a partir de ellos:

sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3
limón
fuente
comando mdadm no encontrado
Daniel
Tienes que instalar el paquete mdadm.
limonesca
Ver edición a pregunta
Daniel
Eso es con una nueva instalación de mdadm.
Daniel
1

Si su sistema cumple con los requisitos básicos que podría usar zfs( 8 GB de RAM, sistema de 64 bits ):

Agregue repositorio y actualice la lista de paquetes:

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

Paquete de instalación:

sudo apt-get install ubuntu-zfs

Cree un vdev rayado (sin redundancia, pero solicitó RAID0):

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

Esto crea la banda y la monta en / vol0.

sudo zfs create vol0/filesystem

Esto crea un sistema de archivos zfs en la banda y lo monta en / vol0 / filesystem. Utilizar

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

si quieres cambiar el punto de montaje.

También puede agregar compresión automática:

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

Ahora todo lo que pones en / mnt / filesystem / compressed se comprimirá automáticamente.

Niclas Börlin
fuente
"E: no se puede encontrar el paquete ubuntu-zfs"
Daniel
Y esto también debería funcionar con archivos iso, ¿verdad?
Daniel
Olvidé agregar instrucciones sobre cómo agregar el repositorio. Han editado ahora.
Niclas Börlin
No estoy seguro de lo que quieres decir con los archivos iso ... Las instrucciones crearán un sistema de archivos en blanco dividido sobre los 3 archivos en cuestión. ¿Tiene datos en sus archivos iso a los que de alguna manera desea acceder en una partición rayada?
Niclas Börlin
No, solo tenía curiosidad por saber si se podía hacer o no, por ejemplo, un DVD-RW o algo así.
Daniel
0

Literalmente solo toqué la imagen # .img para cada uno. ¿Hay algo más que deba hacer?

Este es de hecho el problema. Los archivos son de 0 bytes, y no puede buscar dentro de ellos. Tienes que hacer archivos que realmente tengan un tamaño. Puede ser un archivo disperso si desea:

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

Ahora puedo hacer dispositivos de bucle y ensamblar matriz:

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

Los archivos dispersos crecerán hasta el tamaño máximo, a medida que se escriban datos en ellos. Ellos no encogerse si se eliminan archivos dentro del sistema de archivos.

vidarlo
fuente