web-dev-qa-db-fra.com

Créer une matrice RAID de fichiers image

OK, j'ai donc trois fichiers image dans /home/, et chacun d'entre eux réside sur des lecteurs physiques différents:

image1.img

image2.img

image3.img

Chaque image a la même taille et je souhaite placer les images elles-mêmes dans RAID0.

Comment dois-je m'y prendre pour les mettre en RAID?

EDIT: En utilisant mdadm je reçois cette erreur:

enter image description here

EDIT: Sortie de cat /proc/mdstat

enter image description here

EDIT: Sortie de Sudo gparted /dev/md0

enter image description here

8
Daniel

Pour installer le logiciel RAID Linux, vous devez installer le paquetage mdadm.

Sudo apt-get install mdadm

Si vous souhaitez créer un logiciel RAID-0 à partir des trois fichiers image, vous devez créer des unités 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
6
lemonslice

Si votre système répond aux exigences de base, vous pouvez utiliser zfs ( 8 Go de RAM, système 64 bits ):

Ajouter repo et mettre à jour la liste des paquets:

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

Installer le paquet:

Sudo apt-get install ubuntu-zfs

Créer un vdev par bandes (sans redondance, mais vous avez demandé RAID0):

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

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

Sudo zfs create vol0/filesystem

Ceci 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 voulez changer 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/système de fichiers/compressé sera automatiquement compressé.

1
Niclas Börlin

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

C'est en effet le problème. Les fichiers ont une taille de 0 octet et vous ne pouvez pas y chercher. Vous devez créer des fichiers qui ont réellement une taille. Cela peut être un n fichier fragmenté 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 des tableaux:

[/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 fragmentés augmenteront jusqu'à la taille maximale, à mesure que les données leur sont écrites. Ils ne réduiront pas si des fichiers du système de fichiers sont supprimés.

0
vidarlo