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í


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

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.


"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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.