1. 程式人生 > >libvirt使用虛擬機器的串列埠和控制檯

libvirt使用虛擬機器的串列埠和控制檯

qemu提供了控制檯console和串列埠serial用來與虛擬機器進行互動通訊。本文講述如何通過console進入虛擬機器的控制檯,以及如何通過serial與虛擬機器進行串列埠通訊。(文章來自作者維護的社群微信公眾號【虛擬化雲端計算】)
libvirt給虛擬機器建立serial和console    <serial type='pty'>      <target type='isa-serial' port='0'>        <model name='isa-serial'/>      </target>    </serial>       <serial type='pty'>
          <target type='isa-serial' port='1'>            <model name='isa-serial'/>          </target>       </serial>    <console type='pty'>      <target type='serial' port='0'/>    </console>       <console type='pty'>           <target type='virtio' port='1'/>
       </console>說明:可以有多個pty型別的serial,每一個serial對應的pty裝置都被重定向到/dev/pts/下的一個裝置。可以有多個pyt型別的console,每一個console對應的pty裝置都被重定向到/dev/pts/下的一個裝置。只有第一個console可以是serial型別,或者說只能有一個console是serial型別的。其他console可以是virtio的。如果console型別是serial型別的,則qemu不再建立console裝置,因為與第一個serial裝置表示同一個裝置。即serial0既表示一個serial又表示一個console。在虛擬機器內部
給虛擬機器添加了virtio型別的console裝置後,在虛擬機器內部對應裝置檔案/dev/hvc*給虛擬機器天機了serial型別的serial裝置後,在虛擬機器內部對應裝置檔案/dev/ttyS*在主機上進入虛擬機器的控制檯# virsh console cvm --devname serial0也可以連線其他的console:# console cvm --devname console1說明:devname 是console裝置的名稱。要進入虛擬機器的控制檯只能通過console裝置,不能通過serial裝置(可以通過serial0,因為serial0也是一個console裝置)要通過virtio型別的console進入虛擬機器的console,不需要對虛擬機器做任何修改,要通過serial型別的console進入虛擬機器的console,需要在虛擬機器的cmdline中新增console=ttyS0串列埠在主機上的重定向虛擬機器的串列埠在主機端可以實現重定向功能,用來方便的與虛擬機器進行串列埠通訊,例如:重定向到Pseudo TTY,即/dev/pts/*    <serial type='pty'>      <target type='isa-serial' port='1'>        <model name='isa-serial'/>      </target>    </serial>這樣就可以通過對PseudoTTY的讀寫來與虛擬機器的串列埠進行通訊了。另外還可以重定向到file、virtual console、null、Host device proxy、Named pipe、TCP client/server、UDP network console、UNIX domain socket client/server、Spice channel、Nmdm device。以重定向到PseudoTTY的方式演示串列埠通訊:給虛擬機器新增一個pty型別的串列埠(第一個pty串列埠預設給console使用,這裡用第二個串列埠)    <serial type='pty'>      <target type='isa-serial' port='0'>        <model name='isa-serial'/>      </target>    </serial>    <serial type='pty'>      <target type='isa-serial' port='1'>        <model name='isa-serial'/>      </target>    </serial>主機端:
虛擬機器內部:可以看到兩端可以直接互動通訊。對應的qemu中新增一個pty型別的serial:-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0對應的qemu中新增一個pty型別target是virtio的console:-chardev pty,id=charconsole1 -device virtconsole,chardev=charconsole1,id=console1serial和console被重定向到哪個pts,在qemu啟動虛擬機器日誌中可檢視:

關注本公眾號,瞭解更多關於雲端計算虛擬化的知識。

相關推薦

libvirt使用虛擬機器串列控制檯

qemu提供了控制檯console和串列埠serial用來與虛擬機器進行互動通訊。本文講述如何通過console進入虛擬機器的控制檯,以及如何通過serial與虛擬機器進行串列埠通訊。(文章來自作者維護

虛擬機器串列通訊

在虛擬機器關機狀態下 VM->settings->HardWare->Add->Serial Port 這時,你會看見三種選項 使用主機上的物理串列埠//就是說使用主機上的物理串

Windows下VMWare虛擬機器串列設定

VMWare可以使用命名管道在兩個虛擬機器之間模擬串列埠, 這在同一主機上的兩臺虛擬機器之間需要通過串列埠進行通訊時非常方便, 使用kgdb除錯linux核心就是其典型的應用. 具體操作: --> "Edit virtual machine settings"

虛擬機器識別串列USB轉串列

1.虛擬機器識別串列埠 VM -> Settings -> (左下角)Add  -> Serial Port   (注意: 要在虛擬機器系統未啟動時設定) 選擇要新增的串列埠(建議不要使用Auto detect) 勾選 Connected  和 Conne

libvirt-qemu-虛擬機器cpu分配cpu熱插拔

(文章來自作者維護的社群微信公眾號【虛擬化雲端計算】)    在libvrit的domain的xml檔案中有兩個地方控制cpu數量和拓撲,一個是cpu,一個是vcpu,其中cpu段控制虛擬機器cpu的模

linux虛擬機器的安裝管理

先檢查cpu是否有全虛擬化功能 cat /proc/cpuinfo flags裡顯示cpu的功能 裡面有vmx就是有 1.手動安裝虛擬機器 virt-manager 選擇左上角的電腦 選擇第一個選項,並且命名虛擬機器forward是前進的意思 在瀏覽裡選擇映象的

linux —— 虛擬機器的認識檔案管理

<0>.shell的理解 sell:俗稱殼,(用來區別核),是指“提供者使用介面”的軟體(命令直譯器) 常用快捷操作 Ctrl+Alt+上|下 //切換工作介面 Ctrl+Alt+L //鎖屏 Alt + F1 //開啟主選單Application Alt +

虛擬機器的安裝設定

虛擬機器的安裝   虛擬機器的設定                    

Linux 虛擬機器自動安裝配置

一、配置服務端 1.安裝kickstart [[email protected]~]# yum install -y system-config-kickstart.noarch2.圖形設定虛擬機器資訊 [[email protected] ~]# system-co

常用的虛擬機器效能監控故障處理工具

1. jps : 虛擬機器程序狀況工具          可以列出正在執行的虛擬機器程序,並顯示虛擬機器執行主類名稱,以及這些程序的本地虛擬機器唯一ID(LVMID)。          

VMware10虛擬機器安裝CentOS7mysql5.7

  在虛擬機器上安裝CentOS7不詳細說:設定聯外網訪問的話,建議選橋接模式通訊,這裡用的映象為CentOS-7-x86_64-DVD-1804.iso,安裝過程需要開啟en33,安裝好再配置自動獲取也行,安裝時需要配置時間,選擇要安裝的軟體(不能用預設的安裝,那是最小化安裝,我選擇的是桌面系統的所有複選框

修改開發板的串列輸出,控制檯提示符

SoC中有4個串列埠,但開發板上只引出了兩個(uart0,uart2),預設通過uart2輸出, 嘗試通過修改程式碼把它改到uart0輸出. 在 "\u-boot-samsung-dev\include\configs" 路徑下的 smdkv210single.h 中,修改146行 

虛擬機器的克隆快照

首先我們來了解一下克隆和快照的區別:   假設我們有一個叫hadoop的centos的映象   1.作用:快照是為了 儲存當前時間節點虛擬機器的狀態,一旦虛擬機器被我們玩壞了,可以通過快照來恢復到某個時間點的狀態       克隆是為了克隆出一臺和目標虛擬機器完全相同的虛擬機器,一般用於搭建叢集   2.製作

虛擬機器的安裝centos7的安裝

下載VMware:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html VMware 2018 v14.x 永久許可證啟用金鑰: FF31K-AHZD1-H8ETZ-8WWEZ-W

JAVA 虛擬機器 GC演算法GC回收器

本章內容 標記-清除演算法 複製演算法  標記-整理演算法 分代收集演算法 七種垃圾收集器   標記-清除演算法 標記;遍歷所有的GC Roots,然後將所有GC Roots可達的物件標記為存活的物件 清除:清除的過程將遍歷堆中所有的物件,將沒有標記的物件全部清除

轉載 STM32簡單資料傳輸方法與通訊協議(適合串列一般匯流排)

版權宣告:謝謝你那麼厲害還看了我的文章,歡迎轉載交流學習~    https://blog.csdn.net/kilotwo/article/details/79307090 引言 在一般的專案開發過程中,往往需要兩塊或以上微控制器進行通訊完成資料傳輸,例如四旋翼無人機

VMware上實現win7系統Ubuntu虛擬機器互相複製貼上

文章目錄 系統環境 在VMware上安裝VMware tools 系統環境 主機系統為win7 64位,虛擬機器系統為ubuntu14.04(在VMware中),其他版本的系統操作也類似。 在VMware上安裝VMware tools

[連載]《C#通訊(串列網路)框架的設計與實現》- 0.前言

                              目       錄 前言 前言       剛參加工作,使用過VB、VC開發軟體,隨著C#的崛起,聽說是C++++,公司決定以後開發軟體使用C#,憑藉在書市5塊錢買C#程式設計入門書籍,開始了職業生涯。開發C/S、B/S結構的軟體是

《連載 | 物聯網框架ServerSuperIO教程》-4.如開發一套裝置驅動,同時支援串列網路通訊。附:將來支援Windows 10 IOT

注:ServerSuperIO有可能被移植到Windows 10 IOT上,那麼將來有可能開發一套裝置驅動,可以支行在服務端、嵌入式裝置中,將形成完整的解決方案。       現在已經除錯通過部分程式碼,還得需要一段時間,一般都是晚上幹,時間也有限。如下圖: 目       錄

[連載]《C#通訊(串列網路)框架的設計與實現》-2.框架的總體設計

目       錄 C#通訊(串列埠和網路)框架的設計與實現... 1 (SuperIO)- 框架的總體設計... 1 第二章           框架總體的設計... 2 2.1           宿主程式設計... 2 2.2           通訊機制設計... 7   2.2.1