web-dev-qa-db-ja.com

イメージファイルのRAIDアレイを作成する

わかりましたので、/home/に3つのイメージファイルがあり、それぞれが異なる物理ドライブにあります。

image1.img

image2.img

image3.img

各イメージは同じサイズであり、イメージ自体をRAID0に入れたいです。

それらをRAID化するにはどうすればよいですか?

編集:mdadmを使用すると、このエラーが表示されます:

enter image description here

編集:cat /proc/mdstatの出力

enter image description here

編集:Sudo gparted /dev/md0の出力

enter image description here

8
Daniel

LinuxソフトウェアRAIDをインストールするには、mdadmパッケージをインストールする必要があります。

Sudo apt-get install mdadm

3つのイメージファイルからソフトウェア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
6
lemonslice

システムが基本要件に一致する場合は、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に入れたものはすべて自動的に圧縮されます。

1
Niclas Börlin

文字通り、それぞれにimage#.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

ループデバイスを作成して配列を組み立てることができます:

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

データが書き込まれると、スパースファイルは最大サイズまで大きくなります。ファイルシステム内のファイルが削除されると、not縮小します。

0
vidarlo