『壹』 教你探測虛擬環境是物理機、虛擬機還是容器
目前裸機(物理機)、虛擬機、容器是雲計算提供計算服務的三種主流形式。那麼如何判斷一個虛擬shell環境到底是物理機、虛擬機還是容器呢?
更進一步,如果是物理機,這個物理機廠商是什麼,虛擬機到底是KVM還是XEN,容器是Docker還是rkt、lxc等?
更進一步,如果是虛擬機,是否可以判斷這個虛擬機是運行在AWS還是阿里或者OpenStack,是否能夠獲取虛擬機的UUID、instance-type、vpc-id、安全組等信息?
如果使用了systemd,則可以直接通過 systemd-detect-virt 命令判斷是否物理機:
如上可以看出這台是物理機,廠商為LENOVO,型號為ThinkServer RD640,序列號為NC01711670
當然如果是虛擬機,如上命令會執行失敗。另外也可以通過其他命令查看物理信息,如 lshw 命令。
其實前面已經提到了,如果使用了systemd,則可以直接通過 systemd-detect-virt 命令判斷是否虛擬機:
如果是虛擬機,則會輸出虛擬機類型,如kvm、oracle(virtualbox)、xen等。
參考物理機的獲取方式,我們可以通過dmidecode命令獲取更多的虛擬機信息。比如我在一台KVM虛擬機運行如下命令:
如上Proct Name為KVM,說明運行在KVM平台,而UUID即虛擬機的UUID。
XEN上的一台虛擬機輸出為:
如上Manufacturer為XEN,說明運行在XEN平台,而UUID即虛擬機的UUID。
騰訊雲的虛擬機如下:
華為雲的虛擬機如下:
如上Manufacturer為 OpenStack Foundation ,說明運行在OpenStack平台,而UUID即虛擬機的UUID。
可見雖然可以從system信息中獲取雲廠商的線索,但其實虛擬機的system信息並沒有統一的標准,有的在version中體現,有的在Proct Name中表現,完全取決於雲廠商自己的配置。
目前還沒有什麼方法能夠100%准確判斷虛擬環境是否是容器
如果環境有 systemd-detect-virt 命令,則可以直接通過 systemd-detect-virt -c 命令判斷,如果輸出為 none 則不是容器,否則會輸出昌段容器類型,比如lxc。目前很少容耐芹譽器裡面放 systemd 的,我見過的就只有LXD的 ubuntu 鏡像,因首此此這種方法適用性不廣。
1.查看目前默認的啟動默認
2.設置為圖形界面模式
3.設置為命令行模式
svm - Secure virtual machine, AMD的虛擬化技術AMD-V
vmx - Intel的虛擬化技術Intel-VT
『貳』 虛擬機和物理機的區別,物理機是自己的電腦嗎。求大神
虛擬機只是用軟體的方式在你的物理機上模擬出一個新的電腦,硬體等都是模擬出來的,所以性能等會受到物理機的影響,物理機就是你的實體電腦。
『叄』 判斷當前主機是物理機還是虛擬機
提供3種方法:
Linux
1: fdisk -l 查看資盤是sda還是vda,xda,一般物理機器都是sda
2:dmidecode|more 查看所有硬體信息
說明如果提示 -bash: dmidecode: command not found,可以先 yum install dmidecode
從而判斷出是否為物理機,出現--More--時,一直按回車鍵(Enter)就可以看到所有的硬體信息,如果是虛擬機(雲主機VPS)一下就可以看出來!
3:重啟速度,雲主機/VPS重啟都很快,一般1分鍾之內,物理機器由於有很多自檢步驟,重啟要5分鍾左右
Windows
在CMD里運行 Systeminfo ,就可以看到一些系統信息,主要看:系統製造商(這個就是主板生產商)、系統型號(主板的型號)(系統型號結果中有Virtual字樣,100%是虛擬機)、網卡型號
另外我在用的是主機公園的主機,速度很不錯,服務好
『肆』 Linux判斷當前機器是虛擬機還是物理機
可以從硬體型號上來判斷,虛擬機的硬體型號是特定的,而且就那麼幾種,從硬體型號上甚至還能知道是哪種虛擬機;還有驅動,虛擬機中有特定的驅動,也可以輔助判斷;另外還可以通過網關類型來判斷,比如VMware Workstation虛擬機的網關就很有特點(類似於vmnet-8這樣),物理機的網關絕對不會是VMware Workstation虛擬機那樣。
『伍』 怎麼去判斷某台機器是物理機還是虛擬機
打開設備管理器或者點擊我的電腦的屬性裡面都有那些硬體設備名稱都是VMware
『陸』 虛擬機跟物理機的區別
通過 使用軟體,虛擬機就表現得如同物理機,擁有自己的一套虛擬硬體,包括其上載入的操作系統和應用。使用虛擬化,不管下面主機伺服器所運行的操作系統如何,每台虛擬機都擁有一致的虛擬硬體。 說白了,就是虛擬機在一個環境下用硬體虛擬了另一個環境,類似一個物理機,但是它藉助硬體支持來完成,但是物理機就是那種本能就具有環境。
『柒』 軟體測試:關於性能測試中使用物理機和虛擬機的區別
需要說明的情況,以下對比表格主要針對性能測試:
舉例的物理機和虛擬機的數值
CPU 2Ghz
內存 4GB
網卡 100M
硬碟 200G
虛擬機所在的物理機器稱之為「宿主機」,單獨的物理機和虛擬機是在數值等同的情況下進行以下比對:
其他:
VM實現:
VMware 虛擬化的工作原理是,直接在計算機硬體或主機操作系統上面插入一個精簡的軟體層,用軟體模擬計算機軟硬體環境,佔用物理機本身的資源,將這部分資源「硬體化」--劃分了一個特定的可以格式化的分區,在其中包含cpu的應用資源、內存、硬碟、網路資源等等,建立完整的運行環境。
1、虛擬機的CPU實現:
由於虛擬機是基於一個軟體層實現的,CPU的處理能力實際上是物理機進程調度虛擬機組件來實現的,虛擬機的CPU取決於宿主機的CPU分配。
2、虛擬機的內存分配:
無論怎樣分配,推薦的內存的大小值不能超過所在的物理宿主機的內存,而且物理機的內存動態調整會直接影響到虛擬機的內存使用率;如果內存值大於宿主機的物理內存值,最終還是會導致宿主機本身在內存和硬碟間調度。
同時,虛擬機的內存實際使用率低於虛擬機的內存分配值,仍有一部分用於虛擬機的運作-以上兩個原因決定了虛擬機的內存值是一個時刻變動的動態值,並且在物理機內存惡化的情況下,表現更糟糕。
3,虛擬機的網路使用:
1、橋接Bridge
bridge方式裡面,就是利用網卡的這種功能為每一個VM分配一個外網的IP;每個VM在網路上的地位與宿主機是對等的。可認為每一個VM都是一個網路上的物理機。
2、Host only
第3種的NAT方式實際上是在這種方式上加了一個功能而已(增加一項NAT服務)。host only 用的是vmnet1,它包括兩個組件,一個虛擬的網卡(Host Virtual Adapter),一個網擬的交換機(Virtual Switch),虛擬的網卡自動連到這個交換機上。Host Virtual Adapter和各個虛擬機的網卡一起已經組成了一個區域網,而且Host Virtual Adapter所在的宿主機還有一個網卡(物理網卡)連接著外網—不過這個宿主機上的兩個網卡間不能通信。虛擬網卡不能和物理網卡通訊,導致了VM不能訪問外網,但通過Host Virtual Adapter,VM們可以訪問host,所以叫做 host only。
另外,讓VM們能夠訪問外網的方法:
把host 配置成一個簡單的NAT伺服器:在Windows XP 下使用的方法:打開網路連接,右擊物理網卡的連接,屬性,高級,找到 Internet Connection Sharing(ICS),勾選,VMware默認裝了兩個網卡:vmnet1和。確定vmnet1共享物理網卡的IP,XP會彈出一個對話框,提示再用共享文件--使用ICS後,不能在區域網里共享文件---系統會將vmnet1上的 Host Virtual Adapter的IP設為 192.168.0.1,未提供DHCP,將VM的IP靜態地設為192.168.0.x,網關設成Host Virtual Adapter(192.168.0.1),VM們的DNS也要設置成靜態的,最好設置成宿主機的DNS。
3、NAT
增加一項NAT服務,而這個NAT服務並不連接 Host Virtual Adapter與物理網卡, 它相當於又虛擬出來一個網卡--默認情況下,這個未命名的網卡插到mnet8的交換機的第二個插槽上。VMware虛擬機配置的網路號192.168.221.0,那麼這個無名網卡就是192.168.221.2,而Host Virtual Adapter是192.168.221.1,你的VM們的網路連接的配置要設成自動獲取IP和DNS,這是因為這個NAT服務還提供了DHCP服務,DHCP服務除了給VM們提供IP外,還可以給它們提供DNS伺服器的IP。NAT方式中,Host Virtual Adapter並沒有提供特殊的作用,Host Virtual Adapter在各種配置中都起了一個相同的作用,就是與主機進行通信。
4、虛擬機應用程序的運行:
這個涉及到虛擬機的硬碟、內存和CPU,由於虛擬機是一個「特殊」的應用程序,本身就運行在物理機的抽象層上,除硬碟的訪問方式/速度完全一致外,VM訪問CPU和內存、網路這幾大塊,都是離不開宿主機的分配和影響的,特別是在性能測試中,多個因素的綜合影響,會導致資源的爭用,而無法具體分析在哪一個環節出現了瓶頸:如訪問資料庫或是中間件,只知道反應緩慢,請求超時,而無法確實是因為CPU的處理速度跟不上還是因為網路擁塞導致,抑或是內存緊張而調度失敗,在VM中宿主機的動態對VM這組進程的調整,更是無法掌控和預測的。
由此,可以看到,確保性能測試能順利有效的進行,選擇物理機的實體測試,可以宿主機對其上運行VM的干擾及影響,提升性能測試的有效性。
2、Host only
第3種的NAT方式實際上是在這種方式上加了一個功能而已(增加一項NAT服務)。host only 用的是vmnet1,它包括兩個組件,一個虛擬的網卡(Host Virtual Adapter),一個網擬的交換機(Virtual Switch),虛擬的網卡自動連到這個交換機上。Host Virtual Adapter和各個虛擬機的網卡一起已經組成了一個區域網,而且Host Virtual Adapter所在的宿主機還有一個網卡(物理網卡)連接著外網—不過這個宿主機上的兩個網卡間不能通信。虛擬網卡不能和物理網卡通訊,導致了VM不能訪問外網,但通過Host Virtual Adapter,VM們可以訪問host,所以叫做 host only。
另外,讓VM們能夠訪問外網的方法:
把host 配置成一個簡單的NAT伺服器:在Windows XP 下使用的方法:打開網路連接,右擊物理網卡的連接,屬性,高級,找到 Internet Connection Sharing(ICS),勾選,VMware默認裝了兩個網卡:vmnet1和。確定vmnet1共享物理網卡的IP,XP會彈出一個對話框,提示再用共享文件--使用ICS後,不能在區域網里共享文件---系統會將vmnet1上的 Host Virtual Adapter的IP設為 192.168.0.1,未提供DHCP,將VM的IP靜態地設為192.168.0.x,網關設成Host Virtual Adapter(192.168.0.1),VM們的DNS也要設置成靜態的,最好設置成宿主機的DNS。
3、NAT
增加一項NAT服務,而這個NAT服務並不連接 Host Virtual Adapter與物理網卡, 它相當於又虛擬出來一個網卡--默認情況下,這個未命名的網卡插到mnet8的交換機的第二個插槽上。VMware虛擬機配置的網路號192.168.221.0,那麼這個無名網卡就是192.168.221.2,而Host Virtual Adapter是192.168.221.1,你的VM們的網路連接的配置要設成自動獲取IP和DNS,這是因為這個NAT服務還提供了DHCP服務,DHCP服務除了給VM們提供IP外,還可以給它們提供DNS伺服器的IP。NAT方式中,Host Virtual Adapter並沒有提供特殊的作用,Host Virtual Adapter在各種配置中都起了一個相同的作用,就是與主機進行通信。
4、虛擬機應用程序的運行:
這個涉及到虛擬機的硬碟、內存和CPU,由於虛擬機是一個「特殊」的應用程序,本身就運行在物理機的抽象層上,除硬碟的訪問方式/速度完全一致外,VM訪問CPU和內存、網路這幾大塊,都是離不開宿主機的分配和影響的,特別是在性能測試中,多個因素的綜合影響,會導致資源的爭用,而無法具體分析在哪一個環節出現了瓶頸:如訪問資料庫或是中間件,只知道反應緩慢,請求超時,而無法確實是因為CPU的處理速度跟不上還是因為網路擁塞導致,抑或是內存緊張而調度失敗,在VM中宿主機的動態對VM這組進程的調整,更是無法掌控和預測的。
由此,可以看到,確保性能測試能順利有效的進行,選擇物理機的實體測試,可以宿主機對其上運行VM的干擾及影響,提升性能測試的有效性。
『捌』 什麼是物理機和虛擬機
物理機就是你的實物計算機虛擬機就是在實物計算機內構建的虛擬計算機虛擬計算機的功能可以由你設定 但不能過分超出實物計算機的承載度 就像你的物理內存和你的虛擬機的硬碟容量有密切聯系 謝謝採納