KVM虚拟化管理工具之virtsh(一)
一、什么是virsh
virsh 是kvm一個(gè)管理工具包。virsh提供兩種執(zhí)行模式:”直接模式(Direct Mode)”與”互動(dòng)模式(Interactive Mode)”。在直接模式里,你必須在Shell中以參數(shù)、自變量的方式來(lái)執(zhí)行virsh,如果在互動(dòng)模式中,則virsh會(huì)提供一個(gè)提示字符串, 你可以在該提示字符串后,輸入要執(zhí)行的命令。如果執(zhí)行virsh沒(méi)有指定任何參數(shù)或自變量則默認(rèn)就是進(jìn)入互動(dòng)模式。 與xm一樣,COMMAND也是 virsh提供的命令。
二、virsh 語(yǔ)法及參數(shù)
virsh命令有2使用方式,一種是在命令行上 virsh + [COMMAND](指令) +[ARGS…](具體參數(shù))工作;另一種是直接在命令行輸入virsh進(jìn)入控制臺(tái)通過(guò)[COMMAND](指令) +[ARGS…](具體參數(shù))工作。需要注意的是virsh命令只能運(yùn)行在Linux內(nèi)核下的主機(jī)中,不能運(yùn)行在windows操作系統(tǒng)中。
方法一: [root@localhost ~]# virsh version 根據(jù)庫(kù)編譯:libvirt 4.5.0 使用庫(kù):libvirt 4.5.0 使用的 API: QEMU 4.5.0 運(yùn)行管理程序: QEMU 1.5.3 方法二: [root@localhost ~]# virsh 歡迎使用 virsh,虛擬化的交互式終端。 輸入:'help' 來(lái)獲得命令的幫助信息'quit' 退出 virsh # verison 根據(jù)庫(kù)編譯:libvirt 4.5.0 使用庫(kù):libvirt 4.5.0 使用的 API: QEMU 4.5.0 運(yùn)行管理程序: QEMU 1.5.3三、virsh 命令介紹
virsh 命令包含了domain(工作域),host(宿主機(jī)),interface(接口),network(網(wǎng)絡(luò)), Node Device(節(jié)點(diǎn)設(shè)備),Snapshot(快照),Secret (安全性),Storage Pool (存儲(chǔ)池),Storage Volume(存儲(chǔ)卷)
通過(guò) virsh --help 可以查詢到:
四、virsh常用命令介紹
4.1 host(宿主機(jī)相關(guān))
4.1.1 hostname
virsh hostname 顯示宿主機(jī)的機(jī)器名
[root@localhost ~] virsh hostname localhost.localdomain4.1.2 maxvcpus
virsh maxvcpus 顯示宿主機(jī)最大可提供分配的虛擬cpu的總數(shù),也就是一臺(tái)機(jī)器下所有虛擬機(jī)的vcpu個(gè)數(shù)之和不能大于這個(gè)參數(shù)。
[root@localhost ~] virsh maxvcpus 2404.1.3 version
virsh version 顯示libvirt及qemu對(duì)應(yīng)的版本信息
[root@localhost ~] virsh version 根據(jù)庫(kù)編譯:libvirt 4.5.0 使用庫(kù):libvirt 4.5.0 使用的 API: QEMU 4.5.0 運(yùn)行管理程序: QEMU 1.5.34.1.4 sysinfo
virsh sysinfo 顯示宿主機(jī)的硬件信息
[root@localhost ~] virsh sysinfo <sysinfo type='smbios'><bios><entry name='vendor'>American Megatrends Inc.</entry><entry name='version'>0602</entry><entry name='date'>12/09/2014</entry><entry name='release'>4.6</entry></bios><system><entry name='manufacturer'>ASUS</entry><entry name='product'>All Series</entry><entry name='version'>System Version</entry><entry name='serial'>System Serial Number</entry><entry name='uuid'>2198b9a0-d7da-11dd-8b03-086266276416</entry><entry name='sku'>All</entry><entry name='family'>ASUS MB</entry></system><baseBoard><entry name='manufacturer'>ASUSTeK COMPUTER INC.</entry><entry name='product'>Z97-K R2.0</entry><entry name='version'>Rev X.0x</entry><entry name='serial'>141236867304293</entry><entry name='asset'>To be filled by O.E.M.</entry><entry name='location'>To be filled by O.E.M.</entry></baseBoard><chassis><entry name='manufacturer'>To Be Filled By O.E.M.</entry><entry name='version'>To Be Filled By O.E.M.</entry><entry name='serial'>To Be Filled By O.E.M.</entry><entry name='asset'>To Be Filled By O.E.M.</entry><entry name='sku'>To be filled by O.E.M.</entry></chassis><processor><entry name='socket_destination'>SOCKET 1150</entry><entry name='type'>Central Processor</entry><entry name='family'>Other</entry><entry name='manufacturer'>Intel</entry><entry name='version'>Intel(R) Xeon(R) CPU E3-1230 v3 @ 3.30GHz</entry><entry name='external_clock'>100 MHz</entry><entry name='max_speed'>3900 MHz</entry><entry name='status'>Populated, Enabled</entry><entry name='serial_number'>Not Specified</entry><entry name='part_number'>Fill By OEM</entry></processor><memory_device><entry name='size'>4096 MB</entry><entry name='form_factor'>DIMM</entry><entry name='locator'>DIMM_A1</entry><entry name='bank_locator'>BANK 0</entry><entry name='type'>DDR3</entry><entry name='type_detail'>Synchronous</entry><entry name='speed'>1600 MT/s</entry><entry name='manufacturer'>Kingston</entry><entry name='serial_number'>8A3A040F</entry><entry name='part_number'>99P5474-013.A00LF</entry></memory_device><memory_device><entry name='size'>8192 MB</entry><entry name='form_factor'>DIMM</entry><entry name='locator'>DIMM_A2</entry><entry name='bank_locator'>BANK 1</entry><entry name='type'>DDR3</entry><entry name='type_detail'>Synchronous</entry><entry name='speed'>1600 MT/s</entry><entry name='manufacturer'>0622</entry><entry name='serial_number'>00000000</entry><entry name='part_number'>DDR3-1600 CL11 8GB</entry></memory_device><memory_device><entry name='size'>4096 MB</entry><entry name='form_factor'>DIMM</entry><entry name='locator'>DIMM_B1</entry><entry name='bank_locator'>BANK 2</entry><entry name='type'>DDR3</entry><entry name='type_detail'>Synchronous</entry><entry name='speed'>1600 MT/s</entry><entry name='manufacturer'>Kingston</entry><entry name='serial_number'>853A080F</entry><entry name='part_number'>99P5474-013.A00LF</entry></memory_device> </sysinfo>4.1.5 capabilities
virsh capabilities 以XML文件格式顯示當(dāng)前虛擬環(huán)境的性能參數(shù)
[root@localhost ~] virsh capabilities <capabilities><host> <uuid>2198b9a0-d7da-11dd-8b03-086266276416</uuid> <cpu> <arch>x86_64</arch><model>Haswell-noTSX-IBRS</model><vendor>Intel</vendor><microcode version='39'/><counter name='tsc' frequency='3298088000' scaling='no'/><topology sockets='1' cores='4' threads='2'/><feature name='vme'/><feature name='ds'/><feature name='acpi'/><feature name='ss'/><feature name='ht'/><feature name='tm'/><feature name='pbe'/><feature name='dtes64'/><feature name='monitor'/><feature name='ds_cpl'/><feature name='vmx'/><feature name='smx'/><feature name='est'/><feature name='tm2'/><feature name='xtpr'/><feature name='pdcm'/><feature name='osxsave'/><feature name='f16c'/><feature name='rdrand'/><feature name='arat'/><feature name='tsc_adjust'/><feature name='md-clear'/><feature name='stibp'/><feature name='ssbd'/><feature name='xsaveopt'/><feature name='pdpe1gb'/><feature name='abm'/><feature name='invtsc'/><pages unit='KiB' size='4'/><pages unit='KiB' size='2048'/><pages unit='KiB' size='1048576'/></cpu><power_management> <suspend_mem/><suspend_disk/><suspend_hybrid/></power_management><iommu support='no'/><migration_features> <live/><uri_transports><uri_transport>tcp</uri_transport><uri_transport>rdma</uri_transport></uri_transports></migration_features><topology> <cells num='1'><cell id='0'><memory unit='KiB'>24464364</memory><pages unit='KiB' size='4'>6116091</pages><pages unit='KiB' size='2048'>0</pages><pages unit='KiB' size='1048576'>0</pages><distances><sibling id='0' value='10'/></distances><cpus num='8'><cpu id='0' socket_id='0' core_id='0' siblings='0,4'/><cpu id='1' socket_id='0' core_id='1' siblings='1,5'/><cpu id='2' socket_id='0' core_id='2' siblings='2,6'/><cpu id='3' socket_id='0' core_id='3' siblings='3,7'/><cpu id='4' socket_id='0' core_id='0' siblings='0,4'/><cpu id='5' socket_id='0' core_id='1' siblings='1,5'/><cpu id='6' socket_id='0' core_id='2' siblings='2,6'/><cpu id='7' socket_id='0' core_id='3' siblings='3,7'/></cpus></cell></cells></topology><cache><bank id='0' level='3' type='both' size='8' unit='MiB' cpus='0-7'/></cache><secmodel> <model>none</model><doi>0</doi></secmodel><secmodel><model>dac</model><doi>0</doi><baselabel type='kvm'>+107:+107</baselabel><baselabel type='qemu'>+107:+107</baselabel></secmodel></host><guest><os_type>hvm</os_type> <arch name='i686'> <wordsize>32</wordsize> <emulator>/usr/libexec/qemu-kvm</emulator><machine maxCpus='240'>pc-i440fx-rhel7.0.0</machine><machine canonical='pc-i440fx-rhel7.0.0' maxCpus='240'>pc</machine> <machine maxCpus='240'>rhel6.0.0</machine><machine maxCpus='240'>rhel6.1.0</machine><machine maxCpus='240'>rhel6.2.0</machine><machine maxCpus='240'>rhel6.3.0</machine><machine maxCpus='240'>rhel6.4.0</machine><machine maxCpus='240'>rhel6.5.0</machine><machine maxCpus='240'>rhel6.6.0</machine><domain type='qemu'/> <domain type='kvm'><emulator>/usr/libexec/qemu-kvm</emulator></domain></arch><features><cpuselection/><deviceboot/><disksnapshot default='off' toggle='no'/><acpi default='on' toggle='yes'/><apic default='on' toggle='no'/><pae/><nonpae/></features></guest><guest><os_type>hvm</os_type><arch name='x86_64'><wordsize>64</wordsize><emulator>/usr/libexec/qemu-kvm</emulator><machine maxCpus='240'>pc-i440fx-rhel7.0.0</machine><machine canonical='pc-i440fx-rhel7.0.0' maxCpus='240'>pc</machine><machine maxCpus='240'>rhel6.0.0</machine><machine maxCpus='240'>rhel6.1.0</machine><machine maxCpus='240'>rhel6.2.0</machine><machine maxCpus='240'>rhel6.3.0</machine><machine maxCpus='240'>rhel6.4.0</machine><machine maxCpus='240'>rhel6.5.0</machine><machine maxCpus='240'>rhel6.6.0</machine><domain type='qemu'/><domain type='kvm'><emulator>/usr/libexec/qemu-kvm</emulator></domain></arch><features><cpuselection/><deviceboot/><disksnapshot default='off' toggle='no'/><acpi default='on' toggle='yes'/><apic default='on' toggle='no'/></features></guest> </capabilities>4.2 capabilities XML文件解釋
4.2.1 host(宿主機(jī)相關(guān)配置)
| host | 宿主機(jī)相關(guān)功能元素 | 頂級(jí)標(biāo)簽 |
| guest | 來(lái)賓相關(guān)功能元素 | 頂級(jí)標(biāo)簽 |
| uuid | 表明宿主機(jī)的UUID | host |
| cpu | 主機(jī)CPU的體系結(jié)構(gòu)和功能 | host |
| power_management | 主機(jī)是否能夠進(jìn)行內(nèi)存掛起"suspend_mem",磁盤休眠"suspend_disk"或混合掛起"suspend_hybrid" | host |
| migration | 公開有關(guān)虛擬機(jī)管理程序遷移功能的信息 | host |
| topology | 該元素體現(xiàn)了主機(jī)內(nèi)部拓?fù)洹@?#xff0c;由于減少了NUMA之間的節(jié)點(diǎn)傳輸,管理應(yīng)用程序可能希望在組織新的來(lái)賓時(shí)學(xué)習(xí)此信息 | host |
| secmodel | 要找出不同安全模型的默認(rèn)安全標(biāo)簽,您需要解析此元素。與以前的元素相比,對(duì)于libvirt守護(hù)程序當(dāng)前支持的每個(gè)安全模型,都重復(fù)此操作。 | host |
| arch | 操作系統(tǒng)架構(gòu)類型,x86_64、i386、i486、i586、alpha、sparc、arm、m68k、mips、ppc、i686等 | cpu |
| model | qemu中cpu虛擬化支持的類型,如果在遷移虛擬機(jī)過(guò)程中,遇到cpu虛擬化支持的類型不匹配會(huì)導(dǎo)致虛擬機(jī)無(wú)法正常啟動(dòng) | cpu |
| vendor | 生產(chǎn)所屬公司 | cpu |
| microcode | cpu 微代碼版本號(hào)cpun必備的 詳細(xì)請(qǐng)查閱 microcode | cpu |
| counter | name=‘tsc’ frequency=‘3298088000’ scaling=‘no’ ,TSC代表是Time Stamp Counter,frequency代表最大計(jì)數(shù)值,scaling 詳見TSC官方文檔 | cpu |
| topology | CPU拓?fù)浼敖Y(jié)構(gòu),常常以sockets='1’1、 cores=‘4’ threads=‘2’,sockets代表路,cores代表核,threads代表超線程數(shù)(單顆) | cpu |
| feature | cpu支持的一些特性,通常有vme,ss,acpi等 | cpu |
| cache | cpu緩存相關(guān)配置 | cpu |
| pages | 內(nèi)存頁(yè)所支持的單位大小 | cpu |
| iommu | 輔助虛擬化 vt-x PCI透?jìng)魇欠耖_啟 | host |
| suspend_mem | 內(nèi)存掛機(jī) | power_management |
| suspend_disk | 硬盤休眠 | power_management |
| suspend_hybrid | 混合掛起 | power_management |
| live | 支持在線遷移 | migration_features |
| uri_transports | 支持的遷移方式tcp,rdma | migration_features |
| topology | 宿主機(jī)所有CPU及內(nèi)存相關(guān)參數(shù) | host |
| cells | 實(shí)際CPU的數(shù)量 | topology |
| memory | 宿主機(jī)內(nèi)存總量 | topology |
| pages | 內(nèi)存頁(yè)使用數(shù) | topology |
| distances | cpu 之間的NUMA之間訪問(wèn)內(nèi)存的優(yōu)先級(jí) | cpus |
| cpus | cpu 總數(shù)量 | cpus |
| cpu | cpu核數(shù)綁定關(guān)系 | cpus |
| cache | cpu緩存相關(guān)參數(shù) | topology |
| model | 支持的安全模式 | secmodel |
| doi | 安全表示符 | secmodel |
4.2.2 guest(來(lái)賓相關(guān)配置)
| os_type | 管理程序能夠運(yùn)行哪種操作系統(tǒng):xen、linux、xenpvh、hvm、exe | guest |
| arch | 架構(gòu)類型 | guest |
| wordsize | CPU字的大小 | arch |
| emulator | 仿真模擬器的位置 | arch |
| machine | 機(jī)器類型,用于 域XML中os / type元素的機(jī)器屬性。例如,Xen支持xenfvHVM,xenpvPV或xenpvhPVH。 | arch |
| domain | 指定運(yùn)行域所需的系統(tǒng)管理程序的類型 | arch |
| features | 可選元素包含可與所描述類型的來(lái)賓一起使用的可能功能 | guest |
| cpuselection | 如果存在此元素,則管理程序?qū)⒃谟蚨x中支持該元素,以對(duì)提供給來(lái)賓的CPU進(jìn)行細(xì)粒度控制。從0.7.5開始 | features |
| deviceboot | 如果存在此元素,則可以在設(shè)備內(nèi)部使用該元素,而不是按類別使用較早的引導(dǎo)規(guī)范。從0.8.8開始 | features |
| disksnapshot | 如果存在此元素,則default屬性描述是否支持外部磁盤快照。如果不存在,可能仍支持外部快照,但是它需要嘗試API并檢查錯(cuò)誤以確保確定。從1.2.3開始 | features |
| acpi | 如果存在此元素,則default屬性描述默認(rèn)情況下管理程序是否向訪客公開ACPI,并且toggle屬性描述用戶是否可以覆蓋此默認(rèn)值。從0.4.1開始 | features |
| apic | 如果存在此元素,則該default屬性描述默認(rèn)情況下管理程序是否向訪客公開APIC,并且該toggle屬性描述用戶是否可以覆蓋此默認(rèn)值。從0.4.1開始 | features |
| ia64_be | 如果存在,則從0.4.1開始,IA64 guest虛擬機(jī)可以在大端模式下運(yùn)行。 | features |
| pae | 從0.4.1開始,如果存在,則32位guest 虛擬機(jī)可以使用PAE地址空間擴(kuò)展。 | features |
| nonpae | 如果存在,則從0.4.1開始,無(wú)需PAE即可運(yùn)行32位guest 虛擬機(jī)。 | features |
4.3 sysinfo XML文件解釋
| sysinfo | 設(shè)備信息,type=smbios 表示允許來(lái)賓主機(jī)使用和修改的信息 | 頂級(jí) |
| bios | bios信息 | sysinfo |
| system | 系統(tǒng)信息 | sysinfo |
| baseBoard | 主板信息 | sysinfo |
| chassis | 機(jī)箱信息 | sysinfo |
| processor | 處理器相關(guān)信息 | sysinfo |
| memory_device | 內(nèi)存相關(guān)信息 | sysinfo |
總結(jié)
以上是生活随笔為你收集整理的KVM虚拟化管理工具之virtsh(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: impinj 编程接口
- 下一篇: β射线与哪些物质可产生较高的韧致辐射_北