Windows
如何在不影響冗餘的情況下更換儲存空間鏡像中的 HDD?
如果我在儲存空間池中有兩個物理硬碟驅動器和一個 2 路鏡像虛擬磁碟,我如何用一個新的(更大的)硬碟替換一個硬碟驅動器,而在任何時候都沒有一個數據副本?
一個天真的計劃是:
起點:兩個驅動器:hd0 和 hd1
- 添加新硬碟 (hd2)
- 將數據從舊硬碟複製到 hd2
- 刪除 hd0
- 可選清理
- 結果:hd1 和 hd2 有鏡像數據
但儲存空間似乎在其他方向起作用:
- 添加新硬碟 (hd2)
- 從鏡像中刪除 hd0(或實際上是整個池)
- 此時沒有更多的冗餘,如果 hd1 發生故障,則該卷失去
- 將數據從 hd1 HDD 複製到 hd2(重建/修復)
- 結果:hd1 和 hd2 有鏡像數據
有沒有辦法做到這一點,而在任何時候都只有一個數據副本?(除了明顯的“備份和恢復”,我預計它比硬碟驅動器之間的單個複制操作要慢得多)
作業系統:Windows 2012R2
短的:
顯然不是。當修復/重建開始時,Storage Spaces 會從鏡像中“斷開”舊驅動器並僅保留一個副本(在 hd1 上)並開始將其複製到新驅動器。因此,如果 hd1 在重建完成之前失敗,則陣列將失去。
選項:
- 在磁碟故障的情況下使用獨立的備份並從中恢復
- 使用新磁碟上的另一個分區作為“線上”備份
- 由於數據實際上仍在 hd0 上,請嘗試使用一些“取消刪除”工具來拯救它們(因為它是 Storage Spaces 虛擬磁碟上的 ReFS,機會非常低,至少現在在 2019 年,因為這些沒有得到廣泛支持第三方工具)
- 其他一些解決方案?
長:
似乎沒有(或者我找不到)將鏡像卷遷移到儲存空間中的新物理磁碟的方法,以防剩餘的舊磁碟在重建到新磁碟之前死亡完成了。
插入新磁碟後(使用來自測試系統的名稱:PhysicalDisk1 將被替換的舊磁碟,PhysicalDisk2 應保留的舊磁碟,PhysicalDisk5 新磁碟)狀態為:
PS C:\Users\Administrator> Set-PhysicalDisk -FriendlyName "PhysicalDisk1" -Usage Retired PS C:\Users\Administrator> Get-VirtualDisk -FriendlyName mirr | Get-PhysicalDisk FriendlyName CanPool OperationalStatus HealthStatus Usage Size ------------ ------- ----------------- ------------ ----- ---- PhysicalDisk1 False OK Healthy Retired 899.25 GB PhysicalDisk2 False OK Healthy Auto-Select 1.46 TB
然後在開始修復的那一刻,情況就變成了:
Repair-VirtualDisk -FriendlyName mirr ... PS C:\Users\Administrator> Get-VirtualDisk -FriendlyName mirr | Get-PhysicalDisk FriendlyName CanPool OperationalStatus HealthStatus Usage Size ------------ ------- ----------------- ------------ ----- ---- PhysicalDisk2 False OK Healthy Auto-Select 1.46 TB PhysicalDisk5 False OK Healthy Auto-Select 1.76 TB
因此,如果現在 PhysicalDisk2 發生故障,則鏡像失去(PhysicalDisk1 停用,PhysicalDisk2 失去,PhysicalDisk5 還沒有完整的數據副本)。
取消停用 PhysicalDisk1 沒有幫助。
最快的方法似乎是首先在新硬碟上創建一個新的“備份”(簡單)卷,將數據從鏡像複製到它,開始鏡像遷移,如果事情失敗,仍然有一個可用的副本(然後PhysicalDisk1 可以取消停用,並在 PhysicalDisk1 和 PhysicalDisk5 上創建新的創建新鏡像)。