返回

磁碟控制器和快取設置

Proxmox磁碟控制器和快取

此頁面提供配置虛擬機時與磁碟相關的設置信息,包括關鍵注意事項和預防措施。

關於SCSI控制器

在創建新虛擬機並選擇SCSI控制器時,預設選項是「VirtIO Single」。這意味著如果創建了多個虛擬磁碟(如下節所述),它們都將顯示為連接到此單一控制器。這種設置可優化虛擬機內的內存和設備使用。

選擇「VirtIO SCSI」允許將每個虛擬磁碟分配到獨立的SCSI總線,這需要額外的驅動程式空間和內存。然而,在某些工作負載下分散I/O操作可以提升性能。

通常不建議使用其他物理SCSI卡模擬。

關於磁碟控制器

IDE(也稱為ATA)於1988年建立,幾乎與所有操作系統兼容。對於2003年之前發布的操作系統版本,使用IDE可能是最佳選擇。雖然物理IDE的最大速度為133MB/秒,但在虛擬化IDE中,除非操作系統強制限制,否則沒有此限制。然而,IDE不支持熱插拔,這意味著在虛擬機運行時無法移除設備。

SATA適用於2003年之後發布的操作系統版本,是現代操作系統中最兼容的選項。從物理上看,它是IDE的串行傳輸進化版本,速度可達6Gbps(約600MB/秒)。然而,在虛擬化環境中,除非客戶操作系統強制限制,否則沒有固有的速度限制。

VirtIO SCSI和VirtIO SCSI Single提供最快的磁碟訪問速度。然而,它們要求客戶操作系統具備半虛擬化驅動程式。如果系統沒有任何IDE/SATA磁碟,除非安裝了VirtIO SCSI驅動程式,否則操作系統安裝過程將失敗。自2012年左右起,Linux發行版已包含此驅動程式,FreeBSD自2014年起支持,對於Windows操作系統,安裝時需提供包含VirtIO驅動程式的額外ISO文件。

關於磁碟快取

磁碟快取設置涉及數據完整性與性能之間的權衡。

功能 writethrough directsync none writeback unsafe
快取使用 使用頁面快取(有利於讀取操作) 不使用快取 不使用快取 使用頁面快取 使用頁面快取
fsync發行 每次寫入時發行 每次寫入時發行 不發行 延遲發行 不發行
寫入過程 寫入快取,然後立即刷新到磁碟 直接寫入磁碟並立即刷新 直接寫入磁碟不刷新 寫入快取並延遲刷新 寫入快取不刷新
讀取性能 高(利用快取) 低(依賴磁碟) 低(依賴磁碟) 高(利用快取) 高(利用快取)
寫入性能 中等(快取輔助) 低(無快取) 中等(無快取) 高(延遲快取刷新) 非常高(延遲快取刷新)
數據完整性 非常高 中等(依賴磁碟) 低(延遲寫入) 非常低(數據丟失風險高)
使用案例 優先考慮讀取性能和完整性的系統 需要最大數據完整性的系統 性能驅動且完整性需求中等的系統 寫入密集型系統,平衡性能與完整性 注重性能且可接受數據丟失的系統

TRIM (Discard)

Discard命令通知存儲系統某些區塊不再需要。

最初為SSD磨損均衡而引入,某些操作系統可能需要SSD模擬以支持TRIM。除了SSD外,TRIM還能通過移除加密密鑰而不是覆蓋數據來協助安全刪除。

在私人雲環境中,TRIM允許精簡配置的存儲回收空間。通常,一旦虛擬機使用了存儲,即使刪除了數據,存儲層仍會保持分配。

fstrim -v /mountpoint

要進行即時TRIM操作,請使用discard選項進行掛載:

mount -o discard,remount /

IO線程

在VirtIO SCSI中啟用IO線程將磁碟寫入操作卸載到與主操作系統線程分離的獨立線程。

這種設置需要額外的CPU資源,但可以減少延遲,特別是在具有多個虛擬磁碟並同時處理讀寫操作的虛擬機中。