FANDOM


Nova 概念與介紹 Nova 也被稱為 OpenStack Compute , 是一套用開源控制基礎架構Iaas 的雲端運算平台軟體。它的架構與功能類似Amazon EC2 與 Rackspace Cloud Servers. Nova 它本身是不包含虛擬化軟體,反而它是定義了一個驅動既有底層虛擬化作業系統的機制,並且將功能擴展為透過web API來進行操作。如圖一所示 API Server 透過Openstack API 與EC2 API 來管理所有的Hypervisor 機制

Nova 是一個建立shared-nothing, 訊息基礎架構上,Shared nothing架構是一 種分佈式計算架構。這種架構中的每一個節點( node)都是獨立、自給的,而且整個系統中沒有單點競爭。有些系統需要集中保存大量的狀態訊息資料庫、應用服務器或是其他類似的單點競爭系統。這種方案提供的scalability。Google在這個方面做了很好的示範。 在一個純Shared Nothing系統中,通過簡單地增加一些廉價的計算機做為系統的節點卻可以獲取幾乎無限的擴展。正是由於Shared Nothing架構中不存在單一瓶頸而降低系統運行速度。Google 稱之為sharding。 Shared nothing系統通常需要將他的數據分佈在多個節點的不同數據庫中(不同的計算機處理不同的用戶和查詢)或者要求每個節點通過使用某些協調協議來保留它自己的應用程序數據備份 ,這通常被成為數據庫Sharding。 現在對一個有著多個獨立的web節點卻存在一個惟一的共享數據庫這樣的架構是否能被稱之為 Shared nothing架構還是有很多爭論的。一個狀態型的應用(通常將狀態保存到一個集中化的數據庫中)要獲得shared nothing架構就需要通過數據網格和分佈式Cache。 但即便是這種架構,數據庫依然是故障單點

Instances觀念 代表是在雲端內的一台虛擬機器稱之為instance

概念:Instance Type ●instance type 描述了一個虛擬機器的cpu/mem/storage 能力值,一般人會說size(vcpu,Ram 數量).若你用過 Amazon EC2 服務 他分為 Small Instance,Large Instance,Extra Large Instance 等.. 若以Large Instance他的硬體規格為以下而每種Instance Type計價方式依等級高低 與租用方式有所分別,

7.5 GB memory 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each) 850 GB instance storage 64-bit platform I/O Performance: High API name: m1.large. 其他instance type 參考此處http://aws.amazon.com/ec2/instance-types/ 在openstack裡預設是以以下的五種分類

m1.medium – 4096M, 2CPU, 40G Space
m1.large – 8192M, 4CPU, 80G Space
m1.tiny – 512M, 1CPU, 0G Space
m1.xlarge – 16384M, 8CPU, 160G Space
m1.small – 2048M, 1CPU, 20G Space
Novadiagram

nova架構


理念:Users and Projects

  • User獲取的image的權力限制根據於Project與user的關係
  • accessc或secret是根據每個User
  • keypairs 根據User
  • quotas的使用權取根據Project

概念:Virtualization 概念: 系統架構(System Architecture) Nova 由7個主要元件組成,Cloud Controller 是整個架構的抽象代表,與所有元件都有互動。API service 的工作就像Cloud Controller 的前端web service一樣。Compute Controller 則是提供運算伺服器的資源。Object Store 則提供儲存的服務。Auth Manager 提供認證與授權的服務,Volume Controller 則提供快速與永久的block級存儲給運算伺服器。 Network Controller 提供虛擬網路使Compute servers 能跟彼此互動亦能通到外部網路。Scheduler 則是選擇最適合的 Compute Controller 來啟動虛擬機器。 Nova 建立在一個無分享訊息(Shared-nothing)基礎的架構上,所有主要元件包含Compute Controller , Volume Controller, Network Controller, 與 Object Store 可在多重主機上運作。 Cloud Controller 透過Http 與 Object Store 溝通,但是透過AMQP與Scheduler , Network Controller , Volume Controller 溝通,NOVA使用非同步呼叫以避免在等待回應時造成阻塞,當收到一個回應時一個call-back 才會被觸發。 為了達成無共享財產在多份相同的組件之間,Nova保留所有雲端系統的狀態在分散式的數據儲存。透過atomic transaction的要求,系統狀態的更新被寫入這個數據儲存點。請求將系統數據狀態讀出來。在有限的情況下,讀取的結果短時間會被暫存在控制器 內。(例如目前系統使用者列表)


儲存 Volumes 一個Volume 可以被拆卸的block儲存裝置,可以想像成一個USB隨身碟。一個volume一次只能被一個instance 所使用,模式跟SAN並不同。如果想將同一個Volume提供給多個instances使用,有一個方法是將Volume掛載後,再以NFS或是SAMBA的方式分享。 SAN SAN技術廣泛的運用在企業裡,用以提供高速的、可管理的、具容錯能力的、富彈性的儲存服務。譬如作為資料儲存、備份、系統備援等。SAN不是單 一設備或是某種協定,它是一種服務架構,結合多種硬體(如:光纖、HBA卡、高速交換機、伺服器、磁碟陣列等)與軟體(管理軟體、initator與 target軟體、驅動程式等)的技術。採用SAN的架構,可以將各個單一的儲存設備連結起來,提供整合性的管理與應用。SAN最大的用途不僅在於做為資 料的儲存,而是在於其容錯與災難備援的能力。

SAN的優點有: + 儲存設備的分享,具有經濟效益。透過網路架構,所有的用戶端不必直接連接到特定的儲存設備上就可以使用期資源。 + 有效的管理。透過管理軟體,可以更有效的管理儲存的資料與制定備援計劃。 + 容錯能力,降低風險。SAN提供多種容錯功能,從最簡單的mirror到進階的snapshot,在在可以減低資料遺失或是企業服務中斷的風險。 http://ithelp.ithome.com.tw/question/10008219

Local Storage 啟動的instance只要比m1.tiny還大,都會掛載一個本機磁碟,目前都是第二個磁區。

Quota Nova支援個別project的資源分配,目前有虛擬機數量,核心總數量,Volumes 的數量,總儲存容量還有浮動IP的數量。

概念: RBAC(roles based access control) Nova 對API指令有身份層級存取控制能力,一個使用者可以有多重的層級(role或譯角色),層及定義了一個使用者可以使用哪些api_commands。

Hypervisor 在計算機領域裡一種管理眾多虛擬機程式,也稱為虛擬機管理器(VMM Virtual Machine Manage),是眾多硬體虛擬化技術,允許多個各種不同虛擬機,我們稱為這些虛擬機器為guests ,Hypervisor主要同時讓這些guests運行在同一台主機上。

什麼是虛擬系統?簡單來說,就是讓原本的作業系統,可以在運行另外一套,甚至多套的作業系(Guest OS),這與一般所謂的多重開機是不一樣的,差別在於,多重開機一次只能指定運作一套作業系統,而虛擬系統呢,則可以在同一硬體,相同時間之內,與原本的 作業系統(Host OS)同時運作,甚至可執行不同的應用系統,以滿足同一時間之內不同的服務需求。 完全虛擬化(Full virtualization) 所謂的完全虛擬化,指的就是該虛擬系統,完全是透過軟體來模擬一個虛擬的硬體環境,並透過轉譯的方式,來處理虛擬硬體與實體硬體之間溝通的橋樑,不過,也由 於所有硬體資訊的溝通,都需要透過轉換的方式來運作,可想而知,虛擬系統上的虛擬電腦的效能勢必大打折扣,即使硬體規格強悍,也僅可以達堪用的程度,早期 的 VMware Workstation 的版本,就屬於此類。 半虛擬化(Paravirtualization) 半 虛擬化則是以修改系統(Guest OS)核心的方式,簡化了 CPU 與週邊裝置操作指令轉譯的複雜度, 以提昇虛擬系統的效能,如 早期版本的 Xen 就屬於半虛擬化的虛擬系統,但遺憾的是,除了開放系統(如大部分的 Linux )之外,如 Windows 等較為封閉的作業系統,就無法執行半虛擬化的虛擬系統。

寄居架構(Hosted Architecture) 就是在現有的作業系統(Host OS)之上,再運行虛擬系統,並建立虛擬電腦,完全虛擬化就是這種類型,好處就是硬體的相容性高,但最大的缺點,就是一旦任何一部虛擬電腦發生異常, 所有的虛擬電腦就都無法開機運作(早期 VWare Workstation 就容易出現這樣的狀況),且各個虛擬電腦都沒有獨立的硬體資源,容易相互影響運作效能,除此之外,寄居架構之內的虛擬電腦,由於是寄居在實體作業系統的檔 案系統之上,所有虛擬系統之內的虛擬電腦,所有資料的存取與異動,都需要透過兩層檔案系統的轉換(虛擬系統與實體系統),可想而知,如此繁瑣的動作,則是 效能不彰的另一主因 裸機架構(Bare-Metal) 裸機架構,則存在一個管理程序(Hypervisor),管理所有 虛擬電腦的運作,且任一個虛擬電腦的運作皆不會影響到其他的虛擬電腦,如 VMware ESXi 或是 Linux KVM,就是這種類型,且這些虛擬系統就直接使用裸機系統自定的檔案系統,也減少了資訊轉換的程序,但大前提是,實體 CPU 必須支援虛擬化的技術(Intel VT 或 AMD-V),才能安裝並執行裸機式虛擬系統。

Flat Mode 最簡單的網絡模式。每個instance從pool接收到固定IP。所有的install都連結到同一個brige,再這裡我們默認的預設br100。brige必須要手動配置。網絡配置設定是再插入instance之前啟動。請注意,在Linux系統中這種風格的作品,目前僅保留在/etc/network/interfaces中的網絡配置。 平DHCP模式¶

除了特别提示,社区内容遵循CC-BY-SA 授权许可。