回收 HP 3Par SAN 和 VMware ESXi 中的空間
我剛剛使用 ESX 端的命令回收了 HP 3Par 中未使用的空間,例如:
esxcli storage vmfs unmap --l DATASTORENAME
它執行良好,從 3Par 控制台,我現在可以在我的數據儲存/LUN 上看到:
- 已用使用者空間:26%(回收前為 46%)
- 預留使用者空間:4.7Tb/10Tb(遺憾的是沒有改變)
但是,在 VMware 中,空間並沒有改變。我想這是由於這種“保留”(空間保留在 3Par 上)。
有沒有辦法通過執行某種調整命令或緊湊命令來刪除 SAN 上的這種分配(我想數據是零)?
我看到它們是諸如compactcpg之類的命令,但它似乎並不是我所需要的,因為我認為它不會正確平衡磁碟之間的數據(塊)?(但使用的磁碟盡可能少,因此會降低性能?)
感謝和問候,
實際上,compactcpg是在這種情況下使用的正確命令。您將要使用的表格是
compactcpg <CPG_name>
或compactcpg <pattern>
該程序本身由 3PAR 定期自動執行,因此您可以等待,空間最終將由 3PAR 回收。或者,您可以使用上述命令通過 3PAR CLI 手動啟動該過程。
另外需要注意的是,compactcpg始終作為低優先級任務執行,以免中斷正常 IO 操作。這意味著陣列可能需要幾個小時甚至幾天才能完全回收所有新釋放的空間。
更多資訊可以在這裡找到。
關於平衡儲存塊的問題,這是由 3PAR 自動處理的。3PAR 實際上使用五個邏輯數據層:
- 物理磁碟
- 數據塊
- 邏輯磁碟 (LD)
- 通用配置組 (CPG)
- 虛擬卷 (VV)
平衡發生在每一層上。也就是說,物理磁碟在籠子之間是物理平衡的,儲存塊在物理磁碟中均勻分佈,邏輯磁碟在可用儲存塊池中是平衡的,等等。
順便說一句,還有一個 compactld命令,其形式為
compactld <LD_name>
orcompactld -pat <pattern>
,其行為方式大致相同,但在邏輯磁碟層上。但是,您需要先執行compactcpg,然後再嘗試使用compactld以充分利用它。