Open Stack Compute Infrastructure (Nova)
Nova是OpenStack云中的計算組織控制器。支持OpenStack云中實例(instances)生命周期的所有活動都由Nova處理。這樣使得Nova成為一個負責管理計算資源、網絡、認證、所需可擴展性的平臺。但是,Nova自身并沒有提供任何虛擬化能力,相反它使用libvirt API來與被支持的Hypervisors交互。Nova 通過一個與Amazon Web Services(AWS)EC2 API兼容的web services API來對外提供服務。
功能和特點:
實例生命周期管理
管理計算資源
網絡和認證管理
REST風格的API
異步的一致性通信
Hypervisor透明:支持Xen,XenServer/XCP, KVM, UML, VMware vSphere and Hyper-V
OpenStack計算的組成:
Nova 云架構包括以下主要組件:
API Server (nova-api)
Message Queue (rabbit-mq server)
Compute Workers (nova-compute)
Network Controller (nova-network)
Volume Worker (nova-volume)
Scheduler (nova-scheduler)
API Server(nova-api)
API Server對外提供一個與云基礎設施交互的接口,也是外部可用于管理基礎設施的唯一組件。管理使用EC2 API通過web services調用實現。然后API Server通過消息隊列(Message Queue)輪流與云基礎設施的相關組件通信。作為EC2 API的另外一種選擇,OpenStack也提供一個內部使用的“OpenStack API”。
Message Queue(Rabbit MQ Server)
OpenStack 節點之間通過消息隊列使用AMQP(Advanced Message Queue Protocol)完成通信。Nova 通過異步調用請求響應,使用回調函數在收到響應時觸發。因為使用了異步通信,不會有用戶長時間卡在等待狀態。這是有效的,因為許多API調用預期的行為都非常耗時,例如加載一個實例,或者上傳一個鏡像。
Compute Worker(nova-compute)
Compute Worker處理管理實例生命周期。他們通過Message Queue接收實例生命周期管理的請求,并承擔操作工作。在一個典型生產環境的云部署中有一些compute workers。一個實例部署在哪個可用的compute worker上取決于調度算法。
Network Controller(nova-network)
Network Controller 處理主機地網絡配置。它包括IP地址分配、為項目配置VLAN、實現安全組、配置計算節點網絡。
Volume Workers(nova-volume)
Volume Workers用來管理基于LVM(Logical Volume Manager)的實例卷。Volume Workers有卷的相關功能,例如新建卷、刪除卷、為實例附加卷,為實例分離卷。卷為實例提供一個持久化存儲,因為根分區是非持久化的,當實例終止時對它所作的任何改變都會丟失。當一個卷從實例分離或者實例終止(這個卷附加在該終止的實例上)時,這個卷保留著存儲在其上的數據。當把這個卷重附加載相同實例或者附加到不同實例上時,這些數據依舊能被訪問。
一個實例的重要數據幾乎總是要寫在卷上,這樣可以確保能在以后訪問。這個對存儲的典型應用需要數據庫等服務的支持。
Scheduler(nova-scheduler)
調度器Scheduler把nova-API調用映射為OpenStack組件。調度器作為一個稱為nova-schedule守護進程運行,通過恰當的調度算法從可用資源池獲得一個計算服務。Scheduler會根據諸如負載、內存、可用域的物理距離、CPU構架等作出調度決定。nova scheduler實現了一個可插入式的結構。
當前nova-scheduler實現了一些基本的調度算法:
隨機算法:計算主機在所有可用域內隨機選擇
可用域算法:跟隨機算法相仿,但是計算主機在指定的可用域內隨機選擇。
簡單算法:這種方法選擇負載最小的主機運行實例。負載信息可通過負載均衡器獲得。
以上所述是小編給大家介紹的OpenStack 中的Nova組件詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答
圖片精選