Storage

處理碎片化的虛擬機共享儲存

  • July 23, 2009

我們有一個包含 3 個主機的 Citrix XenServer 池,為我們的 VM 使用共享 NFS 儲存庫。

SR 託管在 Windows 2003 Storage Server 刀片上,該刀片包含在我們的 3000 系列 HP Blade 機箱中。

我剛剛查看了儲存伺服器,並註意到包含 NFS 共享的磁碟非常碎片化。

我有幾個問題。

執行標準的 Windows 碎片整理是否足以解決這個問題?

是否有其他人執行類似的設置,遇到類似的問題,你做了什麼?我打算自動化這個過程,並且想知道在碎片整理過程中是否需要暫停或關閉 VM。

為什麼會發生這種情況,在配置新虛擬機時我可以做些什麼來防止這種情況發生?

任何想法都會受到歡迎。

謝謝,

Luke

線上對驅動器進行碎片整理應該沒問題,因為 Xen 磁碟映像與其他文件一樣只是文件。您應該嘗試在非工作時間執行此操作,因為在碎片整理期間性能可能會受到很大影響。

您看到高碎片的原因是 VDI 是稀疏磁碟映像。即使您指定 VM 分配了(例如)100 GB 的空間,磁碟映像最初也只會分配最小量的空間。然後它將根據需要增長到最大分配大小。這種方法的問題是,如果您在同一個儲存設備上有很多 VM,並且它們都在不同時間增長磁碟,那麼磁碟映像文件就不可能在磁碟上連續,因此將變得非常碎片化。

對此的解決方案是不使用稀疏圖像,但不幸的是,從 XenServer 5.0 開始,您可以創建的唯一 VDI 類型似乎是稀疏的。

我可以立即想到幾個選項: * 如果可能,使用 LVM 格式的原始塊設備。我對 Windows 2003 Storage Server 不夠熟悉,不知道這是否可行。如果它允許您通過 iSCSI 或 FC 製作卷並導出它們,那麼您就大功告成了。否則,您可能需要考慮更改為其他一些共享儲存設置或其他設置。* 預分配 VHD 中的所有磁碟空間。本質上,這意味著只需在安裝作業系統之前填滿卷中的所有可用空間。您可以啟動 Linux LiveCD 或其他東西並使用dd在整個磁碟上寫入零。這將導致 XenServer 將磁碟映像文件增長到最大大小,並且希望其中大部分是連續的,因為它是一次完成的。

您看到的碎片問題對於為 VM 使用基於稀疏文件的儲存並不少見,這正是我更喜歡在 SAN 上使用 LUN 作為 VM 儲存的原因。

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