Zfs

使用“autoreplace=on”時 ZFS 自動備件大小感知嗎?

  • July 15, 2021

池的最大 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

引用自:https://serverfault.com/questions/1069661