精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一文教你探測虛擬環境是物理機、虛擬機還是容器?

開發 前端
目前裸機(物理機)、虛擬機、容器是云計算提供計算服務的三種主流形式。那么如何判斷一個虛擬shell環境到底是物理機、虛擬機還是容器呢?

目前裸機(物理機)、虛擬機、容器是云計算提供計算服務的三種主流形式。那么如何判斷一個虛擬shell環境到底是物理機、虛擬機還是容器呢?

更進一步,如果是物理機,這個物理機廠商是什么,虛擬機到底是 KVM 還是 XEN,容器是 Docker 還是 rkt、lxc 等?

更進一步,如果是虛擬機,是否可以判斷這個虛擬機是運行在 AWS 還是阿里或者 OpenStack,是否能夠獲取虛擬機的 UUID、instance-type、vpc-id、安全組等信息?

這有點像我們在開發中經常使用的反射(reflection)機制,通過反射可以知道一個類實例(instance)的類(class)是什么,更進一步可以知道這個類的父類是什么、實現了哪些方法、包含哪些屬性等。

以下是我用到的一些方法,僅供參考。

1、判斷容器

目前還沒有什么方法能夠100%準確判斷虛擬環境是否是容器,至少我沒有找到相關文獻。

如果環境有systemd-detect-virt命令,則可以直接通過systemd-detect-virt -c命令判斷,如果輸出為none則不是容器,否則會輸出容器類型,比如lxc。目前很少容器里面放systemd的,我見過的就只有 LXD 的ubuntu鏡像,因此這種方法適用性不廣。

除此之外,可通過其他tricks判斷,最簡便的方法判斷PID為1的進程,如果該進程就是應用進程則判斷是容器,而如果是init進程或者systemd進程,則不一定是容器,當然不能排除是容器的情況,比如LXD/lXC實例的進程就為/sbin/init。

容器和虛擬機不一樣的是,容器和宿主機是共享內核的,因此理論上容器內部是沒有內核文件的,除非掛載了宿主機的/boot目錄:

另外,我們知道容器是通過cgroup實現資源限制,每個容器都會放到一個cgroup組中,如果是Docker,則cgroup的名稱為docker-xxxx,其中xxxx為Docker容器的UUID。

而控制容器的資源,本質就是控制運行在容器內部的進程資源,因此我們可以通過查看容器內部進程為1的cgroup名稱獲取線索。

如下是我通過 Docker 跑 busybox 的 cgroup 信息:

我們不僅可以知道這是 Docker 容器,還獲取了 Docker 容器的 UUID 為 9ba…11。

根據如上的結論,判斷一個虛擬環境是否 Docker 的腳本為:

當然如果僅僅判斷是否 Docker 容器,還能通過判斷是否存在 .dockerenv 文件區分是否Docker 容器:

rkt 容器類似,輸出結果如下:

如上的 \x2d 為-號:

因此判斷一個虛擬環境是否 rkt 的腳本為:

好奇 AWS lambda 的運行環境是什么,于是寫了個函數輸出 /proc/1/cgroup,結果為:

猜測是一種叫 sandbox 的運行環境,估計也是一種容器。

判斷虛擬環境是否為容器環境相對比較復雜,目前沒有完美的方案,總結過程如下:

  • 判斷是否可運行 systemd-detect-virt -c 命令,如果輸出為 none 則不是容器,否則可確定容器類型。
  • 判斷 PID 1 如果為應用本身,則該虛擬環境是容器,否則不能確定是否是容器。
  • 判斷是否存在加載的內核文件,如果不存在,則可判斷為容器,否則不能確定是否為容器。
  • 判斷是否存在 /.dockerenv 文件,如果存在則為 Docker 容器,否則不能確定是否為容器。讀取 /proc/1/cgroup 文件,判斷是否包含 docker、rkt 等關鍵字,如果包含,則說明為容器,否則不能確定是否為容器。

另外,需要特別注意的是,容器必須最先判斷,因為容器本身并沒有任何的硬件虛擬化,容器看到的硬件特性信息和宿主機看到的完全一樣,因此下面介紹的通過lscpu以及DMI信息判斷是否是虛擬機或者物理機,對容器并不適用。換句話說,不能因為lscpu的Hypervisor vendor值為KVM就說明一定是KVM虛擬機,因為它也有可能是容器。下文均假設已經排除為容器的情況。

2、判斷物理機

如果使用了 systemd,則可以直接通過 systemd-detect-virt 命令判斷是否物理機:

如果輸出為 none,則說明是物理機。

當然也可根據 lscpu 命令輸出,看是否有 Hypervisor vendor 屬性,如果沒有該屬性,則一般為物理機,如果存在該屬性則一定是虛擬機:

獲取物理機的信息最直接的方式是查看 DMI 信息 /sys/firmware/dmi/tables/DMI,使用 dmidecode 命令解碼:

如上可以看出這是臺物理機,廠商為 HP,型號為 ProLiant DL380 Gen9,序列號為6CU6468KKD。

通過 ipmitool 命令可以查看物理服務器的帶外 IP:

當然如果是虛擬機,如上命令會執行失敗。另外也可以通過其他命令查看物理信息,如lshw 命令。

3、判斷虛擬機

其實前面已經提到了,如果使用了systemd,則可以直接通過 systemd-detect-virt 命令判斷是否虛擬機:

如果是虛擬機,則會輸出虛擬機類型,如 kvm、oracle(virtualbox)、xen 等。

當然也可根據 lscpu 命令輸出,查看 Hypervisor vendor 屬性值:

通過如上命令,我的一臺 AWS 虛擬機輸出為 Xen,阿里云虛擬機為 KVM,VirtualBox虛擬機也輸出為 KVM,這是因為我使用了 KVM 硬件加速虛擬化。

我的搬瓦工虛擬機輸出也為 KVM,可見搬瓦工主機也是 KVM 虛擬機。

通過如上方法可以獲取虛擬機的虛擬化類型,能否獲取更多信息呢?參考物理機的獲取方式,我們可以通過 dmidecode 命令獲取更多的虛擬機信息。比如我在一臺 OpenStack 虛擬機運行如下命令:

如上 Manufacturer 為 OpenStack Foundation,說明運行在 OpenStack 平臺,Version為 Nova 版本,根據 OpenStack 的 releases 可知 15.0.1 對應為 OpenStack Ocata 版本,而 UUID 即虛擬機的 UUID。

AWS 上的一臺虛擬機輸出為:

在 Version 中標明了 amazon 字樣。

阿里云虛擬機如下(感謝L神提供的輸出):

可見雖然可以從 system 信息中獲取云廠商的線索,但其實虛擬機的 system 信息并沒有統一的標準,有的在 version 中體現,有的在 Product Name 中表現,完全取決于云廠商自己的配置。

如上整合如下腳本初略判斷:

如上也可以判斷公有云是否基于 OpenStack 實現,比如華為虛擬機輸出為 OpenStack,可大致猜測華為的公有云是基于 OpenStack 實現的。

AWS 以及 OpenStack 系的虛擬機還可以通過 metadata 或者 ConfigDrive 獲取更多信息,以 metadata 為例:

獲取虛擬機的 ID:

獲取 instance type (規格):

獲取虛擬機的公有IP(彈性IP),這個挺有用的,因為在虛擬機沒法通過ifconfig查看彈性IP,經常登錄虛擬機后,忘記自己的公有IP:

其他的比如 vpc-id、ami id(鏡像id)、安全組、公鑰名等都可以通過該方式獲取。

如果是 OpenStack,還可以使用 OpenStack 的 metadata 獲取更多信息:

如上可獲取虛擬機的租戶 ID、volume type 等信息。當然邪惡點可以通過查看 userdata獲取虛擬機初始化 root 密碼。AWS 甚至可以查看 AccessKeyId 以及SecretAccessKey。

4、總結

如上總結了幾種判斷虛擬化環境類型的方法,不一定準確,僅供參考,當然也可能還有其他更好的方法。

如下是根據前面的結論寫的一個探測虛擬化類型的腳本,不一定健壯完備,僅供參考:

 

責任編輯:張燕妮 來源: 高效運維
相關推薦

2023-05-29 07:30:56

容器虛擬機硬件

2023-09-02 21:35:39

Linux虛擬機

2020-05-25 10:02:38

云計算軟件開發容器

2020-04-01 22:05:24

虛擬機HotSpotJava

2018-09-11 15:01:22

Java虛擬機組成

2014-02-21 11:20:34

KVMXen虛擬機

2019-07-18 15:01:43

Linux虛擬機宿主機

2023-09-03 17:05:20

虛擬機

2018-08-17 07:49:01

2012-05-18 10:22:23

2010-10-13 10:21:37

物理機虛擬機遷移

2009-10-13 15:00:36

物理機虛擬機網絡安全

2010-07-26 09:02:38

2013-07-17 09:32:58

2009-10-30 09:49:55

2017-06-06 15:34:55

2013-06-17 10:16:53

虛擬機虛擬化安全

2020-03-26 08:39:37

物理機虛擬機K8s

2009-12-16 14:33:52

Host訪問虛擬機

2018-10-10 15:14:20

Linux虛擬機配置
點贊
收藏

51CTO技術棧公眾號

国产三级伦理片| 久久人妻少妇嫩草av蜜桃| 国产裸舞福利在线视频合集| 青青青伊人色综合久久| 久久中国妇女中文字幕| 香蕉在线观看视频| 四虎4545www精品视频| 亚洲精品中文字幕乱码三区| 麻豆91蜜桃| 国产美女www爽爽爽视频| 亚洲综合二区| 欧美成人剧情片在线观看| asian性开放少妇pics| 国产人妖一区| 欧美性色19p| 日本老太婆做爰视频| 韩国中文免费在线视频| 国产黄色91视频| 国产精品久久97| 亚洲精品午夜久久久久久久| 成人激情在线| 日韩精品在线播放| 国产女主播在线播放| 欧美一级在线| 91成人在线精品| 日韩av高清在线看片| 看女生喷水的网站在线观看| 久久老女人爱爱| 国产乱码精品一区二区三区中文| 自拍偷拍精品视频| 亚洲一区二区成人| 国外成人在线直播| 欧美成人精品一区二区免费看片| 日韩av密桃| 国产亚洲免费的视频看| 在线观看国产三级| 精品欠久久久中文字幕加勒比| 欧美精品在线观看一区二区| 婷婷六月天在线| 亚洲伦乱视频| 日本韩国视频一区二区| 黑人糟蹋人妻hd中文字幕 | 欧美激情国产日韩精品一区18| 国产精品久久久久久久av| 深夜福利久久| 亚洲欧美国产视频| 久久久久久久久久久国产精品| 久久精品福利| 亚洲国产精品va在线看黑人| 四虎成人免费视频| 综合视频一区| 亚洲国内高清视频| 亚洲av成人无码一二三在线观看| 给我免费播放日韩视频| 精品国产乱码久久久久久图片| www激情五月| 国产美女视频一区二区| 欧美一级黄色片| 91免费视频污| 欧美成人精品午夜一区二区| 91精品国产福利在线观看 | 136导航精品福利| 精品国精品自拍自在线| av无码一区二区三区| 日本欧美高清| 日韩精品福利网站| 一级性生活大片| 欧美日韩国产传媒| 欧美成人激情视频免费观看| 久久成人在线观看| 国产亚洲在线观看| 国产精品久久久久久中文字 | 亚洲国产成人一区| 亚洲av无码一区二区二三区| 国产精品亚洲二区| 久久精品最新地址| 日本天堂网在线观看| 亚洲欧美日本视频在线观看| 国产精品久久久久不卡| 99国产精品久久久久久久成人| 国产成人av电影在线观看| 九九九九久久久久| 91网页在线观看| 综合久久给合久久狠狠狠97色| 欧美日韩午夜爽爽| 女海盗2成人h版中文字幕| 欧美在线一二三| 韩国三级在线播放| 丝袜美腿一区二区三区动态图| 国产一区二区日韩| 精品无码免费视频| 免费观看久久久4p| 动漫3d精品一区二区三区 | 欧美国产精品专区| 男人的天堂avav| 神马久久资源| 日韩免费电影网站| 国产伦理片在线观看| 欧美激情视频一区二区三区免费| 青青青国产精品一区二区| 夜夜嗨av禁果av粉嫩avhd| 成人国产在线观看| 亚洲精品日韩在线观看| www.51av欧美视频| 欧美精品日韩综合在线| 喷水视频在线观看| 国产精品99久久| 全亚洲最色的网站在线观看| 精品国产无码一区二区三区| 国产欧美一区二区在线| 黄色激情在线视频| 亚洲成人精品综合在线| 亚洲免费视频在线观看| 国产精品7777| 国产高清久久久久| 亚洲午夜久久久影院伊人| 性感女国产在线| 亚洲精品在线一区二区| 女人18毛片毛片毛片毛片区二| 亚洲免费影视| 国产嫩草一区二区三区在线观看| a级毛片免费观看在线| 欧美亚洲日本国产| 久久人人爽人人人人片| 黄色成人av网站| 91精品视频免费观看| www黄在线观看| 欧美午夜影院在线视频| 色悠悠在线视频| 欧美视频不卡| 999久久久| 亚洲男同gay网站| 欧美一区二区三区四区五区| 成人做爰视频网站| 免费av网站大全久久| 日韩一区二区三区资源| 天堂av在线网| 亚洲久久久久久久久久久| 国产成人在线观看网站| jvid福利写真一区二区三区| 少妇高潮喷水在线观看| 久久黄色影视| 97欧美精品一区二区三区| 日本激情一区二区| 亚洲aⅴ怡春院| 国产精品第七页| 亚洲综合国产| 日产精品高清视频免费| 日韩成人高清| 最新国产成人av网站网址麻豆| 国产精品无码一区| 国产精品毛片大码女人| 欧美性受xxxx黒人xyx性爽| 一区二区影院| 国产精品免费一区二区| 黄视频免费在线看| 国产视频亚洲精品| 啪啪小视频网站| 中文字幕日韩精品一区 | 白嫩亚洲一区二区三区| 久久久精品在线观看| 国产福利视频导航| 亚洲成人手机在线| 少妇大叫太粗太大爽一区二区| 久久久久在线| 一区二区高清视频| 欧美一区一区| 2018日韩中文字幕| 成年网站在线| 日韩一区二区精品在线观看| 国产香蕉在线视频| 久久久www成人免费毛片麻豆| 亚欧在线免费观看| 亚洲天天综合| 国产综合色一区二区三区| 欧美1级2级| 久久av在线播放| 亚洲日本在线播放| 欧美性xxxxxx少妇| 免费毛片在线播放免费| 91免费看`日韩一区二区| 97公开免费视频| 一本一本久久a久久综合精品| 国产尤物91| yw.尤物在线精品视频| 美乳少妇欧美精品| 日韩三级电影网| 制服丝袜亚洲播放| 一级片中文字幕| 最新中文字幕一区二区三区| 无码国产69精品久久久久网站 | 国产成人美女视频| 亚洲二区免费| 黄色一级视频播放| 久久91麻豆精品一区| 91成人免费看| 欧美影视资讯| 久久欧美在线电影| 欧美私人网站| 亚洲片av在线| 亚洲AV无码一区二区三区少妇| 日本高清视频一区二区| 国产一级淫片免费| 国产精品国产三级国产aⅴ入口| www.日本高清| 国产成人精品一区二 | 国产成人一区在线| 久久精品免费网站| 夜夜精品视频| 97久久国产亚洲精品超碰热| 日韩av大片| 任我爽在线视频精品一| 国产suv精品一区| 91久久国产精品| 超薄肉色丝袜脚交一区二区| 97在线观看视频国产| caopon在线免费视频| 最新91在线视频| 国产小视频在线观看| 日韩av影片在线观看| 国产激情久久久久久熟女老人av| 欧美性xxxxxxxx| 亚洲视频 欧美视频| 欧美日韩亚洲一区二区三区| 精品在线视频免费观看| 亚洲精品中文字幕在线观看| 国产免费美女视频| 国产精品成人网| 日本猛少妇色xxxxx免费网站| 99久久国产综合精品女不卡| 一个人看的视频www| 久久电影网站中文字幕| 中文字幕有码av| 日本亚洲免费观看| 熟女少妇精品一区二区| 天堂蜜桃91精品| 黄色片久久久久| 久久久www| 一本久道综合色婷婷五月| 午夜宅男久久久| 欧美精品成人网| 久热精品视频| 美女网站免费观看视频| 日本va欧美va精品| 天天操狠狠操夜夜操| 老汉av免费一区二区三区| 无限资源日本好片| 精品一二三四区| 特黄视频免费观看| 国产精品中文字幕日韩精品| 麻豆短视频在线观看| 成人性生交大片免费| 在线免费观看污视频| 久久综合久久鬼色中文字| 最近中文字幕免费视频| 国产亚洲精品免费| 亚洲激情图片网| 中文字幕亚洲视频| www青青草原| 五月天网站亚洲| 国产污视频网站| 欧美日韩电影一区| 精品人妻一区二区三区浪潮在线| 欧美www视频| 四虎影视在线播放| 中文字幕日韩在线观看| 五月天婷婷在线视频| 欧美精品在线播放| 小h片在线观看| 国产乱人伦真实精品视频| 久久综合偷偷噜噜噜色| 精品国产aⅴ麻豆| 国产成人精品999在线观看| 伊人久久青草| 欧美日韩一区二区高清| 免费无码不卡视频在线观看| 日本怡春院一区二区| 色欲欲www成人网站| 久久一夜天堂av一区二区三区| 国产免费嫩草影院| 一区二区三区视频在线观看 | 欧美日韩综合不卡| 国产av一区二区三区| 日韩精品视频三区| 毛片在线看片| 欧美一级大片在线观看| 亚洲精品tv| 久久久久久久有限公司| 久久资源中文字幕| 亚洲欧洲日产国码无码久久99| 免费成人在线视频观看| 久久久久9999| 伊人婷婷欧美激情| 国产女主播喷水视频在线观看 | 男人的天堂亚洲在线| 亚洲精品手机在线观看| av成人免费在线| av在线免费播放网址| 欧美日韩国产区| 精品人妻一区二区三区浪潮在线| 亚洲视频自拍偷拍| 成人影音在线| 91九色精品视频| 精品久久久久久久| 日本手机在线视频| 国产精品资源网站| 国产在视频线精品视频| 色香蕉久久蜜桃| 欧美一区二区公司| 插插插亚洲综合网| 素人啪啪色综合| 蜜桃视频在线观看成人| 亚洲国产一区二区三区a毛片| av在线免费看片| 欧美激情一区二区在线| 国产成人无码精品| 精品国产乱码久久久久久牛牛| 高清免费电影在线观看| 国产精品精品视频| 经典一区二区| 欧美aⅴ在线观看| 成人午夜精品在线| 久久久久久久久久一区二区三区 | 免费看黄色一级视频| 另类视频在线观看| 欧美亚洲黄色| 亚洲人成77777| 日韩国产欧美在线视频| 亚洲熟妇一区二区三区| 污片在线观看一区二区| 国产 日韩 欧美 综合| 精品中文字幕视频| 日韩有吗在线观看| 337p亚洲精品色噜噜狠狠p| 狠狠色狠狠色综合| 91香蕉一区二区三区在线观看| 在线观看亚洲专区| 韩国精品视频| 国产精品高潮粉嫩av| 欧美日韩在线播放视频| 超碰在线97免费| 中文无字幕一区二区三区| 中文字幕在线网址| 永久免费毛片在线播放不卡 | 国产精品色网| 一级黄色片大全| 在线亚洲一区观看| 在线观看黄色av| 91在线视频成人| 欧美三区美女| 自拍视频一区二区| 色综合久久99| 在线国产91| 亚洲综合最新在线| 亚洲午夜激情在线| 在线精品一区二区三区| 日本久久一区二区| 香蕉视频网站在线观看| 亚洲qvod图片区电影| 1000部精品久久久久久久久| 成人免费无码大片a毛片| 在线影院国内精品| 在线中文字幕视频观看| 国产91免费视频| 久久狠狠一本精品综合网| 国产黄色录像视频| 日韩一区二区中文字幕| xxx性欧美| 日韩欧美一区二区三区久久婷婷| 久久国产免费看| 国产一级在线观看视频| 亚洲色图13p| 国产日本亚洲| 久久精品99国产| 亚洲日本一区二区| 污污的视频网站在线观看| 国产精品美女在线| 亚洲欧美综合国产精品一区| 国精品无码人妻一区二区三区| 欧美日韩综合色| 川上优av中文字幕一区二区| 日韩欧美亚洲v片| 高清国产一区二区三区| 一级黄色av片| 欧美日韩国产91| 激情婷婷综合| xxxxxx黄色| 欧美美女视频在线观看| 国产在线精彩视频| 一区二区三区在线观看www| 99久久婷婷国产综合精品| 五月激情丁香网| 91精品国产91久久久久久不卡 | 久久精品国产69国产精品亚洲| 成人爽a毛片| 久久这里只精品| 欧美色道久久88综合亚洲精品| 免费人成在线观看播放视频| 久久国产精品久久| 国产suv精品一区二区三区|