OpenStack配置串口顯示虛機界面
OpenStack的horizon能夠顯示虛擬機的界面。horizon是web界面,在我們的電腦上,姑且稱之為本地,虛擬機運行在遠端服務器上,稱之為遠端。本地顯示遠端的界面,OpenStack提供了多種方式,noVNC 遠程桌面協;RDP(Remote Desktop Protocol 遠程桌面協議);SPICE (Simple Protocol for Independent Computing Environment獨立計算環境簡單協議)。這些都是圖形顯示界面,如果在生產環境中無法顯示圖形界面,例如虛擬交換機只能通過串口顯示,該怎么辦?其實OpenStack從J版本開始提供了串口的顯示方式。
串口顯示說明:
在nova.conf文檔中有關於串口顯示的描述:
根據描述我們能夠知道想要串口顯示,控制節點要安裝nova-serialproxy,控制節點和計算節點需要配置[serial_console]中的選項。
一、配置項:
1.1 控制節點:
安裝nova-serialproxy控件:
apt-get install nova-serialproxy
配置/etc/nova/nova.conf
默認連接是vnc,首先關閉vnc連接。
配置串口顯示
重啟服務:
關閉noVNC服務:
service nova-novncproxy stop
重啟serialproxy服務:
service nova-serialproxy restart
1.2 計算節點:
配置/etc/nova/nova.conf
默認連接是vnc,首先關閉vnc連接。
配置串口顯示
base_url中的ip是控制節點ip,端口號不能變。
proclient_addres是指本機IP。
重啟nova-compute服務
service nova-compute restart
1.3 配置項解釋
base_url的配置項解釋:
proxyclient_address的配置項解釋:
二、簡單工作流程:
1.遠程客戶端(瀏覽器)請求串口輸出信息,nova服務收到請求;
2.nova-api返回給客戶端以base_url為前綴的websocket URL;
3.遠程客戶端嘗試連接該URL,客戶端連接到nova-serialproxy服務; 4.nova-serialproxy服務將查找計算節點注冊過的proxyclient_address;
5.nova-serialproxy找到計算節點,連接虛擬機,串口信息傳輸到客戶端;
具體工作流程參見noVNC工作流程:
https://www.cnblogs.com/popsuper1982/p/3800227.html
三、串口顯示的控制台:
控制台:
完整的客戶端URL是實例ID+serial組成
對比noVNC的URL,noVNC是ip+端口+VNC_auto.html+token組成
四、底層的差異:
顯示方式的改變實質上是底層libvirt文件的改變。通過命令:
virsh dumpxml ID
可以查看創建的實例,對比出串口顯示和VNC顯示的差異。
串口顯示的實例的xml文件中設備中serial和console的類型是tcp,是使用tcp的端口號通信。
noVNC顯示的實例的xml文件中設備的serial和console是虛擬端口pty,是虛擬終端通信。
最后感受一波思科虛擬路由器的操作
學會配置串口顯示,向OpenStack的高峰又邁進一步!