可以在同一台伺服器上同時運行多台虛擬機,具體可以運行多少台虛擬機取決於你的實體伺服器的硬體配置,以及虛擬機的資源消耗情況來定。沒有固定的演算法。
但是一般會有幾個限制:
1、記憶體記憶體基本上是硬限制。實體伺服器的記憶體肯定是有限的。
例如,一台伺服器有8 core, 8G內存,通常hypervisor會佔用512M內存,大概還剩下7.5G內存,假設每個虛擬機的配置是1 core cpu, 1G內存,那麼在此機器上最多可以運作7個這樣的虛擬機器。再創建新的虛擬機器時,就會報錯說記憶體不夠。在此情況下,每台虛擬機器在滿載情況下最多可以擁有1個cpu core的運算能力,1G的記憶體空間。
當然,現在的hypervisor基本上都支援over-commit的功能,也就是說,如果你的記憶體只有8G,但是設定一定比例的overcommit,例如50%,那麼你可以最多分出去12G內存。
還是上面那個例子,如果設定overcommit為50%,那麼最多可以建立11個虛擬機器(1core,1Gmem)。在伺服器虛擬化方面,建議overcommit設定的不要太高,一般20%。在桌面虛擬化方面,可以將overcommit設定到50%.
2、網路卡如果伺服器只有一個網路卡,所有虛擬機器的網路流量都是透過一塊網卡出去,虛擬機器越多,每個虛擬機可以使用的頻寬就會越少,這個是需要綜合考慮。例如使用多個網路卡等。
3、CPUCPU資源基本上都是採用時分重複使用,也就是時間片的方式來輪詢的。
4、磁碟I/O是本機磁碟還是網路磁碟?如果是網路磁碟,是使用的iSCSI還是光纖?不同的情況,負載是不一樣的。
一般一台伺服器上能跑多少個虛擬機,需要綜合考慮實體伺服器,虛擬機負載等方面的整體狀況,再來計算。沒有一個固定的公式。
以上是可以在同一台伺服器上同時運行多台虛擬機器嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!