สร้างอาร์เรย์ RAID ของไฟล์รูปภาพ


9

ตกลงดังนั้นฉันมีไฟล์ภาพสามไฟล์/home/และแต่ละไฟล์นั้นอยู่ในไดรฟ์ฟิสิคัลที่แตกต่างกัน:

image1.img

image2.img

image3.img

ภาพแต่ละภาพมีขนาดเท่ากันและฉันต้องการที่จะนำภาพเหล่านั้นลงใน RAID0

ฉันจะไปเกี่ยวกับการโจมตีพวกเขาได้อย่างไร

แก้ไข: การใช้ mdadm ฉันได้รับข้อผิดพลาดนี้:

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข: ผลผลิตจาก cat /proc/mdstat

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข: ผลผลิตจาก sudo gparted /dev/md0

ป้อนคำอธิบายรูปภาพที่นี่


หากฉันเข้าใจถูกต้องคุณต้องการไดรฟ์ RAID-0 ซึ่งมีขนาดไฟล์ภาพสามเท่าและถูกปล้นระหว่างไฟล์ภาพสามไฟล์
lemonslice

ใช่. แนวคิดคือสามารถสร้างหน่วย RAID ที่สามารถขยายไดรฟ์หลายตัวโดยไม่ต้องวางไดรฟ์ใน RAID
แดเนียล

สิ่งที่cat /proc/mdstatพูดเกี่ยวกับข้อผิดพลาดนี้?
lemonslice

ดูการแก้ไขคำถาม
Daniel

สื่อด้านล่างไฟล์ภาพคืออะไร? จากข้อความแสดงข้อผิดพลาดพวกเขาไม่สนับสนุนการค้นหา ...
lemonslice

คำตอบ:


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

นั่นคือการติดตั้ง mdadm ใหม่
แดเนียล

1

หากระบบของคุณตรงกับความต้องการขั้นพื้นฐานที่คุณสามารถใช้ได้zfs( RAM 8 GB, ระบบ 64 บิต ):

เพิ่ม repo และอัปเดตรายการแพ็คเกจ:

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

ติดตั้งแพคเกจ:

sudo apt-get install ubuntu-zfs

สร้าง vdev striped (ไม่มีความซ้ำซ้อน แต่คุณขอ RAID0):

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

สิ่งนี้จะสร้างแถบและเชื่อมต่อที่ / vol0

sudo zfs create vol0/filesystem

สิ่งนี้จะสร้างระบบไฟล์ zfs บนแถบและติดตั้งที่ / vol0 / ระบบไฟล์ ใช้

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

หากคุณต้องการเปลี่ยนจุดเชื่อมต่อ

คุณยังสามารถเพิ่มการบีบอัดอัตโนมัติ:

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

ตอนนี้ทุกสิ่งที่คุณใส่ลงใน / mnt / filesystem / บีบอัดจะถูกบีบอัดโดยอัตโนมัติ


"E: ไม่สามารถค้นหาแพ็คเกจ ubuntu-zfs"
Daniel

และสิ่งนี้ควรทำงานกับไฟล์ iso ด้วยใช่ไหม
แดเนียล

ลืมเพิ่มคำแนะนำเกี่ยวกับวิธีเพิ่ม repo ได้ทำการแก้ไขแล้ว
Niclas Börlin

ฉันไม่แน่ใจว่าคุณหมายถึงอะไรกับไฟล์ iso ... คำแนะนำจะสร้างระบบไฟล์เปล่าที่มีแถบ 3 ไฟล์ที่เป็นปัญหา คุณมีข้อมูลในไฟล์ iso ที่คุณต้องการเข้าถึงบนพาร์ติชั่นสไทรพ์หรือไม่?
Niclas Börlin

ไม่ฉันแค่อยากรู้อยากเห็นว่าสามารถทำได้ด้วยการพูด DVD-RW เช่นหรืออะไรแบบนั้น
Daniel

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 และรวบรวม array:

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

ไฟล์ที่กระจัดกระจายจะโตขึ้นถึงขนาดสูงสุดขณะที่ข้อมูลถูกเขียนลงไป มันจะไม่ย่อลงหากไฟล์ภายในระบบไฟล์ถูกลบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.