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


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

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.


„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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.