虛擬環境概念和方針
注意事項 |
---|
本主題假設您已熟悉在應用程式生命週期中使用虛擬實驗室主題中說明的基本虛擬化概念,例如虛擬機器和虛擬機器範本。 |
本主題描述在 Microsoft 測試管理員中使用 Visual Studio Lab Management 建立虛擬環境的概念與指導方針。 此主題包括下列章節:
虛擬環境
預存環境與已部署的環境
Team 專案實驗室中已部署的環境
Team 專案程式庫中的預存物件
環境檢視器
建立虛擬環境的指導方針
不使用網路隔離的環境
網路隔離環境
組合的環境
預存虛擬機器和範本的指導方針
虛擬環境
虛擬環境是 Lab Management所管理的虛擬機器集合。 您可以從 Microsoft 測試管理員使用這個虛擬環境,執行手動與自動化測試。 您可以排程 Microsoft Team Foundation Build 工作流程,在虛擬環境上建置、部署和測試應用程式的組建。 Lab Management 已與 Microsoft System Center Virtual Machine Manager (SCVMM) 整合,可讓您有效地建立、儲存和執行這些環境。
Lab Management 環境可讓測試人員執行下列工作:
儲存環境的快照,以保存環境中的所有虛擬機器在某個時間點的狀態。
測試人員可以對設定的環境擷取快照,然後在完成測試後將環境還原成這個乾淨狀態。 測試人員可以在發現 Bug 後擷取環境的快照,然後在 Bug 中附加快照的連結。 調查錯誤 (bug) 的開發人員可以在測試人員繼續處理其工作的同時,建立快照環境的複本。
同時啟動和停止多部虛擬機器。
執行程式庫中所儲存的多個環境複本。
Microsoft 測試管理員實驗室與程式庫中的預存環境與已部署的環境
您可以從測試管理員的 [實驗室] 和 [程式庫] 索引標籤中,管理 Team 專案的 Lab Management 環境。
[實驗室] 索引標籤可存取在 Team 專案之主機群組上部署的虛擬環境和機器。 主機群組是 Lab Management 用於裝載環境所管理之一部或多部實體電腦的集合。 與主機群組互動的方式,就如同與單一電腦互動的方式。
[程式庫] 索引標籤則可存取您在 Team 專案實驗室中建立虛擬環境所使用的預存環境、虛擬機器以及範本。
Team 專案實驗室中已部署的環境
測試管理員的 [實驗室] 索引標籤會顯示可供您 Team 專案使用的已部署環境和虛擬機器。
已部署的環境是位於 Team 專案主機群組上的虛擬機器集合。 已部署的環境可以是執行中或已停止的環境。
您可以從 [實驗室] 索引標籤,透過環境檢視器連接至個別的機器,而且您可以在 Team 專案程式庫中建立並儲存虛擬環境和範本。
已部署環境的來源
您可以從下列來源建立已部署的環境:
1 |
一個或多個範本。 範本是指已移除其電腦身分識別的虛擬機器。 |
2 |
預存虛擬機器或範本的任意組合。 在多數情況下,降低錯誤發生可能性的最佳做法是,僅從預存虛擬機器或僅從範本建立環境。 |
3 |
環境的預存環境。 |
4 |
預存虛擬機器或範本之任意組合的預存環境。 |
5 |
已經在 Lab Management 外部建立的一部或多部已部署的虛擬機器。 這些環境稱為「組合的環境」(Composed Environment)。 |
Team 專案程式庫中的預存物件
您可以從 [程式庫] 索引標籤匯入、修改以及移除預存虛擬機器和範本。 您也可以建立與修改預存環境,並將這些環境部署到實驗室。
預存虛擬機器和範本
[實驗室] 索引標籤的 [預存機器和範本] 區域會列出您用來建立已部署之環境的虛擬機器以及虛擬機器範本。
預存機器和範本有兩個來源:
系統管理員會在 SCVMM 程式庫共用中建立並儲存它們。 接著,您要將虛擬機器和範本匯入到 Team 專案程式庫中。
您可以從已部署之環境中的虛擬機器建立虛擬機器或範本,並儲存在程式庫中。
預存範本
範本是指已移除其識別資訊的虛擬機器。 當您在已部署的環境中加入範本時,就會建立新的虛擬機器。 您可以設定範本以自動提供識別資訊,或者您可以在部署環境時,提供識別資訊。
預存虛擬機器
當您從已部署之環境中的 Team 專案程式庫加入預存虛擬機器時,就會將虛擬機器完全相同的複本複製到 [實驗室] 中的主機。 由於複製之機器的身分識別與來源機器相同,因此您必須採取步驟,以防加入網路的電腦上出現重複的身分識別。
最佳做法是確認 [程式庫] 中的所有虛擬機器都是工作群組機器,而且沒有加入網域。
當您建立非網路隔離的環境時,變更電腦名稱,然後將其加入外部網域。
變更電腦名稱,然後將機器加入網域的順序,可確保機器的身分識別是唯一的。
如果您建立網路隔離的環境,Lab Management 會為外部網路上的機器建立一個別名。 您可以在環境內部使用私人網路上的電腦,或將該電腦保留為工作群組機器。
環境
[程式庫] 索引標籤的 [環境] 區域會列出 Team 專案的預存環境。 預存環境包含組態資訊以及虛擬機器和範本的參考。 您可以從預存環境部署新的環境。
環境檢視器
Microsoft 環境檢視器,用於管理實驗室中正在執行的環境與虛擬機器。 [環境檢視器] 可讓您:
啟動、停止與暫停環境。
擷取環境狀態的快照,或將環境還原為先前的快照。
檢視快照所包含之環境和虛擬一器的狀態及系統資訊。
連接至環境中的個別機器。
如需詳細資訊,請參閱操作和修改虛擬環境。
建立虛擬環境的指導方針
建立與使用虛擬環境有三個常見的模式:
使用非網路隔離的環境。
使用網路隔離:
在組合的環境中使用已部署的虛擬機器。
不使用網路隔離的環境
不使用網路隔離的環境只會加入到外部網路。 這些環境是從專案程式庫中的虛擬機器、範本和預存環境建立。
建立從預存虛擬機器和範本建立的環境
當您從預存虛擬機器或範本建立已部署的環境時,您要將每個已部署的機器自訂為擁有唯一的名稱。 您可以將範本設定為自動提供自訂。 一旦完成環境之後,就加以刪除。 其他使用者可以使用相同的方式,從相同的預存虛擬機器或範本建立類似的環境。 如需詳細資訊,請參閱 HOW TO:從虛擬機器或範本建立環境
從預存環境建立環境
您也可以從預存虛擬機器、範本或已部署的環境建立預存環境。 當您部署預存環境時,必須自訂從預存虛擬機器建立之虛擬機器的名稱;範本可以設定為自動提供自訂。 如需詳細資訊,請參閱建立預存環境。
從預存的範本環境產生的環境,會具有相同的功能。 這些環境並不是彼此完全相同的複本,因為部署環境中電腦的身分識別全都是唯一的。
優點
您可以同時執行多個環境複本。
當環境中執行的預先安裝應用程式沒有因為虛擬機器的身分識別變更而受影響時,部署環境的工作可能很簡單。
環境中的虛擬機器數目和大小沒有限制。
缺點
您必須為已部署的每一部虛擬機器提供識別資訊。 您可以使用範本,將此程序自動化。
已部署的環境並不是彼此完全相同的複本。
無法重新設定以處理變更過之識別的預先安裝應用程式將會中斷。 這些應用程式必須在部署之後安裝。
一次只能執行某個環境的一個快照。 例如,如果測試人員在發現錯誤 (bug) 時建立環境狀態的快照,則無法與開發人員共用環境的複本進行調查,並同時繼續處理其環境。
網路隔離環境
網路隔離環境中的機器使用兩張網路介面卡來防止網路衝突。 一張網路介面卡用於環境內的私人網路。 另一張介面卡則由 Lab Management 設定,以向外部網路呈現個別的唯一識別。 電腦的 NetBIOS 廣播會停用,而 Lab Management 識別會註冊做為電腦的別名。 這個個別識別可讓環境中與外部網路中的虛擬機器進行雙向通訊,即使環境有多個複本在執行亦然。
您可以儲存網路隔離環境,以便可以同時執行環境的多個複本。 複製網路隔離環境時,兩個複本中的對應虛擬機器就是彼此完全相同的複本,因為私人網路中機器的身分識別在每次進行部署時,都維持相同。 外部網路上的虛擬機器別名可確保不會發生網路衝突。
當您從虛擬機器或範本部署環境時,要選擇網路隔離功能來建立網路隔離環境。 接著,您要安裝所有必要的應用程式。 如有必要,您也要將虛擬機器連接至私人網路。 然後,您就可以將環境的複本直接儲存到程式庫中。 小組成員可以同時部署多個預存環境複本。 如需詳細資訊,請參閱 HOW TO:建立和使用網路隔離環境。
優點
部署的環境並是彼此完全相同的複本。 開發人員和測試人員可以確定其環境是相同的。
預先安裝的應用程式不會受部署影響。 由於機器的身分識別沒有變更,因此不必重新設定或重新安裝應用程式。
建立實際執行環境模型的環境最容易建立為隔離環境。
您可以同時執行多個環境快照。 例如,測試人員可以在發現錯誤 (bug) 時建立環境狀態的快照,然後將環境的複本儲存在程式庫中。 當開發人員從預存複本部署新環境,並使用預存快照調查錯誤 (bug) 的同時,測試人員可以繼續處理環境。
缺點
隔離網路中的所有虛擬機器都必須裝載於單一主機上。
網路隔離環境中的虛擬機器必須加入工作群組,或加入虛擬環境內之網域控制站所主控的私人網域。 您在網路隔離環境中,無法擁有加入到研究室網路上之網域控制站所主控網域的虛擬機器。
當隔離環境使用私人網域時,每個部署的環境都需要有網域控制站和 DNS 伺服器。 您應該針對這個角色使用額外的虛擬機器。 私人工作群組並不需要額外的電腦。
環境中的每一部虛擬機器都需要兩張網路介面卡。 您的應用程式可能無法在使用兩張網路介面卡的電腦上運作。
組合的環境
組合的環境不會從主機上部署的虛擬機器建立。 這些虛擬機器的建立與管理是由測試管理員所執行。 因此,您必須將已部署的虛擬機器設定為防止網路衝突,然後才能建立環境。
在系統管理員將虛擬機器放在位於 Team 專案實驗室中的實體機器上之後,您要在組合的環境中選擇一部或多部機器來建立新的環境。 當您完成環境時,請將其刪除,以便將機器釋放回系統管理員。 您不應該在程式庫中儲存組合之環境的複本。 如需詳細資訊,請參閱 HOW TO:從已部署的虛擬機器撰寫環境。
組合的環境在兩個常見的案例下非常實用:
使用現有的虛擬機器以開始使用 Lab Management。組合是建立虛擬環境以及了解測試這些環境之優點的快速方式。 在開始使用之前,您不必了解範本與程式庫的概念。
將已經用於測試練習的虛擬機器加入到組織內部。 您可以只使用現有的虛擬機器,將其組合成虛擬環境,然後當做工作流程部署或測試的目標使用,而不必重新建立所有資產。
優點
一旦在現有的虛擬機器上安裝 Lab Management 及適當的測試管理員軟體代理程式之後,您就可以立即建立並使用虛擬環境。
您可以在不干擾目前測試的情況下,轉換到 Lab Management。
缺點
您無法將這些環境儲存到程式庫中,並建立多個複本。
您無法在組合的環境上設定網路隔離功能。
預存虛擬機器和範本的指導方針
您可以在 Team 專案程式庫中,使用預存虛擬機器和範本的任意組合。
在 Team 專案程式庫中選擇預存虛擬機器或範本的主要考量是避免網域中的名稱發生衝突。
虛擬機器中的命名衝突
一部電腦會有數個識別碼,這些識別碼讓該機器在網路或工作群組中保有唯一識別性。 這些識別碼包括:
電腦名稱 - 此名稱也就是所謂的機器或主機名稱。
MAC (媒體存取控制) 位址 - 網路介面卡的識別碼。
SID - 指派給電腦的 Windows 安全性識別碼。
IP (網際網路通訊協定) 位址 - 電腦的唯一數值識別碼。
如果虛擬機器的多個複本要在某個網域或工作群組上執行,並共用其中一個或多個識別碼,就可能會經常發生命名衝突。 兩部機器間的命名衝突可能會導致下列情況:
其中一部或兩部機器與網路中斷連線。
網路流量的目標錯誤。如果兩部機器在網路上有相同的身分識別,可能會將用於某部機器的命令或訊息傳送到另一部。
建議的作法是在可能的情況下使用範本。 範本對某些使用者而言可能是不熟悉的概念,但是當您使用範本時降低名稱衝突的風險可能會讓額外的學習曲線成為可接受的負擔。 您可以設定範本,以便為從該範本建立的虛擬機器自動建立唯一的身分識別,或者您可以設定範本,要求使用者在部署範本時提供身分識別。 範本也提供不適用於預存虛擬機器的其他部署選項,例如部署機器時執行指令碼,以及指定已部署之機器要加入的網域或工作群組。
在某些情況下,預存虛擬機器可能是慣用的選擇。 例如,如果安裝相依於固定電腦名稱的應用程式 (例如 SQL Server),您應該使用虛擬機器 (而非範本),將已設定之機器的複本儲存在 Team 專案程式庫中。 在這些情況下,如果您要同時執行多個虛擬機器複本,則必須在環境中使用網路隔離。
您可以在已部署的環境中,從儲存在 Team 專案程式庫中的虛擬機器範本和虛擬機器,建立擁有唯一身分識別的虛擬機器。