Kvm-Virtualization
Linux 和 KVM 上的 ZFS:主機的 NUMA 節點
我有興趣在多插槽系統上的 Linux ZFS 下的 zvols 上使用 KVM 映像。我想知道我應該如何固定 NUMA 節點,以便最大限度地利用 ZFS ARC 記憶體對系統上所有 KVM 映像的好處。顯然,我應該將每個 VM 固定到一個套接字/節點,以便它的所有記憶體都在一個控制器上。但我對如何設置主機以使 ARC 最大限度地使每個 VM 受益感到困惑。
如果我將主機保留在一個 NUMA 節點上,這似乎是合乎邏輯的,這意味著另一個節點上的 VM 訪問 ARC 的速度會變慢。但是,如果主機分佈在 NUMA 節點上,它的性能就會受到影響,這可能會損害來賓的性能。
根據我的閱讀,我什至不清楚主機是否可以綁定到特定節點,或者根據定義它是否使用所有節點。如果是這樣的話,NUMA 節點的 Linux ARC 上的 ZFS 有多了解?
手動將資源/程序固定到特定的套接字,它應該只在非常特定的情況下完成。此外,ARC 本身是一種具有(大部分)不可預測的訪問模式/命中的全域資源。
我強烈建議您不要進行這種微調,除非證明需要獲得良好的性能。嘗試使用預設設置執行您的 linux 安裝,完全不要弄亂 NUMA,並使用以下命令觀察您的系統行為
numastat
如果需要更多調整,請嘗試通過
numad
. 只有且僅當這還不夠時,才嘗試使用numactl
和/或 KVM 客戶 CPU 固定進行優化。