创建映像文件的RAID阵列


9

好的,所以我在中有三个图像文件/home/,它们分别位于不同的物理驱动器上:

image1.img

image2.img

image3.img

每个映像的大小相同,我想将映像本身放入RAID0。

我应该如何对其进行RAID?

编辑:使用mdadm我收到此错误:

在此处输入图片说明

编辑:的输出 cat /proc/mdstat

在此处输入图片说明

编辑:的输出 sudo gparted /dev/md0

在此处输入图片说明


如果我理解正确,您是否想要一个RAID-0驱动器,其映像文件的大小是其三倍,并且在三个映像文件之间被剥离了?
lemonslice

是。这个想法是要能够创建一个可以跨越多个驱动器的RAID单元,而无需将驱动器实际放置在RAID中。
丹尼尔(Daniel)

这是什么cat /proc/mdstat说的这个错误?
lemonslice

请参阅对问题的编辑
丹尼尔(Daniel)

图像文件下方的介质是什么?根据错误消息,他们不支持搜索...
lemonslice

Answers:


8

要安装Linux软件RAID,您需要安装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

找不到命令mdadm
Daniel

您必须安装该软件包mdadm
lemonslice

参见对问题的编辑
Daniel Daniel

全新安装了mdadm。
丹尼尔(Daniel)

1

如果您的系统符合基本要求,则可以使用zfs8 GB RAM,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 / compressed的所有内容都会自动压缩。


“ E:无法找到软件包ubuntu-zfs”
Daniel Daniel

而且这也应该适用于iso文件,对吗?
丹尼尔(Daniel)

忘记添加有关如何添加存储库的说明。现在已编辑。
NiclasBörlin2015年

我不确定您对iso文件是什么意思...说明将创建一个空白文件系统,该系统分拆为3个有问题的文件。您是否希望以某种方式在带区分区上访问iso文件中的数据?
NiclasBörlin2015年

不,我只是好奇它是否可以用例如DVD-RW之类的东西来完成。
丹尼尔(Daniel)

0

我实际上只是触摸了每个图像。还有什么我应该做的吗?

这确实是问题所在。文件为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

数据写入后,稀疏文件将增长到最大大小。如果删除文件系统中的文件,它们将不会收缩。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.