Linux
在文件而不是塊設備上創建 RAID 陣列
是否可以在文件上創建 RAID 陣列以進行測試?
假設我想創建一個 1 級 RAID,並且我沒有例如 10 個塊設備來執行此操作,但我想使用文件而不是塊設備來模擬它。
到目前為止我所做的是:
fallocate -l 1M disk1 fallocate -l 1M disk2 mkfs.ext4 disk1 mkfs.ext4 disk2 sudo mdadm --create --assume-clean --level=1 --raid-devices=2 /dev/md0 ./disk1 ./disk2
但在那之後我得到了錯誤:
mdadm: ./disk1 is not a block device.
任何想法?
您要查找的內容稱為循環設備。它使文件顯示為
/dev/loop0
等設備。然後可以將它們安裝為文件系統,並且應該與 md 一起使用。從手冊頁loop(4)
:循環設備是一種塊設備,它不將其數據塊映射到諸如硬碟或光碟驅動器之類的物理設備,而是映射到文件系統中正常文件的塊或另一個塊設備。
參見例如
- https://man7.org/linux/man-pages/man4/loop.4.html
- https://man7.org/linux/man-pages/man8/losetup.8.html
對於測試需要塊設備的東西,LVM 也可能有用。它允許您從單個物理分區(或相反)創建多個邏輯卷,並且銷毀/重新創建/調整捲的大小也比使用磁碟分區簡單得多。