• slider image 168
:::
條列式新聞
新聞載入中,請稍後...

3-0-0-1 建立虛擬機 的認識

Proxmox 所提供的虛擬機類型,主要分為 KVM 和 LXC  (LINUX Container) 兩大類,

  1. KVM (qemu):虛擬機中包含整個作業系統
    像 VirtualBox 或 VMWare 是用軟體來模疑硬體的方式,讓虛擬機器有獨立的虛擬硬體可用
    和實體機完全一模一樣,可以隨時加入虛擬硬碟擴充虛擬容量

     
  2. LXC  :LXC 只能用來跑 Linux 的虛擬機器,嚴格來說,lxc 提供的是一個執行環境而不是一台機器
    執行效率損失較低,幾乎接近實體機的效能, 而且,虛擬機容量的大小,在一開始就決定好的,應該無法再變更大小
    但提供的功能較少。例如,無法直接使用 nfs 掛載(解決方式請參閱  
    LXC 容器 LXC Bind Mounts 的方法)

 

類別 KVM LXC Docker 備註
    1982年,Unix系統內建的chroot機制也是一種Container技術。其他如1998年的FreeBSD jails、2005年出現的Solaris Zones和OpenVZ,或像是Windows系統2004年就有的Sandboxie機制都屬於在作業系統內建立孤立虛擬執行環境的作法,都可稱為是Container的技術。 直到2013年,dotCloud這家PaaS服務公司開源釋出了一套將Container標準化的平臺Docker,大受歡迎,所以,dotCloud決定以Docker為名成立新公司力推。  
         
技術 傳統虛擬化技術如vSphere或Hyper-V是以作業系統為中心 以應用程式為中心的虛擬化技術。    
  技術從作業系統層下手,目標是建立一個可以用來執行整套作業系統的沙箱獨立執行環境,習慣以虛擬機器(Virtual Machine)來稱呼 直接將一個應用程式所需的相關程式碼、函式庫、環境配置檔都打包起來建立沙箱執行環境    
  虛擬機器需要安裝作業系統(安裝Guest OS)才能執行應用程式 Container內不需要安裝作業系統就能執行應用程式 Docker採用了aufs檔案系統來設計一個可以層層堆疊的Container映象檔,將Container內的所有程式(包括應用程式、相關函式庫、設定檔),都打包進Docker映象檔,並且提供了一個Dockerfile設定檔來記錄建立Container過程的每一個步驟包括參數。只要在任何支援Docker平臺的環境中,就可以從這個映象檔來建立出一個一模一樣的Container來執行同一個應用程式。如此一來,應用程式等於是可以透過Docker映象檔,或甚至只需要Dockerfile,就能將程式執行環境帶著走,移動到任何支援Docker的環境中。Docker公司也釋出API,可以用來控制所有的Container相關指令,任何人只要使用同一套Docker,就等於有了同一套管理和建立Container的方法,也就等同於將Container運用標準化了。  
    是在OS內的核心系統層來打造虛擬執行環境,透過共用Host OS的作法,取代一個一個Guest OS的功用。Container也因此被稱為是OS層的虛擬化技術。  
  需要數十秒或數分鐘甚至數十分鐘才能開啟的傳統虛擬機器。 採取共用Host OS的作法,而不需在每一個Container內執行Guest OS,因此建立Container不需要等待作業系統開機時間,不用1分鐘或幾秒鐘就可以啟用  

 


:::
展開 | 闔起

文章類別

書籍目錄

展開 | 闔起

線上使用者

13人線上 (11人在瀏覽線上書籍)

會員: 0

訪客: 13

更多…