Openstack知識及常用命令


OpenStack定義:

OpenStack是一個負責啟動和管理虛擬機實例的管理軟件,它是搭建雲平台的解決方案,可以搭建公有雲、私有雲和企業雲。Openstack屬於雲計算中的IaaS服務類型

openstack核心組件及功能:

Compute(代號為"Nova") :管理計算資源
Networking Service(代號為"Neutron"):管理網絡資源,為虛擬機、計算和控制節點提供網絡功能
Image Service(代號為"Glance"):用於提供鏡像服務,屬於儲存范疇
Identity(代號為"Keystone"):管理用戶及其權限維護OpenStack Services的Endpoint認證和鑒權
Dashboard(代號為"Horizon"):用於提供圖形用戶界面
Block Storage(代號為"Cinder"):用於提供塊存儲功能
Object Storage(代號為"Swift"):用於提供對象存儲功能
Ceilometer:提供監控服務

openstack各組件之間的關系:

下圖自己繪制的關系圖中各組件功能已做不同顏色區分,再梳理一下它們之間的關系:
Nova提供計算服務,所有的計算實例都由Nova進行生命周期的調度管理,如:虛機啟動、掛起、停止、刪除等;
啟動實例不能每次都要重新安裝來啟動,這時就用到了Glance鏡像服務;
虛機肯定需要上網,需要由Neutron提供網絡服務;
既然是安裝虛機,自然少不了存儲空間或者空間太少需要擴容,這時需要由Cinder提供塊存儲服務;
以上四種服務可以讓一台實例成功運行起來,但是不是誰都可以在我搭建的環境上創建虛機的,這時就用到了Keystone的鑒權認證服務;
搭建的環境是不是可以租出去呢?若租出去又該如何監控客戶使用了哪些資源呢?此時需要Cellometer提供監控計費服務;客戶使用的帶寬、內存等不同規格收費自然不同;
若客戶嫌棄命令頁面操作太麻煩,需要更加友好的可視化操作頁面,此時就用到了Horizon服務,也就是web端的可視化操作頁面;
為了給客戶提供更加優質的服務並且減少不必要的資源浪費,針對某些項目可能會用到Swift對象存儲服務;舉個大家都在用的百度網盤的例子,很多人都會去存一些電影,但是可能有大部分電影是重復的,若每個百度網盤用戶都真實的把視頻存到了雲端,大量的重復視頻豈不是浪費了許多百度的存儲空間?這時候對象存儲是最好的選擇,用戶上傳視頻時,先根據算法看看雲端是否有相同的內容,若查到有相同的存儲信息,直接反饋用戶“上傳成功”,實際並沒有上傳的!用戶下載時在雲端找到相同的資源提供其下載就可以了,這樣既服務了客戶又節省了存儲空間

Openstack常用命令:

 提示:任何命令執行前都需要先執行環境變量腳本,openstack命令不同版本之間命令可能存在差異,或者組件配置問題引起的命令不可用,請根據實際環境執行命令。所有命令根據ID查詢的命令基本也可通過NAME查詢。

執行環境變量腳本,獲得admin憑證訪問

source admin-openrc.sh

列出可用網絡 neutron net-list
查看路由列表 neutron router-list
查看路由詳情 neutron router-show ROUTER_ID
查找與網絡相關並以av開頭的文件 neutron -h | grep av(文件名)
列出防火牆 neutron firewall-list
查看防火牆詳情 neutron firewall-show FIREWALL_ID
查看防火牆策略詳情 neutron firewall-policy-show POLICY_ID
列出所有安全組 openstack security group list 或 nova secgroup-list
查看安全組詳情 openstack security group show ID
列出安全組所有規則 openstack security group rule list 或 nova secgroup-list-rules default
查看安全組規則詳情 openstack security group rule show ID
獲取主機列表 openstack hypervisor list
查看主機詳情 openstack hypervisor show NAME
列出實例 openstack server list   或  nova list
列出所有實例 openstack server list --all  或  nova list --all
獲取主機類型列表 nova flavor-list
查看主機類型詳情 nova flavor-show ID
實例診斷統計 nova diagnostices ID
查詢各租戶下的資源統計信息 nova usage-list

nova狀態升級檢查

nova-status upgrade check

列出所有主機節點 nova host-list
列出主機節點資源使用率統計信息 nova host-describe 主機名

列出已加載網絡擴展

Openstack extension list --network

列出所有的用戶 openstack user list
列出認證服務目錄 openstack catalog list
創建鏡像 glance image-create IMAGENAME
列出鏡像 openstack image list 或 glance image-list
刪除指定的鏡像 openstack image delete IMAGE
查看某鏡像描述 openstack image show IMAGE 或 glance image-show ID
更新鏡像 openstack image IMAGE 或 glance image-update ID
上傳內核鏡像

openstack image create cirros-threepart-kernel \

        --disk-format aki --container-format aki –public \

        --file ~/images/cirros-0.3.5-x86_64-kernel

上傳RAM鏡像

 openstack image create cirros-threepart-ramdisk \

        --disk-format ari --container-format ari –public \

        --file ~/images/cirros-0.3.5-x86_64-initramfs

上傳第三方鏡像

 openstack image create cirros-threepart --disk-format ami \

        --container-format ami –public \

        --property kernel_id=$KID -property ramdisk_id=$RID \

        --file ~/images/cirros-0.3.5-x86_64-rootfs.img

注冊raw鏡像

openstack image create cirros-raw --disk-format raw \

        --container-format bare –public \

        --file ~/images/cirros-0.3.5-x86_64-disk.img

列出實例 openstack server list   或  nova list
顯示實例詳細信息 openstack server show NAME/ID 或 nova show NAME/ID
創建一個為名m1.tiny的 flavor openstack flavor create --ram 512 --disk 1 --vcpus 1 m1.tiny
用類型和鏡像名稱(如果名稱唯一)來啟動雲主機

openstack server create --image IMAGE --flavor FLAVOR INSTANCE_NAME \

openstack server create --image cirros-0.3.5-x86_64-uec --flavor m1.tiny \

MyFirstInstance

查看雲主機的控制台日志 openstack console log show MyFirstInstance
設置雲主機的元數據 nova meta volumeTwoImage set newmeta=my meta data
創建一個實例快照

openstack image create volumeTwoImage snapshotOfVolumeImage

openstack image show snapshotOfVolumeImage

實例暫停

openstack server pause NAME 或 nova pase ID

openstack server pause volumeTwoImage

取消實例暫停 openstack server resume NAME 或 nova resume ID
取消實例掛起

openstack server unpause NAME  或 nova unpause ID

實例掛起

openstack server suspend NAME 或 nova suspend ID

實例停止 openstack server stop NAME
實例開始 openstack server start NAME
實例恢復

openstack server rescue NAME 或 nova resume ID

openstack server rescue NAME --rescue_image_ref RESCUE_IMAGE

調整規格大小

openstack server resize NAME FLAVOR

openstack server resize my-pem-server m1.small

openstack server resize --confirm my-pem-server1

實例重建 openstack server rebuild NAME IMAGE
實例重啟 openstack server reboot NAME 或 nova reboot ID
刪除實例 nova delete ID
將用戶數據和文件注入到實例

openstack server create --user-data FILE INSTANCE

openstack server create --user-data userdata.txt --image cirros-qcow2 \

        --flavor m1.tiny MyUserdataInstance2
創建密鑰對

openstack keypair create test > test.pem

chmod 600 test.pem

啟動實例

openstack server create --image cirros-0.3.5-x86_64 --flavor m1.small \

        --key-name test MyFirstServer

使用ssh連接到實例

ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f \

        ssh -i test.pem cirros@10.0.0.4

在默認的安全組中,添加ping和SSH規則

openstack security group rule create default \

        --remote-group default --protocol icmp

openstack security group rule create default \

        --remote-group default --dst-port 22

創建網絡

openstack network create NETWORK_NAME

創建子網 openstack subnet create --subnet-pool SUBNET --network NETWORK SUBNET_NAME
創建一個新卷 openstack volume create --size SIZE_IN_GB NAME
啟動實例並將其鏈接到卷上 openstack server create --image cirros-qcow2 --flavor m1.tiny MyVolumeInstance
列出所有卷 openstack volume list
當實例狀態正常且卷狀態可用時,將卷連接到實例 openstack server add volume INSTANCE_ID VOLUME_ID
登陸進實例之后管理卷組

列出存儲器:fdisk -l

在卷上建立文件系統:mkfs.ext3 /dev/vdb

創建一個掛載點:mkdir /myspace

在掛載點掛載卷:mount /dev/vdb /myspace

在卷上創建一個文件:touch /myspace/helloworld.txt

                                    ls /myspace

卸載卷:umount /myspace

展示存儲賬戶,容器以及對象的信息

swift stat

swift stat ACCOUNT

swift stat CONTAINER

swift stat OBJECT

列出容器 swift list
查看端口列表 neutron port-list
列出卷設備 cinder list
顯示卷設備詳情 cinder show ID
調整卷設備大小 cinder extend ID 大小數值
刪除卷設備 cinder delete ID
創建卷設備傳送請求 cinder transfer-create ID
查看等待傳送的卷設備 cinder transfer-list
接收被傳送的卷設備 cinder transfer ID authKey
刪除正在傳送的卷設備 cinder transfer -delete transferID
查看有效計算節點 nova hypervisor-list
查看計算節點詳情 nova hypervisor-servers ID

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM