
如果我需要 N 個虛擬機器來運行相同的作業系統,這只意味著我需要安裝這 N 個機器,然後還必須處理它們的更新等等...
是否可以只使用一台虛擬機器作為安裝了作業系統的基礎,這樣我只需要更新一個虛擬機器作業系統,其餘所有虛擬機器都將使用此基礎虛擬機器來安裝他們需要的其他軟體。這意味著更新基礎將更新所有這些。
問題一:這可能/可行嗎?
如果這是不可能的,是否可以擁有一個主機作業系統,然後完全虛擬化環境,這樣運行環境就會開始主機中的虛擬沙箱,用於安裝和使用與環境相關的應用程式。這也意味著我只需要關心主機作業系統,所有沙箱都將獲得更新的作業系統。如果這可能的話,是否也可以同時運作多個沙箱?
問題2:環境沙箱是否可能達到真正不干擾主機作業系統的程度?這樣它不會對主機上運行的非沙盒應用程式產生任何影響。
筆記:我只熟悉VMWare Workstation/VirtualBox VM,它們在維護方面與作業系統是分開的。我從未使用過或研究過任何其他東西。
答案1
虛擬化/隔離和部署方法多種多樣,因此一切皆有可能。
模板虛擬機部署
通常,主機在從黃金映像範本部署後會就地更新。您可能有一個通用的 Web 伺服器磁碟,但假設web2
已經安裝了某個版本的網站。從模板刷新必須保留該自訂。也許您可以將資料保存在單獨的磁碟上,或者非常擅長重新部署應用程序,或者其他什麼。
另一種方法是維護兩個生產環境,更新被動環境,然後切換到它。這有時被稱為藍綠部署。如果需要,下一個版本可以是具有更新作業系統的新複製虛擬機器。或新部署的容器。這讓我們...
貨櫃
關於沙箱,容器擅長隔離共享作業系統核心和硬體資源上的進程。一個輕量級容器無法存取另一個容器的資源,並且您可以運行其中的許多資源。儘管如此,共享意味著一個硬體故障或核心恐慌可能會導致所有容器崩潰。您還沒有指定哪個作業系統,但這個概念已在許多隔離技術中實現:Solaris 區域、BSD 監獄、AIX WPAR、Windows 容器、Linux 容器。
根據技術的不同,容器中可能需要維護一些作業系統元件。但通常不是,它們通常是輕量級的,只是應用程式的使用者空間程式。
答案2
回答您的第一個問題:您可以透過維護範本即時建立虛擬機器。這在任何虛擬機器管理程式上都是可能的。
但您必須單獨管理作業系統(主機和來賓)。