长期支持版本

    社区创新版本

      管理虚拟机生命周期

      概述

      本节介绍如何使用StratoVirt对虚拟机进行启动、暂停、恢复、退出等生命周期的管理。

      创建并启动虚拟机

      根据虚拟机配置可知,可以通过命令行参数或json文件指定虚拟机配置,并在主机通过stratovirt命令创建并启动虚拟机。

      • 使用命令行参数给出虚拟机配置,创建并启动虚拟机的命令如下:
      $ /path/to/stratovirt -[参数1] [参数选项] -[参数2] [参数选项] ...
      
      • 使用json文件给出虚拟机配置,创建并启动虚拟机的命令如下:
      $ /path/to/stratovirt \
          -config /path/to/json \
          -api-channel unix:/path/to/socket
      

      其中,/path/to/json为json配置文件的路径。/path/to/socket为用户指定的socket文件(如/tmp/stratovirt.socket),使用上述命令会自动创建socket文件。为确保虚拟机能够正常启动,在创建socket文件前确保该文件不存在。

      虚拟机启动后,内部会有eth0和eth1两张网卡。这两张网卡预留用于网卡热插拔。热插的第一张网卡是eth0,热插的第二张网卡是eth1,目前只支持热插2张virtio-net网卡。

      连接虚拟机

      StratoVirt当前采用QMP管理虚拟机,暂停、恢复、退出虚拟机等操作需要通过QMP连接到虚拟机进行管理。

      在主机上打开新的命令行窗口B,并使用root权限进行api-channel连接,参考命令如下:

      # ncat -U /path/to/socket
      

      连接建立后,会收到来自StratoVirt的问候消息,如下所示:

      {"QMP":{"version":{"qemu":{"micro":1,"minor":0,"major":4},"package":""},"capabilities":[]}}
      

      现在,可以在窗口B中输入QMP命令来管理虚拟机。

      QMP提供了stop、cont、quit和query-status等来管理和查询虚拟机状态。

      管理虚拟机的QMP命令均在窗口B中进行输入。符号:<-表示命令输入,->表示QMP结果返回。

      暂停虚拟机

      QMP提供了stop命令用于暂停虚拟机,即暂停虚拟机所有的vCPU。命令格式如下:

      {"execute":"stop"}

      示例:

      使用stop暂停该虚拟机的命令和回显如下:

      <- {"execute":"stop"}
      -> {"event":"STOP","data":{},"timestamp":{"seconds":1583908726,"microseconds":162739}}
      -> {"return":{}}
      

      恢复虚拟机

      QMP提供了cont命令用于恢复处于暂停状态suspend的虚拟机,即恢复虚拟机所有vCPU的运行。命令格式如下:

      {"execute":"cont"}

      示例:

      使用cont恢复该虚拟机的命令和回显如下:

      <- {"execute":"cont"}
      -> {"event":"RESUME","data":{},"timestamp":{"seconds":1583908853,"microseconds":411394}}
      -> {"return":{}}
      

      退出虚拟机

      QMP提供了quit命令用于退出虚拟机,即退出StratoVirt进程。命令格式如下:

      {"execute":"quit"}

      示例:

      <- {"execute":"quit"}
      -> {"return":{}}
      -> {"event":"SHUTDOWN","data":{"guest":false,"reason":"host-qmp-quit"},"timestamp":{"ds":1590563776,"microseconds":519808}}
      

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份