Создать RAID-массив файлов изображений

9

Итак, у меня есть три файла изображений /home/, и каждый из них находится на разных физических дисках:

image1.img

image2.img

image3.img

Каждый образ имеет одинаковый размер, и я хочу поместить сами образы в RAID0.

Как я должен идти о RAIDing их?

РЕДАКТИРОВАТЬ: Используя mdadm я получаю эту ошибку:

введите описание изображения здесь

РЕДАКТИРОВАТЬ: выход cat /proc/mdstat

введите описание изображения здесь

РЕДАКТИРОВАТЬ: выход sudo gparted /dev/md0

введите описание изображения здесь

Даниил
источник
Если я правильно понимаю, вы хотите иметь диск RAID-0, который имеет трехкратный размер файлов изображений и разделен между тремя файлами изображений?
Lemonslice
Да. Идея состоит в том, чтобы иметь возможность создать RAID-модуль, который может охватывать несколько дисков без фактического размещения дисков в RAID.
Даниэль
Что cat /proc/mdstatговорит об этой ошибке?
Lemonslice
См. Правку к вопросу
Даниэль
Какие носители находятся под файлами изображений? На основании сообщения об ошибке они не поддерживают поиск ...
lemonslice

Ответы:

8

Для установки программного RAID-массива Linux вам необходимо установить mdadmпакет.

sudo apt-get install mdadm

Если вы хотите сделать программный RAID-0 из трех файлов изображений, вам нужно создать устройства петли для каждого файла изображения:

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

После того, как вы можете создать массив RAID-0 из них:

sudo mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/loop1 /dev/loop2 /dev/loop3
lemonslice
источник
Команда mdadm не найдена
Даниэль
Вы должны установить пакет mdadm.
Lemonslice
См. Правку к вопросу
Даниэль
Это с новой установкой mdadm.
Даниэль
1

Если ваша система соответствует базовым требованиям, которые вы можете использовать zfs( 8 ГБ ОЗУ, 64-разрядная система ):

Добавить репо и обновить список пакетов:

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

Установить пакет:

sudo apt-get install ubuntu-zfs

Создайте полосатый vdev (без резервирования, но вы запросили RAID0):

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

Это создает полосу и монтирует ее в / vol0.

sudo zfs create vol0/filesystem

Это создает файловую систему zfs на полосе и монтирует ее в / vol0 / filesystem. использование

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

если вы хотите изменить точку монтирования.

Вы также можете добавить автоматическое сжатие:

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

Теперь все, что вы помещаете в / mnt / filesystem / compress, будет автоматически сжато

Никлас Бёрлин
источник
«E: Невозможно найти пакет ubuntu-zfs»
Даниэль
И это также должно работать с ISO-файлами, верно?
Даниэль
Забыл добавить инструкцию как добавить репо. Отредактировал сейчас.
Никлас Бёрлин
Я не уверен, что вы имеете в виду под iso-файлами ... Инструкции создадут пустую файловую систему, чередующуюся с этими 3 файлами. У вас есть данные в ваших iso-файлах, к которым вы хотите получить доступ к чередующемуся разделу?
Никлас Бёрлин
Нет, мне просто было любопытно, можно ли это сделать, например, на DVD-RW, или что-то в этом роде.
Даниэль
0

Я буквально только что коснулся изображения # .img для каждого. Есть ли что-то еще, что я должен сделать?

Это действительно проблема. Файлы имеют размер 0 байт, и вы не можете искать внутри них. Вы должны сделать файлы, которые на самом деле имеют размер. Это может быть разреженный файл, если вы хотите:

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

Теперь я могу сделать loopdevices и собрать массив:

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

Разреженные файлы будут увеличиваться до максимального размера по мере записи в них данных. Они не будут сжиматься, если файлы внутри файловой системы будут удалены.

vidarlo
источник