解libvirt中Domain类的方法2

简介: 解libvirt中Domain类的方法

解libvirt中Domain类的方法1:https://developer.aliyun.com/article/1552404

hasCurrentSnapshot()

判断虚拟机是否有当前快照。

int hasCurrentSnapshot()

hashCode()

获取虚拟机对象的哈希码。

int hashCode()

hasManagedSaveImage()

判断虚拟机是否有托管的保存镜像。

int hasManagedSaveImage()

interfaceAddresses(int source, int flags)

获取给定虚拟机中网络接口的IP和MAC地址。

Collection<DomainInterface> interfaceAddresses(int source, int flags)

interfaceStats(String path)

获取虚拟机接口的统计信息。

DomainInterfaceStats interfaceStats(String path)

isActive()

判断虚拟机是否当前正在运行。

int isActive()


isPersistent()

判断虚拟机是否有持久配置,即在关机后仍然存在。

int isPersistent()

isUpdated()

判断虚拟机是否已经更新。

boolean isUpdated()

managedSave()

暂停虚拟机并将其内存内容保存到磁盘文件中。

int managedSave()

managedSaveRemove()

从虚拟机中删除任何托管的保存镜像。

int managedSaveRemove()

memoryPeek(long start, ByteBuffer buffer, MemoryAddressMode mode)

读取虚拟机内存的内容。

void memoryPeek(long start, ByteBuffer buffer, MemoryAddressMode mode)

memoryStats(int number)

提供虚拟机的内存统计信息。

MemoryStatistic[] memoryStats(int number)

migrate(Connect dconn, long flags, String dname, String uri, long bandwidth)

将虚拟机从当前主机迁移到目标主机。

Domain migrate(Connect dconn, long flags, String dname, String uri, long bandwidth)

`migrate(Connect d

conn, long flags, String dxml, String dname, String uri, long bandwidth)`

将虚拟机从当前主机迁移到目标主机,同时可以提供XML描述。

Domain migrate(Connect dconn, long flags, String dxml, String dname, String uri, long bandwidth)

migrate(Connect dconn, TypedParameter[] params, long flags)

将虚拟机从当前主机迁移到目标主机,可以提供其他参数。

Domain migrate(Connect dconn, TypedParameter[] params, long flags)

migrateSetMaxDowntime(long downtime)

设置虚拟机在迁移结束时允许暂停的最长时间。

int migrateSetMaxDowntime(long downtime)

migrateToURI(String uri, long flags, String dname, long bandwidth)

将虚拟机从当前主机迁移到目标主机,提供目标URI。

int migrateToURI(String uri, long flags, String dname, long bandwidth)

migrateToURI(String dconnuri, String miguri, String dxml, long flags, String dname, long bandwidth)

将虚拟机从当前主机迁移到目标主机,提供目标URI和其他参数。

int migrateToURI(String dconnuri, String miguri, String dxml, long flags, String dname, long bandwidth)

pinVcpu(int vcpu, int[] cpumap)

动态更改可以分配给虚拟CPU的实际CPU。

void pinVcpu(int vcpu, int[] cpumap)

PMsuspend(SuspendTarget target)

将虚拟机挂起到给定的电源管理挂起目标级别。

void PMsuspend(SuspendTarget target)

PMsuspendFor(SuspendTarget target, long duration, TimeUnit unit)

将虚拟机挂起到给定的电源管理挂起目标级别,并在指定的持续时间内挂起。

void PMsuspendFor(SuspendTarget target, long duration, TimeUnit unit)

PMwakeup()

立即唤醒使用电源管理的虚拟机。

void PMwakeup()

qemuAgentCommand(String cmd, int timeout, int flags)

使用Qemu Guest Agent辅助守护程序发送命令。

String qemuAgentCommand(String cmd, int timeout, int flags)

qemuMonitorCommand(String cmd, int flags)

使用Qemu Monitor命令,仅适用于与QEMU驱动程序的虚拟化连接。

String qemuMonitorCommand(String cmd, int flags)

reboot(int flags)

重新启动虚拟机。虚拟机对象仍然可用,但虚拟机操作系统正在进行重启。

void reboot(int flags)

removeBlockJobListener(BlockJobListener cb)

从事件框架中移除BlockJobListener,使其不再接收事件。

void removeBlockJobListener(BlockJobListener cb)

reset()

立即重置虚拟机,无需进行任何操作系统关闭。

void reset()

resume()

恢复被暂停的虚拟机,进程从被virSuspendDomain()冻结的状态重新启动。

void resume()

revertToSnapshot(DomainSnapshot snapshot)

将虚拟机还原到给定快照。

int revertToSnapshot(DomainSnapshot snapshot)

save(String to)

暂停虚拟机并将其内存内容保存到磁盘文件中。

void save(String to)

screenshot(Stream stream, int screen)

从虚拟机中获取屏幕截图。

String screenshot(Stream stream, int screen)

sendKey(KeycodeSet codeset, int holdtime, int... keys)

向虚拟机发送键盘按键。

void sendKey(KeycodeSet codeset, int holdtime, int... keys)

setAutostart(boolean autostart)

配置虚拟机在主机启动时自动启动。

void setAutostart(boolean autostart)

setMaxMemory(long memory)

动态更改分配给虚拟机的最大物理内存。

void setMaxMemory(long memory)

setMemory(long memory)

动态更改分配给虚拟机的目标物理内存。

void setMemory(long memory)

setMetadata(int type, String metadata, String key, String uri, int flags)

设置给定类型的虚拟机元素的值。

void setMetadata(int type, String metadata, String key, String uri, int flags)

setSchedulerParameters(SchedParameter[] params)

更改调度器参数。

void setSchedulerParameters(SchedParameter[] params)


setUserPassword(String user, String password, int flags)

设置用户密码。

void setUserPassword(String user, String password, int flags)

setVcpus(int nvcpus)

动态更改虚拟机使用的虚拟CPU的数量。

void setVcpus(int nvcpus)

setVcpusFlags(int nvcpus, int flags)

动态更改虚拟机使用的虚拟CPU的数量,可以提供一些标志。

void setVcpusFlags(int nvcpus, int flags)

shutdown()

关闭虚拟机,虚拟机对象仍然可用,但虚拟机操作系统正在停止。

void shutdown()

snapshotCreateXML(String xmlDesc)`

基于提供的XML描述创建虚拟机的新快照。

DomainSnapshot snapshotCreateXML(String xmlDesc)

snapshotCreateXML(String xmlDesc, int flags)

基于提供的XML描述创建虚拟机的新快照,并可以提供一些标志。

DomainSnapshot snapshotCreateXML(String xmlDesc, int flags)

snapshotCurrent()

获取虚拟机的当前快照。

DomainSnapshot snapshotCurrent()

snapshotListNames()

获取给定虚拟机的快照列表的名称。

String[] snapshotListNames()

snapshotListNames(int flags)

获取给定虚拟机的快照列表的名称,可以提供一些标志。

String[] snapshotListNames(int flags)

snapshotLookupByName(String name)

根据名称检索快照。

DomainSnapshot snapshotLookupByName(String name)

snapshotNum()

获取虚拟机的快照数量。

int snapshotNum()

suspend()

暂停当前运行的虚拟机,使其无法访问CPU资源和I/O,但在hypervisor级别保留虚拟机使用的内存。

void suspend()

undefine()

取消定义此虚拟机,但如果虚拟机正在运行,则不停止它。

void undefine()

undefine(int flags)

取消定义此虚拟机,但如果虚拟机正在运行,则不停止它,可以提供一些标志。

void undefine(int flags)

updateDeviceFlags(String xml, int flags)

更改虚拟机上的虚拟设备。

int updateDeviceFlags(String xml, int flags)

以上是libvirt中Domain类的一些主要方法的简要介绍。这些方法提供了广泛的功能,涵盖了虚拟机的生命周期管理、磁盘操作、网络接口操作等方面。开发人员可以根据具体需求选择适当的方法来管理虚拟机。希望这篇博客对你理解libvirt中的Domain类有所帮助。

相关文章
|
编解码 监控 数据可视化
一文带你快速设计精美可视化大屏
可视化大屏👉数据可视化大屏是将一些业务的关键指标通过数据可视化的方式展示到一块或多块LED大屏上,以大屏为主要展示载体的数据可视化设计。数据可视化大屏可以用于信息展示、数据分析、监控预警等多种场景,帮助用户快速了解数据的价值和意义。可视化大屏的优点1️⃣操作灵活:数据可视化大屏可以支持智能化布局和组件的自由排版,可以根据不同的需求和场景进行个性化的设计和展示。2️⃣信息展示更加全面。
一文带你快速设计精美可视化大屏
|
存储 算法 关系型数据库
Ceph介绍及原理架构分享
Ceph介绍及原理架构分享
993 0
|
计算机视觉
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
1979 0
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
|
消息中间件 Kubernetes 关系型数据库
教程get | K8S部署OpenStack容器云(下)
如何借助OpenStack Kolla-K8S项目,通过K8S对OpenStack进行容器化部署?并最终部署一套All-In-One类型的OpenStack容器云?让我们继续部署: 部署kolla-kubernetes ■  覆盖默认的RBAC设置 通过kubectl replace命令进行默.
5293 0
|
10月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2415 16
|
7月前
|
Python
Python 3.8+ 隐藏利器:海象运算符的实用指南
Python 3.8+ 隐藏利器:海象运算符的实用指南
405 113
|
存储 人工智能 Serverless
10 分钟打造你的专属 AI 客服
10 分钟打造你的专属 AI 客服
690 9
|
监控 Serverless Docker
函数计算操作报错合集之遇到报错:Python Jedi client: couldn't create connection to server.是什么原因
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
1215 0
|
数据采集 Prometheus 监控
监控堆外第三方监控工具Grafana
监控堆外第三方监控工具Grafana
782 5
|
存储 数据采集 监控
Telegraf 使用小结
Telegraf 使用小结
635 1