searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

virsh的使用与命令

2023-09-06 02:07:38
24
0

生成硬盘镜像文件

qemu-imgcreate命令语法

qemu-img create [-b base_image] [-f fmt] [-F backing_fmt] filename[size]

其中,参数的含义如下:

  • base_image:指定一个基础的磁盘映像作为原型来创建一个新的磁盘映像。对于基于COW技术的格式,如qcow2,这种方式可以使得创建的磁盘映像不占据实际的磁盘空间,而是使用基础磁盘映像的空间。

  • fmt:指定创建的映像文件的格式。默认为raw,其它格式可用qemu-imginfo查看。

  • backing_fmt:指定基础磁盘映像的格式,如果创建的映像文件使用了COW技术的格式时生效。

  • filename:指定新磁盘映像的文件名。

  • size:指定新磁盘映像的大小。

1、使用raw格式创建新的磁盘映像

qemu-img create -f raw test.img 2G  #指定创建一个名为test.img的磁盘映像文件,大小为2G,格式为raw。

2、使用qcow2格式创建基于一个已有磁盘映像的磁盘映像

qemu-img create -f qcow2 -o backing_file=base.img new.img 5G

#这里创建了一个大小为5G,格式为qcow2的磁盘映像文件new.img。并在创建的时候指定,需要使用已存在的磁盘映像文件base.img作为基础。

3、使用qcow2格式创建基于一个已有磁盘映像的磁盘映像,并指定磁盘缓存模式

qemu-img create -f qcow2 -o backing_file=base.img,cache=writeback new.img 5G  #指定磁盘缓存模式为writeback。

 

xml配置文件

<domain type='kvm'> 
  <name>vm0</name>
  <uuid>ed5e0d13-bdc4-4226-8b62-6ce5807e696c</uuid> 
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>2</vcpu>           
  <os>
   <type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
   <boot dev='hd'/>
   <bootmenu enable='no'/> 
  </os>
  <features>
   <acpi/> 
   <apic/>
   <pae/> 
  </features>
  <clock offset='localtime'/> 
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>   
   <emulator>/usr/libexec/qemu-kvm</emulator>
   <disk type='file' device='disk'> 
      <driver name='qemu' type='raw'/>
      <source file='/run/vhost_disk/test.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> 
   </disk>
    <disk type='file' device='cdrom'>//光盘
      <driver name='qemu' type='raw'/>
      <source file='/root/kongchao/Centos-7-x86_64-2009.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
   </disk>
      <interface type='bridge'>
      <mac address='fa:92:01:33:d4:fa'/>
      <source bridge='br100'/>  //配置的网桥网卡名称
      <target dev='vnet0'/>     //同一网桥下相同
      <alias name='net0'/>      //别名,同一网桥下相同
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>  //注意slot值唯一
   </interface>  
     <serial type='pty'>
     <target port='0'/>
   </serial>
     <console type='pty'>
     <target type='serial' port='0'/>
   </console>
  <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0' keymap='en-us'> 
   <listen type='address' address='0.0.0.0'/>
  </graphics>
  </devices>
</domain>

 

qemu-kvm命令

qemu-kvm
-name name:设定虚拟机名称;
-M machine:指定要模拟的主机类型,如Standard PC、ISA-only PC或Intel-Mac等,可以使用“qemu-kvm -M ?”获取所支持的所有类型;
-m megs:设定虚拟机的RAM大小;
-cpu model:设定CPU模型,如coreduo、qemu64等,可以使用“qemu-kvm -cpu ?”获取所支持的所有模型;
-smp n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus]
#设定模拟的SMP架构中CPU的个数等、每个CPU的核心数及CPU的socket数目等;PC机上最多可以模拟255颗CPU;maxcpus用于指定热插入的CPU个数上限;
-numa opts:指定模拟多节点的numa设备;
-fda file-fdb file:使用指定文件(file)作为软盘镜像,file为/dev/fd0表示使用物理软驱;
-hda file-hdb file-hdc file-hdd file:使用指定file作为硬盘镜像;
-cdrom file:使用指定file作为CD-ROM镜像,需要注意的是-cdrom和-hdc不能同时使用;将file指定为/dev/cdrom可以直接使用物理光驱;
-drive option[,option[,option[,...]]]:定义一个硬盘设备;可用子选项有很多。file=/path/to/somefile:硬件映像文件路径;
if=interface:指定硬盘设备所连接的接口类型,即控制器类型,如ide、scsi、sd、mtd、floppy、pflash及virtio等;
index=index:设定同一种控制器类型中不同设备的索引号,即标识号;media=media:定义介质类型为硬盘(disk)还是光盘(cdrom);
snapshot=snapshot:指定当前硬盘设备是否支持快照功能:on或off;
cache=cache:定义如何使用物理机缓存来访问块数据,其可用值有none、writeback、unsafe和writethrough四个;
format=format:指定映像文件的格式,具体格式可参见qemu-img命令;
-boot [order=drives][,once=drives][,menu=on|off]:定义启动设备的引导次序,每种设备使用一个字符表示;不同的架构所支持的设备及其表示字符不尽相同;
-boot order=dc,once=d

 

查看qemu支持的虚拟机框架

# /usr/libexec/qemu-kvm -M help

查看ovs网桥

# ovs-vsctl show

创建ovs网桥:

ovs-vsctl add-br br-ovs0

与物理网卡进行关联

ovs-vsctl add-port br-ovs0 bond0

创建linux网桥

brctl addbr br100

与物理网卡绑定

brctl addif br100 bond2

查看网桥

brctl show

virsh 虚机命令

virsh define test.xml  //导入虚拟机配置
virsh list --all   //查看创建虚机
virsh start vm0  //开启vm0
virsh shutdown 0a31a2ba-985c-f581-329d-91f53e42cca9  //关闭虚机
virsh console vm0                                       连接虚机
list [--all]:                                          列出虚拟机
nodeinfo:                                             查看真机信息
nodeinfo:                                             得到电脑详细配置名字
nodecpustats:                                     真机cpu 的状态
nodemenstats:                                    真机内存的详细信息
node-memory-tune:                            允许你设置node的内存参数
capablilities:                                        打印虚拟机的特点
freecell:                                               打印出虚拟I机中可用的内存

virsh domain

start|shutdown|reboot <vm-name>:    虚拟机启动、停止、重启
destroy <vm-name>:                           强制停止虚拟机
define <vm-name>.xml:                      根据xml文件创建
undefine <vm-name>:                         根据虚拟机名称删除虚拟机
console <vm-name>:                           连接虚拟机的console
edit <vm-name> :                                修改虚拟机配置
autostart <vm-name>:                         设置虚拟机自启动
domiflist <vm-name>:                          查看虚拟机网卡信息
domblklist <vm-name>:                        查看虚拟机硬盘信息
dominfo <vm-name>:                           列出指定虚拟机的信息
suspend <vm-name>:                           挂起指定虚拟机
resume <vm-name>:                          恢复挂起的虚拟机
domjobabort <vm-name>:                        获取虚拟机的当前任务
dojobinfo <vm-name>:                             显示虚拟机的任务
domstat <vm-name> :                              显示虚拟机的状态
domcontrol<vm-name>:                           返回虚拟机的状态ok or error
dumpxml<vm-name>:                               直接显示demo的xml文件配置
edit <vm-name>:                                      编辑主机的配置文件
cpu-stats <vm-name>:                             虚拟机的cpu状态
screenshot <vm-name>:                                  虚拟机截屏
setmen <vm-name> size:                                设置虚拟机的内存
setmaxmen <vm-name>                                  设置虚拟机的最大内存
memtune     <vm-name>                                 得到虚拟机分区的信息
blkiotune      <vm-name>                                 得到虚拟机的磁盘信息
setvcpus(<vm-name> count)                      设置虚拟机的虚拟cpu个数
dompmwakeup(<vm-name>)                           唤醒挂起的vm-name
ttyconsole <vm-name>                                    输出设备用的终端
vcpucount <vm-name>                                    得到cpu个数
vcpuinfo<vm-name>                                        得到cpu的信息
vncdisplay<vm-name>                                     显示虚拟机vnc连接信息

虚拟网络管理

net-autostart     <networkname>           自动启动网卡(default)
net-define <file>                                    把配置加载到文件
net-destory <networkname>                 关闭网卡
net-dumpxml <networkname>               把网卡配置加载到文件
net-edit <networkname>                       编辑网卡信息
net-info  <networkname>                      网卡信息
net-list                                                   显示网卡
net-uuid <networkname>                      得到网卡的id
net-name  <id>                                     得到网卡的名字
net-start <networkname>                      开启网卡

快照管理

snapshot-create                                 使用 XML 生成快照
snapshot-create-as                            使用一组参数生成快照
snapshot-current                                获取或者设定当前快照
snapshot-delete                                  删除域快照
snapshot-dumpxml                             为域快照转储 XML
snapshot-edit                                      编辑快照 XML
snapshot-info                                     快照信息
snapshot-list                                      为域列出快照
snapshot-parent                                 获取快照的上级快照名称
snapshot-revert                                  从快照恢复

 

0条评论
作者已关闭评论
c****n
1文章数
0粉丝数
c****n
1 文章 | 0 粉丝
c****n
1文章数
0粉丝数
c****n
1 文章 | 0 粉丝
原创

virsh的使用与命令

2023-09-06 02:07:38
24
0

生成硬盘镜像文件

qemu-imgcreate命令语法

qemu-img create [-b base_image] [-f fmt] [-F backing_fmt] filename[size]

其中,参数的含义如下:

  • base_image:指定一个基础的磁盘映像作为原型来创建一个新的磁盘映像。对于基于COW技术的格式,如qcow2,这种方式可以使得创建的磁盘映像不占据实际的磁盘空间,而是使用基础磁盘映像的空间。

  • fmt:指定创建的映像文件的格式。默认为raw,其它格式可用qemu-imginfo查看。

  • backing_fmt:指定基础磁盘映像的格式,如果创建的映像文件使用了COW技术的格式时生效。

  • filename:指定新磁盘映像的文件名。

  • size:指定新磁盘映像的大小。

1、使用raw格式创建新的磁盘映像

qemu-img create -f raw test.img 2G  #指定创建一个名为test.img的磁盘映像文件,大小为2G,格式为raw。

2、使用qcow2格式创建基于一个已有磁盘映像的磁盘映像

qemu-img create -f qcow2 -o backing_file=base.img new.img 5G

#这里创建了一个大小为5G,格式为qcow2的磁盘映像文件new.img。并在创建的时候指定,需要使用已存在的磁盘映像文件base.img作为基础。

3、使用qcow2格式创建基于一个已有磁盘映像的磁盘映像,并指定磁盘缓存模式

qemu-img create -f qcow2 -o backing_file=base.img,cache=writeback new.img 5G  #指定磁盘缓存模式为writeback。

 

xml配置文件

<domain type='kvm'> 
  <name>vm0</name>
  <uuid>ed5e0d13-bdc4-4226-8b62-6ce5807e696c</uuid> 
  <memory>524288</memory>
  <currentMemory>524288</currentMemory>
  <vcpu>2</vcpu>           
  <os>
   <type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
   <boot dev='hd'/>
   <bootmenu enable='no'/> 
  </os>
  <features>
   <acpi/> 
   <apic/>
   <pae/> 
  </features>
  <clock offset='localtime'/> 
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>   
   <emulator>/usr/libexec/qemu-kvm</emulator>
   <disk type='file' device='disk'> 
      <driver name='qemu' type='raw'/>
      <source file='/run/vhost_disk/test.img'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> 
   </disk>
    <disk type='file' device='cdrom'>//光盘
      <driver name='qemu' type='raw'/>
      <source file='/root/kongchao/Centos-7-x86_64-2009.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
   </disk>
      <interface type='bridge'>
      <mac address='fa:92:01:33:d4:fa'/>
      <source bridge='br100'/>  //配置的网桥网卡名称
      <target dev='vnet0'/>     //同一网桥下相同
      <alias name='net0'/>      //别名,同一网桥下相同
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>  //注意slot值唯一
   </interface>  
     <serial type='pty'>
     <target port='0'/>
   </serial>
     <console type='pty'>
     <target type='serial' port='0'/>
   </console>
  <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0' keymap='en-us'> 
   <listen type='address' address='0.0.0.0'/>
  </graphics>
  </devices>
</domain>

 

qemu-kvm命令

qemu-kvm
-name name:设定虚拟机名称;
-M machine:指定要模拟的主机类型,如Standard PC、ISA-only PC或Intel-Mac等,可以使用“qemu-kvm -M ?”获取所支持的所有类型;
-m megs:设定虚拟机的RAM大小;
-cpu model:设定CPU模型,如coreduo、qemu64等,可以使用“qemu-kvm -cpu ?”获取所支持的所有模型;
-smp n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus]
#设定模拟的SMP架构中CPU的个数等、每个CPU的核心数及CPU的socket数目等;PC机上最多可以模拟255颗CPU;maxcpus用于指定热插入的CPU个数上限;
-numa opts:指定模拟多节点的numa设备;
-fda file-fdb file:使用指定文件(file)作为软盘镜像,file为/dev/fd0表示使用物理软驱;
-hda file-hdb file-hdc file-hdd file:使用指定file作为硬盘镜像;
-cdrom file:使用指定file作为CD-ROM镜像,需要注意的是-cdrom和-hdc不能同时使用;将file指定为/dev/cdrom可以直接使用物理光驱;
-drive option[,option[,option[,...]]]:定义一个硬盘设备;可用子选项有很多。file=/path/to/somefile:硬件映像文件路径;
if=interface:指定硬盘设备所连接的接口类型,即控制器类型,如ide、scsi、sd、mtd、floppy、pflash及virtio等;
index=index:设定同一种控制器类型中不同设备的索引号,即标识号;media=media:定义介质类型为硬盘(disk)还是光盘(cdrom);
snapshot=snapshot:指定当前硬盘设备是否支持快照功能:on或off;
cache=cache:定义如何使用物理机缓存来访问块数据,其可用值有none、writeback、unsafe和writethrough四个;
format=format:指定映像文件的格式,具体格式可参见qemu-img命令;
-boot [order=drives][,once=drives][,menu=on|off]:定义启动设备的引导次序,每种设备使用一个字符表示;不同的架构所支持的设备及其表示字符不尽相同;
-boot order=dc,once=d

 

查看qemu支持的虚拟机框架

# /usr/libexec/qemu-kvm -M help

查看ovs网桥

# ovs-vsctl show

创建ovs网桥:

ovs-vsctl add-br br-ovs0

与物理网卡进行关联

ovs-vsctl add-port br-ovs0 bond0

创建linux网桥

brctl addbr br100

与物理网卡绑定

brctl addif br100 bond2

查看网桥

brctl show

virsh 虚机命令

virsh define test.xml  //导入虚拟机配置
virsh list --all   //查看创建虚机
virsh start vm0  //开启vm0
virsh shutdown 0a31a2ba-985c-f581-329d-91f53e42cca9  //关闭虚机
virsh console vm0                                       连接虚机
list [--all]:                                          列出虚拟机
nodeinfo:                                             查看真机信息
nodeinfo:                                             得到电脑详细配置名字
nodecpustats:                                     真机cpu 的状态
nodemenstats:                                    真机内存的详细信息
node-memory-tune:                            允许你设置node的内存参数
capablilities:                                        打印虚拟机的特点
freecell:                                               打印出虚拟I机中可用的内存

virsh domain

start|shutdown|reboot <vm-name>:    虚拟机启动、停止、重启
destroy <vm-name>:                           强制停止虚拟机
define <vm-name>.xml:                      根据xml文件创建
undefine <vm-name>:                         根据虚拟机名称删除虚拟机
console <vm-name>:                           连接虚拟机的console
edit <vm-name> :                                修改虚拟机配置
autostart <vm-name>:                         设置虚拟机自启动
domiflist <vm-name>:                          查看虚拟机网卡信息
domblklist <vm-name>:                        查看虚拟机硬盘信息
dominfo <vm-name>:                           列出指定虚拟机的信息
suspend <vm-name>:                           挂起指定虚拟机
resume <vm-name>:                          恢复挂起的虚拟机
domjobabort <vm-name>:                        获取虚拟机的当前任务
dojobinfo <vm-name>:                             显示虚拟机的任务
domstat <vm-name> :                              显示虚拟机的状态
domcontrol<vm-name>:                           返回虚拟机的状态ok or error
dumpxml<vm-name>:                               直接显示demo的xml文件配置
edit <vm-name>:                                      编辑主机的配置文件
cpu-stats <vm-name>:                             虚拟机的cpu状态
screenshot <vm-name>:                                  虚拟机截屏
setmen <vm-name> size:                                设置虚拟机的内存
setmaxmen <vm-name>                                  设置虚拟机的最大内存
memtune     <vm-name>                                 得到虚拟机分区的信息
blkiotune      <vm-name>                                 得到虚拟机的磁盘信息
setvcpus(<vm-name> count)                      设置虚拟机的虚拟cpu个数
dompmwakeup(<vm-name>)                           唤醒挂起的vm-name
ttyconsole <vm-name>                                    输出设备用的终端
vcpucount <vm-name>                                    得到cpu个数
vcpuinfo<vm-name>                                        得到cpu的信息
vncdisplay<vm-name>                                     显示虚拟机vnc连接信息

虚拟网络管理

net-autostart     <networkname>           自动启动网卡(default)
net-define <file>                                    把配置加载到文件
net-destory <networkname>                 关闭网卡
net-dumpxml <networkname>               把网卡配置加载到文件
net-edit <networkname>                       编辑网卡信息
net-info  <networkname>                      网卡信息
net-list                                                   显示网卡
net-uuid <networkname>                      得到网卡的id
net-name  <id>                                     得到网卡的名字
net-start <networkname>                      开启网卡

快照管理

snapshot-create                                 使用 XML 生成快照
snapshot-create-as                            使用一组参数生成快照
snapshot-current                                获取或者设定当前快照
snapshot-delete                                  删除域快照
snapshot-dumpxml                             为域快照转储 XML
snapshot-edit                                      编辑快照 XML
snapshot-info                                     快照信息
snapshot-list                                      为域列出快照
snapshot-parent                                 获取快照的上级快照名称
snapshot-revert                                  从快照恢复

 

文章来自个人专栏
虚拟机管理
1 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
1