1. 程式人生 > >雲計算---openstack創建虛擬機過程

雲計算---openstack創建虛擬機過程

存儲信息 記錄 sched boot 接受 stack log 網絡信息 虛擬化

技術分享

虛擬機創建過程:

(1)界面或命令行通過RESTful API向keystone獲取認證信息。
(2)keystone通過用戶請求認證信息,並生成auth-token返回給對應的認證請求。
(3)界面或命令行通過RESTful API向nova-api發送一個boot instance的請求(攜帶auth-token)。
(4)nova-api接受請求後向keystone發送認證請求,查看token是否為有效用戶和token。
(5)keystone驗證token是否有效,如有效則返回有效的認證和對應的角色(註:有些操作需要有角色權限才能操作)。
(6)通過認證後nova-api和數據庫通訊。
(7)初始化新建虛擬機的數據庫記錄。
(8)nova-api通過rpc.call向nova-scheduler請求是否有創建虛擬機的資源(Host ID)。
(9)nova-scheduler進程偵聽消息隊列,獲取nova-api的請求。
(10)nova-scheduler通過查詢nova數據庫中計算資源的情況,並通過調度算法計算符合虛擬機創建需要的主機。
(11)對於有符合虛擬機創建的主機,nova-scheduler更新數據庫中虛擬機對應的物理主機信息。
(12)nova-scheduler通過rpc.cast向nova-compute發送對應的創建虛擬機請求的消息。
(13)nova-compute會從對應的消息隊列中獲取創建虛擬機請求的消息。
(14)nova-compute通過rpc.call向nova-conductor請求獲取虛擬機消息。(Flavor)
(15)nova-conductor從消息隊隊列中拿到nova-compute請求消息。
(16)nova-conductor根據消息查詢虛擬機對應的信息。
(17)nova-conductor從數據庫中獲得虛擬機對應信息。
(18)nova-conductor把虛擬機信息通過消息的方式發送到消息隊列中。
(19)nova-compute從對應的消息隊列中獲取虛擬機信息消息。
(20)nova-compute通過keystone的RESTfull API拿到認證的token,並通過HTTP請求glance-api獲取創建虛擬機所需要鏡像。
(21)glance-api向keystone認證token是否有效,並返回驗證結果。
(22)token驗證通過,nova-compute獲得虛擬機鏡像信息(URL)。
(23)nova-compute通過keystone的RESTfull API拿到認證k的token,並通過HTTP請求neutron-server獲取創建虛擬機所需要的網絡信息。
(24)neutron-server向keystone認證token是否有效,並返回驗證結果。
(25)token驗證通過,nova-compute獲得虛擬機網絡信息。
(26)nova-compute通過keystone的RESTfull API拿到認證的token,並通過HTTP請求cinder-api獲取創建虛擬機所需要的持久化存儲信息。
(27)cinder-api向keystone認證token是否有效,並返回驗證結果。
(28)token驗證通過,nova-compute獲得虛擬機持久化存儲信息。
(29)nova-compute根據instance的信息調用配置的虛擬化驅動來創建虛擬機。

雲計算---openstack創建虛擬機過程