Crea array RAID di file immagine


9

OK, quindi ho tre file di immagine /home/e ognuno risiede su unità fisiche diverse:

image1.img

image2.img

image3.img

Ogni immagine ha le stesse dimensioni e voglio inserire le immagini stesse in RAID0.

Come devo fare per RAIDing?

EDIT: Usando mdadm ottengo questo errore:

inserisci qui la descrizione dell'immagine

EDIT: output di cat /proc/mdstat

inserisci qui la descrizione dell'immagine

EDIT: output di sudo gparted /dev/md0

inserisci qui la descrizione dell'immagine


Se ho capito bene, vuoi avere un'unità RAID-0 che abbia tre volte la dimensione dei file di immagine e sia spogliata tra i tre file di immagine?
Lemonslice,

Sì. L'idea è quella di essere in grado di creare un'unità RAID in grado di estendere più unità senza effettivamente collocare le unità in RAID.
Daniel,

Cosa cat /proc/mdstatdice di questo errore?
Lemonslice,

Vedi modifica alla domanda
Daniel,

Quali sono i media sotto i file di immagine? Sulla base del messaggio di errore che non supportano seek ...
Lemonslice,

Risposte:


8

Per installare il RAID software Linux è necessario installare il mdadmpacchetto.

sudo apt-get install mdadm

Se si desidera creare un software RAID-0 dai tre file di immagine, è necessario creare dispositivi loop per ciascun file di immagine:

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

Dopo aver creato un array RAID-0 da loro:

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

comando mdadm non trovato
Daniel

Devi installare il pacchetto mdadm.
Lemonslice,

Vedi modifica alla domanda
Daniel,

Questo è con una nuova installazione di mdadm.
Daniel,

1

Se il tuo sistema soddisfa i requisiti di base che potresti utilizzare zfs( 8 GB di RAM, sistema a 64 bit ):

Aggiungi repository e aggiorna l'elenco dei pacchetti:

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

Installa pacchetto:

sudo apt-get install ubuntu-zfs

Crea un vdev a strisce (senza ridondanza, ma hai chiesto RAID0):

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

Questo crea la striscia e la monta su / vol0.

sudo zfs create vol0/filesystem

Questo crea un file system zfs sulla stripe e lo monta su / vol0 / filesystem. Uso

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

se si desidera modificare il punto di montaggio.

Puoi anche aggiungere la compressione automatica:

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

Ora tutto ciò che metti in / mnt / filesystem / compressed verrà automaticamente compresso.


"E: Impossibile trovare il pacchetto ubuntu-zfs"
Daniel

E questo dovrebbe funzionare anche con i file ISO, giusto?
Daniel,

Hai dimenticato di aggiungere istruzioni su come aggiungere il repository. Ho modificato ora.
Niclas Börlin,

Non sono sicuro di cosa intendi con i file iso ... Le istruzioni creeranno un file system vuoto con striping sui 3 file in questione. Hai dei dati nei tuoi file ISO che in qualche modo desideri accedere su una partizione con striping?
Niclas Börlin,

No, ero solo curioso di sapere se si potesse fare o meno, per esempio un DVD-RW o qualcosa del genere.
Daniel,

0

Ho letteralmente toccato l'immagine # .img per ognuno. C'è qualcos'altro che dovrei fare?

Questo è davvero il problema. I file sono 0 byte e non è possibile cercarli al loro interno. Devi creare file che abbiano effettivamente una dimensione. Può essere un file sparso se vuoi:

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

Ora posso creare loopdevices e assemblare 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

I file sparsi aumenteranno fino alla dimensione massima, man mano che i dati vengono scritti su di essi. Essi non ridursi se i file all'interno del file system vengono cancellati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.