OpenStack和VNC
Openstack默認安裝的訪問控制台基於VNC的。我們從Horizon進入主機實例的控制台,就是noVNC。我在之前的一篇文章里專門對noVNC也做過測試(http://blog.csdn.net/chao_beyond/article/details/24922397)。這里不討論noVNC的原理,主要羅列下我在使用OpenStack過程其中。關於VNC的幾點記錄:
1。 通過nova get-vnc-console <server id> novnc命令。能夠獲取對應雲主機實例的url。然后拷貝到瀏覽器直接打開。
2, 除了noVNC的訪問類型,默認還有xvpVNC訪問類型。能夠通過普通client來訪問控制台。
在github上實用java寫的xvpvncviewer,代碼還是比較好讀,執行起來也簡單。后期也計划對xvpvncviewer做更進一步的二次開發。獲取xvpVNC訪問的url同上面的命令,僅僅須要將novnc改成xvpvnc。個人更喜歡xvpvnc。
3, Openstack的雲主機實例,默認是從5900port開始的,對於少量測試的主機實例來說,能夠猜測出vnc地址和port,這樣一來。不論什么VNC Client都能夠用來連接。
4,OpenStack有獲取訪問控制台url 的api。能夠在代碼其中調用。地址。
Spice和VNC
剛開始是在VNC上折騰。后面將windows鏡像放在Openstack,發現VNC非常多問題。比方出現兩個鼠標光標、屏幕無法自適應等,桌面系統的用戶體驗非常糟糕。考慮在VNC上進行改動意義不大。而且參考了網上關於Spice和VNC的比較,最后放棄VNC選擇了Spice。以下主要講OpenStack和Spice的融合。
OpenStack和Spice-HTML5
Openstack是支持Spice,用devstack安裝Openstack,僅僅須要在localrc文件中面凝視掉vnc的配置項。增加下面內容就可以:
enable_service n-spice
disable_servicen-novnc
disable_service n-xvnc
可是,須要注意下面幾點:
1, 眼下僅僅在Centos和Fedora上測試成功。Ubuntu不行。
Ubuntu系統眼下還沒有Spice的安裝包。手動安裝也沒有成功,聽說未來Ubuntu會支持Spice。
2, 通過以上配置,在Openstack節點安裝了Spice-Server,Spice-Protocol和Spice-HTML5,僅僅能通過網頁訪問實例主機控制台(Spice-HTML5和noVNC類似)。
3。 假設Spice-HTML5未自己主動安裝,須要手動安裝,RPM包地址。還須要將Spice-HTML5的文件夾文件拷到/opt/stack以下。
OpenStack和Spice-http
關於Spice-http的設想源於xvpVNC,由於通過網頁訪問控制台(系統桌面)還是有非常大的局限性,當初希望Openstack也有Vmware Horizon Client類似client。后來初步的設想是仿照VNC在OpenStack訪問原理,在Openstack其中增加類似xvpVNC的支持模塊。支持Spice Client。
(未完待續,擴展或參考內容文中超鏈接)