使用網路共享作為驅動器的軟體 RAID
免責聲明:從性能的角度來看,這可能是瘋狂的,從可靠性的角度來看,也可能只是學術價值(例如:它會起作用嗎?)。話雖如此:
mdadm 是否支持將單個冗餘磁碟作為網路驅動器的 RAID 設置?
這是我(瘋狂?)想法的背景:我想使用一個只有一個小磁碟的 linux 機器來保存系統*。通過乙太網連接到這個盒子的是另外兩台機器*,每台機器都有一個 RAID-0 系統,以便從舊硬碟驅動器中獲得一些用途。兩個 RAID-0 卷的大小大致相同。現在,這些機器中的每一個都提供 RAID-0 卷作為網路共享,並且盒子將它們分別安裝為 /old_drives_0 和 /old_drives_1。
最重要的是,我想告訴 mdadm on box 使用 /old_drives_0 和 /old_drives_1 作為兩個鏡像“磁碟”建構一個 RAID-1 系統,並在網路上提供這樣創建的 RAID-1 卷作為驅動器。
我可以告訴 mdadm 使用幾乎任何掛載點(而不是通常的 /dev/sdaX),如下所示:
mdadm /dev/md0 --create --raid-devices=2 --level=1 /old_drives_1 /old_drives_2 mkfs /dev/md0 # optionally specifying -text3 or -text4 mount /dev/md0 /raid
(粗略地引用https://unix.stackexchange.com/a/48437/27804)
我知道不通過網路建構 raid 的原因有很多,但也可能有支持它的原因:一旦磁碟壞了,我所要做的就是將網線連接到另一台機器……另外,當我將三個 NIC 放入盒子時,它可以通過專用乙太網連接訪問自己的兩個 RAID“驅動器”,並將第三個用於上游流量,以便從其客戶端訪問 RAID-1 卷。
我什至可以保留一個“盒子”和一台“機器”作為替代品,一旦出現故障,就可以進行快速維護。
RAID 總是需要一個設備(至少如果你使用 md)。有兩種方法。可能更好的是使用網路塊設備:
https://en.wikipedia.org/wiki/Network_block_device
您可以告訴 md 使用這種設備僅用於寫入(因為讀取速度太慢)
mdadm ... --write-mostly
。另一種選擇是在網路卷(文件系統級別)上創建文件並將其用於循環設備。