搭建虛擬機器主機需要考慮哪些因素?

搭建虛擬機器主機需要考慮哪些因素?

我想建立一個用於託管虛擬機器的伺服器。這些虛擬機器將扮演不同的角色,例如:

  • 資料庫伺服器
  • JBoss應用伺服器
  • Eclipse 開發實例(Java EE、Scala 等)

一次存取伺服器的使用者數量約為 5 人。作業系統可以是 Windows 也可以是 Linux,只要效果更好即可。使用者將需要圖形/桌面存取 Eclipse 開發實例。

  • 如何確定需要哪些硬體規格才能充分支援給定數量的使用者和虛擬機器?是否有關於每個使用者的最低資源等的指導原則?
  • 假設開發人員實際上位於伺服器附近,是否可以設定一個具有多個顯示器/鍵盤/滑鼠組的多座位盒,並為每個使用者分配一個訪客、鍵盤、滑鼠和顯示器頭?此設定的軟體和硬體將如何建構?

答案1

如何確定需要哪些硬體規格才能充分支援給定數量的使用者和虛擬機器?是否有關於每個使用者的最低資源等的指導原則?

讓我們看看您要運行的軟體的各種情況:

  • 資料庫伺服器

如果您有一台由所有開發人員共用的資料庫伺服器,則您應該執行可存取多個 CPU 核心和盡可能多的 RAM 的資料庫伺服器。快速(但不一定大)的磁碟很重要。磁碟大小取決於您是否計劃儲存用於開發的完整生產規模數據,或者您是否可以使用幾 GB。存在資料庫瓶頸將是一件壞事,但請記住,開發資料庫工作負載可能與生產資料庫工作負載有很大不同。前者的規模可能較小,涉及效率較低的查詢(查詢仍在開發中,並且正在通過即席查詢探索數據),而生產數據庫可能對其運行優化的查詢並進行操作巨大的數據集(希望)大部分緩存在RAM 中。

  • JBoss應用伺服器

JBoss 主要使用 CPU 時間(執行 servlet 時)、大量 RAM(因為它是 Java)和網路頻寬。與資料庫一樣,高級應用程式伺服器可以受益於多核心。確定要分配的正確虛擬核心數量的最佳方法是在不同數量的核心上進行測試。但作為一般規則,分配的虛擬核心數量永遠不要多於實體核心數量。

  • Eclipse 開發桌面環境

這很棘手。 Eclipse 本身會消耗數百兆的 RAM,但是一旦加載了所有插件,這個數字就應該保持相當靜態和水平。因此,您可能需要根據運行的插件數量來檢查需要多少 RAM。最簡單的 Eclipse RCP 應用程式只能使用 10 或 20 MB 的 RAM,但帶有 GEF 工具、版本控制工具和資料庫工具的成熟 JavaEE 環境可能會佔用超過 1 GB 的記憶體。 Java 原始檔的編譯不像本機程式碼那樣依賴 CPU,但仍然可以從多核心中受益。不過,一般來說,您的 Eclipse 執行個體可能會使用比資料庫或 JBoss 執行個體相對較少的資源(CPU、RAM、磁碟)。

總體而言,擁有五個用戶加上一些眾所周知的資源貪婪的伺服器端應用程序,您應該看起來很高端。無需命名品牌,例如:四核心、24 GB RAM 或更多,可能是 SSD 或 HDD 的快速硬體 RAID 陣列。

假設開發人員實際上位於伺服器附近,是否可以設定一個具有多個顯示器/鍵盤/滑鼠組的多座位盒,並為每個使用者分配一個訪客、鍵盤、滑鼠和顯示器頭?此設定的軟體和硬體將如何建構?

首先是一些前面的問題:這裡這裡

你很快就會學到的是有很多選擇而且這個領域沒有強而有力的領導者。沒有一種明顯的方法可以被 99.9% 的人使用。有些根本不使用虛擬化。有些使用 Xorg 的多個實例。有些使用 Windows 多點伺服器。有些用途......你明白了。這絕對是一個可行的配置,特別是對於只有五個用戶的情況...好處是您不必為每個人配備桌上型電腦,只需顯示器/鍵盤/滑鼠即可。缺點是你必須有一個更強大的中央伺服器來支援所有用戶,並且軟體配置更複雜。

對於多座位配置,您需要足夠的顯示卡,以便有足夠的連接埠來容納您需要的所有顯示器。您還需要一個用於所有鍵盤和滑鼠的 USB 集線器。

請注意,一旦您致力於多席位配置,您將在顯示卡(可能還包括多席位軟體)上進行投資,這將使您必須讓開發人員實際位於伺服器上。因此,如果您稍後決定引入另一位在世界另一個地方工作的開發人員,他們將無法(輕鬆)透過拉起椅子並攜帶鍵盤/滑鼠/顯示器來加入您現有的設定。一旦達到視訊卡連接埠限制,也可能很難將您的設定擴展到更多開發人員。

相關內容