Créer une matrice RAID de fichiers image

9

OK, j'ai donc trois fichiers image /home/et ils résident chacun sur des disques physiques différents:

image1.img

image2.img

image3.img

Chaque image est de la même taille et je veux mettre les images elles-mêmes dans RAID0.

Comment dois-je procéder pour les RAIDer?

EDIT: En utilisant mdadm, j'obtiens cette erreur:

entrez la description de l'image ici

EDIT: sortie de cat /proc/mdstat

entrez la description de l'image ici

EDIT: sortie de sudo gparted /dev/md0

entrez la description de l'image ici

Daniel
la source
Si je comprends bien, vous voulez avoir un disque RAID-0 qui a trois fois la taille des fichiers image et est réparti entre les trois fichiers image?
lemonslice
Oui. L'idée est de pouvoir créer une unité RAID pouvant s'étendre sur plusieurs disques sans placer réellement les disques en RAID.
Daniel
Que cat /proc/mdstatdit-on de cette erreur?
lemonslice
Voir la modification à la question
Daniel
Quels sont les médias sous les fichiers image? Sur la base du message d'erreur, ils ne prennent pas en charge la recherche ...
lemonslice

Réponses:

8

Pour installer le RAID logiciel Linux, vous devez installer le mdadmpackage.

sudo apt-get install mdadm

Si vous souhaitez créer un logiciel RAID-0 à partir des trois fichiers image, vous devez créer des périphériques de boucle pour chaque fichier image:

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

Une fois que vous pouvez créer une matrice RAID-0 à partir d'eux:

sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3
tranche de citron
la source
commande mdadm introuvable
Daniel
Vous devez installer le package mdadm.
lemonslice
Voir la modification à la question
Daniel
C'est avec une nouvelle installation de mdadm.
Daniel
1

Si votre système correspond aux exigences de base que vous pourriez utiliser zfs( 8 Go de RAM, système 64 bits ):

Ajouter un référentiel et mettre à jour la liste des packages:

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

Installer le paquet:

sudo apt-get install ubuntu-zfs

Créez un vdev rayé (sans redondance, mais vous avez demandé RAID0):

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

Cela crée la bande et la monte à / vol0.

sudo zfs create vol0/filesystem

Cela crée un système de fichiers zfs sur la bande et le monte dans / vol0 / système de fichiers. Utilisation

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

si vous souhaitez modifier le point de montage.

Vous pouvez également ajouter une compression automatique:

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

Maintenant, tout ce que vous mettez dans / mnt / filesystem / compressé sera automatiquement compressé.

Niclas Börlin
la source
"E: Impossible de localiser le paquet ubuntu-zfs"
Daniel
Et cela devrait également fonctionner avec les fichiers iso, non?
Daniel
Vous avez oublié d'ajouter des instructions sur la façon d'ajouter le référentiel. Ont édité maintenant.
Niclas Börlin
Je ne sais pas ce que vous voulez dire avec les fichiers iso ... Les instructions vont créer un système de fichiers vierge réparti sur les 3 fichiers en question. Avez-vous des données dans vos fichiers iso auxquelles vous souhaitez accéder d'une manière ou d'une autre sur une partition agrégée par bandes?
Niclas Börlin
Non, j'étais simplement curieux de savoir si cela pouvait être fait avec, disons un DVD-RW par exemple, ou quelque chose comme ça.
Daniel
0

Je viens littéralement de toucher l'image # .img pour chacun. Y a-t-il autre chose que je devrais faire?

Tel est bien le problème. Les fichiers font 0 octet et vous ne pouvez pas les chercher. Vous devez créer des fichiers qui ont réellement une taille. Il peut s'agir d'un fichier clairsemé si vous voulez:

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

Maintenant, je peux faire des loopdevices et assembler un tableau:

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

Les fichiers épars atteindront la taille maximale, à mesure que les données leur seront écrites. Ils ne rétréciront pas si les fichiers à l'intérieur du système de fichiers sont supprimés.

vidarlo
la source