天天看點

Devstack — screen 調試工具的使用目錄為什麼要使用 screen 工具 ?screen 指令選項總覽

<a href="#%E7%9B%AE%E5%BD%95">目錄</a>

<a href="#%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E4%BD%BF%E7%94%A8-screen-%E5%B7%A5%E5%85%B7">為什麼要使用 screen 工具</a>

<a href="#%E5%90%AF%E5%8A%A8-screen">啟動 screen</a>

<a href="#screen-%E7%9A%84%E5%88%87%E6%8D%A2%E5%B8%B8%E7%94%A8">screen 的切換常用</a>

<a href="#%E9%80%80%E5%87%BA%E5%92%8C%E9%87%8D%E6%96%B0%E8%BF%9E%E6%8E%A5-screen">退出和重新連接配接 screen</a>

<a href="#restart-openstack-services">Restart Openstack Services</a>

<a href="#screen-%E6%8C%87%E4%BB%A4%E9%80%89%E9%A1%B9%E6%80%BB%E8%A7%88">screen 指令選項總覽</a>

<a href="#openstack-%E9%87%8D%E5%90%AF%E6%8C%87%E4%BB%A4">Openstack 重新開機指令</a>

<a href="#glance-api">glance-api</a>

<a href="#glance-registry">glance-registry</a>

<a href="#nova-api">nova-api</a>

<a href="#nova-conduter">nova-conduter</a>

<a href="#nova-crt">nova-crt</a>

<a href="#nova-network">nova-network</a>

<a href="#nova-scheduter">nova-scheduter</a>

<a href="#nova-novnc">nova-novnc</a>

<a href="#nova-cauth">nova-cauth</a>

<a href="#nova-cpu">nova-cpu</a>

<a href="#c-api">c-api</a>

<a href="#c-sch">c-sch</a>

<a href="#c-vol">c-vol</a>

當 Devstack 編譯安裝完 OpenStack 後,我們是不能通過 init 腳本或者 service 指令來與各個 Openstack Services 進行互動的。

也就是說我們無法像使用 RDO 安裝那樣可以通過 <code>systemctl restart openstack-nova-api.serice</code> 來重新開機 nova-api 服務。

因為 Devstack 的設計初衷是便于 Openstack developers 開發和調試 Openstack 代碼,是以 Devstack 隻能通過 screen 來啟動服務,而且每一個 Openstack Services 都是一個子 screen 。Devstack 部署的 Openstack 相信大家都會遇見一個問題,當實體機重新開機後 Services 怎麼重新開機,其實隻需要執行 <code>./rejoin-stack.sh</code>就好了,其原理跟啟動 screen 是一樣的,将沒有啟動的 Services 啟動,已經啟動的不會被覆寫,啟動完成後自動進入 screen 。在 screen 中我們不僅僅可以啟動 Services ,我們還能夠非常清晰簡便的切換檢視各個 Services 的 Log 。本篇主要介紹了 screen 的使用,應該是多有 Openstack 開發者的必備技能吧。

Devstack — screen 調試工具的使用目錄為什麼要使用 screen 工具 ?screen 指令選項總覽

注意:如果啟動失敗,可以嘗試在執行下面的指令之後在重新嘗試啟動:

可以看見 Terminal 最下方有一串白色的字元串,其中的每一個數字對應一個子 screen 也就是一個 Openstack services 。

我們可以通過快捷鍵+數字的組合來切換到對應的子 screen 。’ * ‘ 所在的處的位置表示目前的 screen 是該 Service 的 screen。EXAMPLE:

CTRL+a + number :切換到數字 number 對應的子 screen 中(number == 0 ⇒ shell)

Devstack — screen 調試工具的使用目錄為什麼要使用 screen 工具 ?screen 指令選項總覽

CTRL + a + ’ ⇒ 輸入number:當 number &gt; 10 時,可以使用這種方法來切換,當然 number &lt; 10 時,也可以使用。 推薦*

CTRL + a + n :切換到下一個 screen

CTRL + a + p:切換到前一個 screen

CTRL + a + a:傳回上一個 screen

CRTL + a + 稍等一秒 + shift + ‘:顯示所有的 screen 的清單

CTRL + [:開始滾動模式 ,然後可以使用上下左右鍵滾屏

CTRL + ]:退出滾動模式

CTRL + a + H :儲存 screen 到日志檔案,再按一次停止儲存

CTRL + a + ?:擷取幫助資訊

退出:

CRTL + a + ’ ⇒ 輸入 0 ,然後再輸入<code>screen -d</code>

CRTL + a + d

重新連接配接:

CTRL + c:終止一個 screen ,Stop the services

進入希望 Restart 的 Openstack Services 的 screen 中,然後輸入 CTRL + c 結束這個程序,輸入 ↑并重新執行上一條指令。

Devstack — screen 調試工具的使用目錄為什麼要使用 screen 工具 ?screen 指令選項總覽

screen 有一個非常不友善的地方就是,有些電腦不能通過 CTRL + [|] 來實作螢幕的滾動,這根本無法很好的觀察 Log ,是以建議将啟動指令 Copy 另外一個 Terminal 執行。

注意:下列的指令的<code>/opt/stack/</code>參數因各人的安裝路徑不同而異。

restart glance:

restart cinder:

繼續閱讀