Utwórz macierz RAID plików obrazów

9

OK, więc mam trzy pliki obrazów /home/i każdy z nich znajduje się na różnych dyskach fizycznych:

image1.img

image2.img

image3.img

Każdy obraz ma ten sam rozmiar i chcę umieścić same obrazy w RAID0.

Jak powinienem je RAIDować?

EDYCJA: Za pomocą mdadm pojawia się ten błąd:

wprowadź opis zdjęcia tutaj

EDYCJA: Wyjście cat /proc/mdstat

wprowadź opis zdjęcia tutaj

EDYCJA: Wyjście sudo gparted /dev/md0

wprowadź opis zdjęcia tutaj

Daniel
źródło
Jeśli dobrze rozumiem, chcesz mieć dysk RAID-0, który ma trzykrotnie większy rozmiar plików obrazów i jest rozłożony między trzema plikami obrazów?
lemonslice,
Tak. Chodzi o to, aby móc utworzyć jednostkę RAID, która może obejmować wiele dysków bez faktycznego umieszczania dysków w RAID.
Daniel,
Co cat /proc/mdstatmówi się o tym błędzie?
lemonslice
Zobacz edycję pytania
Daniel
Jakie media znajdują się pod plikami obrazów? Na podstawie komunikatu o błędzie nie obsługują wyszukiwania ...
lemonslice

Odpowiedzi:

8

Aby zainstalować oprogramowanie RAID dla systemu Linux, musisz zainstalować mdadmpakiet.

sudo apt-get install mdadm

Jeśli chcesz zrobić oprogramowanie RAID-0 z trzech plików obrazów, musisz utworzyć urządzenia pętli dla każdego pliku obrazu:

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

Po utworzeniu z nich macierzy RAID-0:

sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3
cytrynowy
źródło
polecenie mdadm nie znaleziono
Daniel
Musisz zainstalować pakiet mdadm.
lemonslice
Zobacz edycję pytania
Daniel
To ze świeżą instalacją mdadm.
Daniel
1

Jeśli twój system spełnia podstawowe wymagania, których możesz użyć zfs( 8 GB RAM, system 64-bitowy ):

Dodaj listę repozytoriów i aktualizacji:

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

Zainstaluj pakiet:

sudo apt-get install ubuntu-zfs

Utwórz vdev w paski (bez redundancji, ale poprosiłeś o RAID0):

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

To tworzy pasek i montuje go w / vol0.

sudo zfs create vol0/filesystem

To tworzy system plików ZFS na pasku i montuje go w / vol0 / filesystem. Posługiwać się

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

jeśli chcesz zmienić punkt montowania.

Możesz także dodać automatyczną kompresję:

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

Teraz wszystko, co umieścisz w / mnt / system plików / skompresowany, zostanie automatycznie skompresowane.

Niclas Börlin
źródło
„E: Nie można znaleźć pakietu ubuntu-zfs”
Daniel,
To powinno również działać z plikami ISO, prawda?
Daniel
Zapomniałem dodać instrukcji, jak dodać repo. Edytowałem teraz.
Niclas Börlin,
Nie jestem pewien, co masz na myśli przez pliki ISO ... Instrukcje utworzą pusty system plików rozłożony na 3 omawianych plikach. Czy masz w swoich plikach ISO dane, do których w jakiś sposób chcesz uzyskać dostęp na partycji rozłożonej?
Niclas Börlin,
Nie, byłem tylko ciekawy, czy da się to zrobić, powiedzmy na przykład DVD-RW, czy coś takiego.
Daniel
0

Dosłownie po prostu dotknąłem obrazu # .img dla każdego. Czy jest coś jeszcze, co powinienem zrobić?

To jest rzeczywiście problem. Pliki mają 0 bajtów i nie można w nich szukać. Musisz tworzyć pliki, które faktycznie mają rozmiar. Może to być rzadki plik, jeśli chcesz:

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

Teraz mogę tworzyć urządzenia pętlowe i składać tablicę:

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

Pliki rzadkie będą rosły do ​​maksymalnego rozmiaru, gdy dane będą do nich zapisywane. Będą nie kurczą się, czy pliki wewnątrz plików zostanie usunięty.

vidarlo
źródło