Erstellen Sie ein RAID-Array mit Bilddateien


9

OK, ich habe drei Image-Dateien /home/, die sich jeweils auf verschiedenen physischen Laufwerken befinden:

image1.img

image2.img

image3.img

Jedes Bild hat die gleiche Größe und ich möchte die Bilder selbst in RAID0 einfügen.

Wie soll ich sie RAIDEN?

EDIT: Mit mdadm bekomme ich diesen Fehler:

Geben Sie hier die Bildbeschreibung ein

EDIT: Ausgabe von cat /proc/mdstat

Geben Sie hier die Bildbeschreibung ein

EDIT: Ausgabe von sudo gparted /dev/md0

Geben Sie hier die Bildbeschreibung ein


Wenn ich das richtig verstehe, möchten Sie ein RAID-0-Laufwerk haben, das dreimal so groß wie die Bilddateien ist und zwischen den drei Bilddateien entfernt wird?
Zitronenscheibe

Ja. Die Idee ist, eine RAID-Einheit zu erstellen, die mehrere Laufwerke umfassen kann, ohne die Laufwerke tatsächlich in RAID zu platzieren.
Daniel

Was cat /proc/mdstatsagt über diesen Fehler aus?
Zitronenscheibe

Siehe Bearbeiten zu Frage
Daniel

Was sind die Medien unter den Bilddateien? Basierend auf der Fehlermeldung unterstützen sie nicht suchen ...
Zitronenscheibe

Antworten:


8

Um das Linux-Software-RAID zu installieren, müssen Sie das mdadmPaket installieren .

sudo apt-get install mdadm

Wenn Sie aus den drei Bilddateien ein Software-RAID-0 erstellen möchten, müssen Sie für jede Bilddatei Loop-Geräte erstellen:

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

Nachdem Sie daraus ein RAID-0-Array erstellen können:

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

Befehl mdadm nicht gefunden
Daniel

Sie müssen das Paket installieren mdadm.
Zitronenscheibe

Siehe Bearbeiten zu Frage
Daniel

Das ist mit einer Neuinstallation von mdadm.
Daniel

1

Wenn Ihr System den grundlegenden Anforderungen entspricht, die Sie verwenden können zfs( 8 GB RAM, 64-Bit-System ):

Repo hinzufügen und Paketliste aktualisieren:

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

Installationspaket:

sudo apt-get install ubuntu-zfs

Erstellen Sie ein gestreiftes vdev (ohne Redundanz, aber Sie haben nach RAID0 gefragt):

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

Dadurch wird der Streifen erstellt und bei / vol0 montiert.

sudo zfs create vol0/filesystem

Dadurch wird ein zfs-Dateisystem auf dem Streifen erstellt und unter / vol0 / filesystem bereitgestellt. Verwenden

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

Wenn Sie den Einhängepunkt ändern möchten.

Sie können auch eine automatische Komprimierung hinzufügen:

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

Jetzt wird alles, was Sie in / mnt / filesystem / compressed abgelegt haben, automatisch komprimiert.


"E: Paket ubuntu-zfs konnte nicht gefunden werden"
Daniel

Und das sollte auch mit ISO-Dateien funktionieren, oder?
Daniel

Ich habe vergessen, Anweisungen zum Hinzufügen des Repos hinzuzufügen. Habe jetzt bearbeitet.
Niclas Börlin

Ich bin nicht sicher, was Sie mit ISO-Dateien meinen ... Die Anweisungen erstellen ein leeres Dateisystem, das über die 3 fraglichen Dateien gestreift ist. Haben Sie Daten in Ihren ISO-Dateien, auf die Sie auf einer gestreiften Partition zugreifen möchten?
Niclas Börlin

Nein, ich war nur neugierig, ob das möglich ist oder nicht, zum Beispiel eine DVD-RW oder so etwas.
Daniel

0

Ich habe buchstäblich nur das Bild # .img für jedes einzelne berührt. Gibt es noch etwas, was ich tun sollte?

Das ist in der Tat das Problem. Die Dateien sind 0 Bytes und können nicht in ihnen gesucht werden. Sie müssen Dateien erstellen, die tatsächlich eine Größe haben. Es kann eine spärliche Datei sein, wenn Sie möchten:

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

Jetzt kann ich Schleifengeräte erstellen und ein Array zusammenstellen:

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

Sparse-Dateien werden maximal maximal, wenn Daten in sie geschrieben werden. Sie werden nicht verkleinert, wenn Dateien im Dateisystem gelöscht werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.