『壹』 請寫出OpenStack存儲庫設置的相關命令
創建存儲卷cindercreate-display-nameVOLNAME&SIZE【SIZE的單位為GB】。
刪除存儲卷,cinder&delete&VOLNAME-OR-ID,cinder&force-delete&VOLNAME-OR-ID。【強制刪除】重命名存儲卷,cinder&renameVOLNAME-OR-IDNEW-VOLNAME,顯示存儲卷信息,cinder&show&VOLNAME-OR-ID。
創建存儲卷備份,cinder&backup-create--display-name&BACKUP-VOLNAME&VOLNAME-OR-ID,刪除存儲卷備份,cinder&backup-delete&VOLNAME-OR-ID,顯示存儲卷備份信息,cinde&backup-show&VOLNAME-OR-ID,顯示存儲卷備份列表,cinder&backup-list,創建存儲卷快照,cinder&snapshot-create--display-name&SNAPSHOT-VOLNAME&VOLNAME-OR-ID,刪除存儲卷快照,cinder&snapshot-delete&VOLNAME-OR-ID,重命名存儲卷快照,cinder&snapshot-rename&VOLNAME-OR-ID&NEW-VOLNAME。
『貳』 如何藉助OpenStack命令行工具管理虛擬機
OpenStack中有兩種不同的界面用來管理雲資源。一個是通過Horizon,這是基於Web的OpenStack儀錶板;另一個就是通過OpenStack命令行介面(CLI)。
我在本教程中將演示如何從命令行,在OpenStack上創建或終止虛擬機。這個過程是在Havana版本的OpenStack中進行測試的。至於像OpenStack Folsom這些早期的OpenStack版本,你只要將本教程所用的命令行中的「neutron」換成「quantum」即可。
姑且假設部署的一套OpenStack系統已在某處構建並運行起來。我要使用OpenStack CLI客戶程序,在現有的OpenStack系統上管理虛擬機。
『叄』 如何開始使用OpenStack命令行和API-openstack學習
當你開始使用OpenStack,基本上都是從一個已搭建好的環境入手,別人(operator)會告訴你horizon登錄的租戶名、用戶名和密碼。
horizon登陸頁
但畢竟horizon不會封裝OpenStack的所有特性,當你已經玩膩了頁面上那些功能時,你想嘗試更多更豐富的功能,那麼恭喜你,你已經向中級玩家邁進了一步。中級玩家對OpenStack的使用基本上有四種方式:
OpenStack client
cURL
Rest API
OpenStack SDK
我個人比較傾向於使用client和API,因為cURL的用法其實跟發送RestAPI相似,但cURL不太方便操作(因為我們普遍都喜歡在可視化頁面點擊按鈕);而SDK則更多是基於OpenStack做應用時會用到,這些人一般不會關注OpenStack的內部機制。
好,你費盡心機跟operator講好話,跟他說:哥,求求你,讓我登陸後台玩玩吧! 當operator吃完你送的冰激凌,抹了一下嘴角,然後瀟灑的扔了一個IP給你,「拿去耍吧」。你反復背誦著節點登陸的用戶名和密碼(注意,這跟horizon登陸的用戶名密碼不是一個東西),小心謹慎的進了讓每個程序員都感到神秘的後台,然後,快速敲了一個命令並回車:
[root@node-2 ~]# nova list
ERROR: You must provide a username via either --os-username or env[OS_USERNAME]
復制代碼
shit! 怎麼回事?!一個ERROR可能讓你慌了神。你平復了一下心情,心想:一定是老子敲命令的姿勢不對,再試一次,這次用其他命令:
[root@node-2 ~]# keystone tenant-list
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL]
復制代碼
天吶! 嗚呼一聲,你已然跪了……眼角斜了斜operator,他匆忙的背影讓你失去了打擾他的信心,又摸了摸兜里僅剩的1塊硬幣,准備打退堂鼓。
等等! 請看完我的blog,會讓你起死回生的。
找到rc文件
找了半天資料,你可能已經知道你需要的就是一個文件,然後source一下。但文件的內容從哪裡來?因為你到目前為止只知道horizon登錄的用戶名和密碼。好,我現在告訴你:
第一步,登錄horizon,進入下圖所示的頁面。
看到那個「下載OpenStack RC文件」的按鈕了么?看到了么?看到了么?別光顧著點頭了,還等啥?!
打開下載的文件(這里舉個例子,我以admin用戶登錄的),對內容稍作修改(主要是最後那個password,改成你登錄horizon的密碼,其他內容不要改):
#!/bin/bash
# With the addition of Keystone, to use an openstack cloud you should
# authenticate against keystone, which returns a **Token** and **Service
# Catalog**. The catalog contains the endpoint for all services the
# user/tenant has access to - including nova, glance, keystone, swift.
#
# *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0. We
# will use the 1.1 *compute api*
export OS_AUTH_URL=http://119.81.159.110:5000/v2.0
# With the addition of Keystone we have standardized on the term **tenant**
# as the entity that owns the resources.
export OS_TENANT_ID=
export OS_TENANT_NAME="admin"
# In addition to the owning entity (tenant), openstack stores the entity
# performing the action as the **user**.
export OS_USERNAME="admin"
export OS_PASSWORD="tUWkuBpN"
『肆』 openstack常用命令-neutron篇
列出當前租戶所有的網路
列出所有租戶的所有網路(需要管理員許可權)
創建一個網路(vlan/flat)
查看一個網路的詳細信息
刪除一個網路
創建一個子網
列出所有的agent
創建埠
查看埠列表
『伍』 openstack常用命令-cinder篇
顯示存儲卷列表(和nova volume-list命令功能相同)
顯示存儲卷類型列表
列表展示zone
創建存儲卷
創建基於鏡像的塊設備
在NovaZone中創建基於CirrOS的卷設備
分配卷設備
分離卷設備
重置卷狀態
重置卷設備大小
刪除存儲卷
重命名存儲卷
顯示存儲卷信息
存儲卷元數據
創建存儲卷備份
刪除存儲卷備份
顯示存儲卷備份信息
顯示存儲卷備份列表
創建存儲卷快照
刪除存儲卷快照
重命名存儲卷快照
顯示存儲卷快照信息
顯示存儲卷快照列表
上傳存儲卷作為鏡像
『陸』 如何開始使用OpenStack命令行和API
首先你可以學習部署OpenStack,使用DevStack或者手動安裝OpenStack。
之後就可以開始使用OpenStack的命令行管理OpenStack,以及調用API。
細節的這里就不展開來說了,有官方的英文文檔可以參考。
命令行相關:http://docs.openstack.org/admin-guide/cli.html
API相關:http://developer.openstack.org/api-guide/quick-start/
如果自己搞不定的話,可以看看基金會的Certified OpenStack Administrator的培訓,可以學到這些內容。
『柒』 如何開始使用OpenStack命令行和API
一、找到rc文件:
找了半天資料,你可能已經知道你需要的就是一個文件,然後source一下。但文件的內容從哪裡來?因為你到目前為止只知道horizon登錄的用戶名和密碼。好,我現在告訴你:
第一步,登錄horizon,進入下圖所示的頁面。
看到那個「下載OpenStack RC文件」的按鈕了么?看到了么?看到了么?別光顧著點頭了,還等啥?
打開下載的文件(這里舉個例子,我以admin用戶登錄的),對內容稍作修改(主要是最後那個password,改成你登錄horizon的密碼,其他內容不要改)。
登錄後台,新建一個文件,然後把上面的內容復制進去,執行久違的source,然後再次運行命令:
[root@node-2 ~]# vi ~/openrc
[root@node-2 ~]# source ~/openrc
[root@node-2 ~]# nova list
[root@node-2 ~]# keystone tenant-list
+----------------------------------+----------+---------+
| id | name | enabled |
+----------------------------------+----------+---------+
| | admin | True |
| | services | True |
+----------------------------------+----------+---------+
[root@node-2 ~]#
二、Rest API:
雖然使用命令行已經很接近OpenStack的本質了,但別忘了,命令行畢竟也是一種封裝,如果你想玩的再透一些,Rest API是個不錯的選擇,使用Rest API之後,OpenStack在你面前基本上就是裸奔了。
關於API的使用我不做過多說明,因為在我之前的blog和topic裡面已經說過太多次了,看一看下面的截圖,你自己再稍微google一下,就什麼都明白了。
『捌』 openstack查詢網卡配置方式
OpenStack提供了一系列網路配置選項,可以根據實際情況進行配置。主要有:路由器,虛擬交換機,VLAN,網橋,多租戶網路,安全組,網路ACL等。
『玖』 OpenStack刪除卷
在openstack中創建一個卷後,如果把卷連接到一個虛擬機上,刪除虛擬機後,卷還存在,horizon界面上顯示 「連接到none作為/dev/vda」 。這時在horizon界面上無法刪除該卷。
假設卷的name是xxx,執行命令:
openstack volume delete <volume>
提示:
"Failed to deletevolume with name or ID 'XXXXXXX': Invalid volume: Volume status must beavailable or error or error_restoring or error_extending and must not bemigrating, attached, belong to a group or have snapshots."
這時候可以用命令改變卷的狀態,然後刪除。
執行命令:
cinderreset-state --attach-statusdetached <volume>
cinder delete <volume>
成功刪除卷。
在用卷快照或卷創建虛擬機的時候,可以選擇 「刪除雲主機時刪除卷」
『拾』 openstack獲取token值的兩種方式 2019-05-15
Token(令牌):通常是一串比特值或者字元串,用來作為訪問資源的記號。Token中含有可訪問資源的范圍和有效時間。openstack服務通過token來調用資源。
方法一:
使用openstack命令獲取
(id的值就是token)
此token值可直接使用
方法二:
通過api的方式
(X-Subject-Token的值是token)
使用這個token查看用戶列表:
提示沒有許可權。(意料之中)
查看admin用戶:
重新獲取一個token(多了好多東西):
驗證一下(還是用戶列表)(通過api方式獲取的token值需要明確用戶角色):
附:
①openstack任何命令加上參數」--debug「即可看到當前命令使用的api端點。。。
例如:
②json格式的-d參數: