Zfs
使用“autoreplace=on”時 ZFS 自動備件大小感知嗎?
池的最大 ZFS 程式碼庫:zfs-linux (0.7.5-1ubuntu16.11)
想像一下,通過在物理磁碟容量方面添加更大的鏡像,一個池意外增長。備件被拖走了。新鏡子,新備用。HBA 上的 SAS 企業級。鏡像 0 小於 1,1 小於 2。每個鏡像都有一個適當大小的備用。
pool: glue state: ONLINE scan: scrub repaired 0B in 27h55m with 0 errors on Mon Jul 12 04:19:14 2021 config: NAME STATE READ WRITE CKSUM glue ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 wwn-0x5000cca2a501f240 ONLINE 0 0 0 wwn-0x5000cca2975af090 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 wwn-0x5000cca271340e4c ONLINE 0 0 0 wwn-0x5000cca27134c71c ONLINE 0 0 0 mirror-2 ONLINE 0 0 0 wwn-0x5000cca2972cce94 ONLINE 0 0 0 wwn-0x5000cca298192df4 ONLINE 0 0 0 spares wwn-0x5000cca2558480fc AVAIL wwn-0x5000cca2972be67c AVAIL wwn-0x5000c50083bbae43 AVAIL errors: No known data errors
這就是它的樣子。如果使用自動備
autoreplace
盤並且一個小的備盤嘗試鏡像一個比它大的磁碟,池是否會中斷,或者是否有我們可以掃描的錯誤?還是會
autoreplace
進行檢查以確保備件加入相同或更小尺寸的鏡子?在這種情況下,最大的備用是否可以加入最小的鏡像?如果你能指出我,我很樂意看一下程式碼。更重要的是,我很想給你一個贊成票和支票。
Autoreplace 用於更換同一物理位置的驅動器,它與熱/冷備用無關。
但看起來 zfs 會按順序嘗試所有備件,直到找到一個成功的備件。我認為這是相關的原始碼:GitHub