當前位置:網站首頁>openstack底層提取所有虛擬機IP和其uuid、openstack底層提取所有虛擬機的所在宿主機
openstack底層提取所有虛擬機IP和其uuid、openstack底層提取所有虛擬機的所在宿主機
2022-05-13 19:42:06【/*守護她的笑容】
說明
需求
- 1、獲取所有錶的ip和期uuid【以底層為准】
- 2、獲取所有IP的所在宿主機【以底層為准】
實現方式有2種
- 1、dashboard裏面可以查看,然後一臺一臺的複制【使用少量虛擬機】
- 2、底層跑脚本獲取【適合多虛擬機】
dashboard
ip名稱對應宿主機
登錄dashboard進入到admin域,裏面就可以看到虛擬機的宿主機。
虛擬機uuid
點擊名稱,進入到詳細,裏面的id就是虛擬機的uuid
底層命令獲取
之前的脚本
我最開始獲取這個的時候,用的是下面的脚本,獲取這些本來是簡簡單單的,我也不知道我為啥寫這麼難理解的一個脚本。。。。下面感興趣的可以自行研究一下,我這不用這個脚本了,用更簡單的方法。。。
[root[email protected] ccx]# cat uuid.sh
#!/bin/bash
if [ $# -eq 0 ] ;then
echo "Usage: /root/iplist.txt"
elif [ -f $1 ] ; then
for ip in `cat $1` ; do
name1=`ssh [email protected]$ip virsh list --all | grep ins | awk '{print $2,$3,$4}'`
name2=`ssh [email protected]$ip virsh list --all | grep ins | awk '{print $2}'`
echo "$name2" >> /root/ccx/uuid2.log
name3=`cat /root/ccx/uuid2.log`
ipname=`ssh [email protected]$ip hostname`
echo -e "$ipname\n$name1"
done
array=($name2)
echo ${array[*]}
for leng in ${array[*]} ; do
#echo $leng
uuid=`ssh [email protected]$ip virsh domuuid $leng`
echo "$leng $uuid" >> /root/ccx/uuid.log | awk '$1 ~ /ins/{print $1,$2,$3,$4}'
done
cat /root/ccx/uuid.log
#addip=`cat /root/ccx/uuid.log | awk '{print $2}'`
for uuip in $addip ; do
ywip=`nova show $uuip | grep network | awk '{print $5}'`
echo "$uuip $ywip"
done
> /root/ccx/uuid.log
else
echo "Input file not found"
fi
[[email protected] ccx]#
獲取ip和其uuid
- 登錄控制節點,執行環境變量以後
執行:nova list --all
就會列出所有的虛擬機和其uuid【如果不加–all,shutdown狀態的不會被列出】 - uuid和ip都有了,就直接拷貝出來唄!
再excel中全部信息在一行,我們可以用分列-分割符號來分割
然後自己要哪些就留哪些嘛,不要的删了就是了
獲取IP所在宿主機
定比特宿主機命令
登錄控制節點,執行環境變量以後
執行:nova show uuid
就會列出該虛擬機的詳細信息,宿主機信息如下其實我們提取宿主機一般要和ip一起提【嚴謹的態度】,免得出錯,方法1
要速度的話我們可以直接用下面方法來一起獲取2個值了,然後導出到excel就好【使用不多的情况】,這種就是多條件篩選嘛然後分別通過awk來提取嘛【一定要先測試好單條命令,能正確獲取且只獲取到一個值(通過修改下面grep後面的值實現,每個版本的openstack過濾條件一般都不會一樣)】
注:下面ip有修改。
#提取ip
[[email protected] ccx]# nova show 591f918c-0df1-46cf-8081-f66ab76ddd | grep network|awk '{print $5}'
1.23.16.39
[[email protected] ccx]#
# 提取宿主機
[[email protected] ccx]# nova show 591f918c-0df1-46-8081-f66a80b76ddd | grep hostname | awk '{print $4}'
node-20.domain.tld
[[email protected] ccx]#
脚本代碼准備測試
- sh脚本
之前脚本那麼多行實現的功能和我下面是一樣的,所以,這就是進步!
[[email protected] ccx]# cat uuid.sh
#!/bin/bash
cat uuid.txt | while read line ; do
echo -e "`nova show $line | grep network|awk '{print $5}'`:`nova show $line | grep hostname | awk '{print $4}'`"
done
[[email protected] ccx]#
- uuid脚本准備
我先准備個2臺跑脚本看看效果
[[email protected] ccx]# cat uuid.txt
2360d273-abb4-4f5d-a3b3-f58b40e14b6
09a25ee9-9a98-4c44-8a56-397fe81647f
[[email protected] ccx]#
- 執行這個脚本試試
嗯。。。很完美
[[email protected] ccx]# sh uuid.sh
1.2.3.31:node-6.domain.tld
1.2.3.32:node-18.domain.tld
[[email protected] ccx]#
脚本代碼終版
- 其實代碼和上面一樣,我就是添加了個追加到文件而已
[[email protected] ccx]# cat uuid.sh
#!/bin/bash
cat uuid.txt | while read line ; do
echo -e "`nova show $line | grep network|awk '{print $5}'`:`nova show $line | grep hostname | awk '{print $4}'`" >> uuidxuniji.txt
done
[[email protected] ccx]#
- uuid文件,放了所有uuid
其實我就是按錶裏的uuid複制過來的,這樣後面複制過去和錶裏就對應起來了 - 然後就執行唄,慢慢等執行完就好了
如果你想實時看錶裏更新也是可以的,新打開一個窗口,然後tail -f 文件名
就可以實時更新數據了
最終信息提取完成展示
最後將脚本結果複制到excel嘛,然後通過
:
分列就好了,對應一下ip,ip對上了,宿主機就對上了,如下最後成品如下
版權聲明
本文為[/*守護她的笑容]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/133/202205131920430884.html
邊欄推薦
猜你喜歡
隨機推薦
- waitKey()函數的一些用法
- 如何將keil5 C51和MDK合並(附安裝包)
- 華雲三維CrownCAD榮獲2021“工業軟件創新獎”
- 關於jwt的一些補充學習
- CenterNet簡述
- Unity SKFramework框架(二)、UI模塊
- C#維特智能藍牙5.0加速度陀螺儀角度姿態傳感器協議解析
- NanoPi NEO3上手日記第二天——裝個WiFi(OpenWrt系統無線配置均適用)
- Find命令的7種用法
- 產教融合加速數據庫人才培養 | OceanBase數據庫大賽10强誕生
- history和hash模式區別
- ctf-WEB-login2(sql注入)
- 【matlab代碼-長見識】你用過 max(max(:)) 嗎
- 信息收集(六)之cms識別
- RHCA回憶錄---CL210介紹
- 中國農業大學2022-2023級入學MBA招生簡章
- DPDK19.11下載及安裝
- 談一談Upload上傳文件和圖片
- 【好文分享】MySQL JSON 數據類型解說
- Redis cluster集群原理與配置
- 在VyOS上實現DMVPN&OSPF&BFD·3·配置
- Source Insight 4.0工具查看.S文件
- mysql 中sql 語句查詢今天、昨天、7天、近30天、本月、上一月 數據
- STM32F103C8T6最小系統原理圖和PCB
- ES6新增語法(七)——async
- 【組隊學習】【37期】組隊學習內容詳情
- 文盤Rust——領域交互模式如何實現
- 旅遊評點項目
- 【GPU加速】開發低延遲代碼性能提昇76.33%——通過VS2017創建CUDA項目對比CPU代碼和GPU代碼的延遲(親測代碼可運行簡單可運行適合入手)
- OpenStack基於Libvirt的虛擬化平臺調度實現----Nova虛擬機啟動源碼實現(4)
- Labelme標注Json文件轉XML(能識別矩形框)
- C語言和go語言之間的交互 - C語言中使用go語言,使用的go語言又使用了c語言
- GeoServer源碼解讀 - 入參處理
- LeetCode|3. 無重複字符的最長子串
- 2022.5.13-----leetcode.面試01.05
- im即時通訊開發:IM群聊消息的已讀回執功能
- 初識MQ-01
- 練習29,統計子矩陣【二比特前綴和/雙指針】
- MnO2-PEDT 二氧化錳納米球修飾聚乙烯二氧噻吩/MnO2-P4VP 二氧化錳納米顆粒修飾聚-4-乙烯吡啶
- 量子計算中的么正操作符和幹涉現象