KVM virsh管理指令

virsh 查看帮助信息

查看命令帮助

[root@KVM ~]# virsh
Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands
'quit' to quit virsh # help

查看某个具体指令帮助

[root@KVM ~]# virsh start --help
NAME
start - start a (previously defined) inactive domain SYNOPSIS
start <domain> [--console] [--paused] [--autodestroy] [--bypass-cache] [--force-boot]

在virsh指令集中使用子指令

如:查看c1的状态信息:

[root@KVM ~]# virsh
Welcome to virsh, the virtualization interactive terminal. Type: 'help' for help with commands
'quit' to quit virsh # dominfo c1
Id: 6
Name: c1
UUID: 58f945ba-2853-c53b-5820-d52fa320f034
OS Type: hvm
State: running
CPU(s): 1
CPU time: 171.2s
Max memory: 1048576 KiB
Used memory: 1048576 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: unconfined_u:system_r:svirt_t:s0:c200,c417 (permissive)

也可以直接在命令行执行:

[root@KVM ~]# virsh dominfo c1

管理操作

启动一个虚拟机

[root@KVM ~]# virsh start c1
Domain c1 started

查看虚拟机列表

[root@KVM ~]# virsh list
Id Name State
----------------------------------------------------
6 c1 running #查看所以主机列表
[root@KVM ~]# virsh list --all

停止或重启虚拟机

#关闭虚拟机c1
[root@KVM ~]# virsh shutdown c1 #强行关机
[root@KVM ~]# virsh destroy c1
Domain c1 destroyed #重启c1
[root@KVM ~]# virsh reboot c1

暂停或运行虚拟机

[root@KVM qemu]# virsh suspend c1   #此时状态暂停于内存中
Domain c1 suspended
#查看
[root@KVM qemu]# virsh list
Id Name State
----------------------------------------------------
9 c1 paused #继续执行
[root@KVM qemu]# virsh resume c1
Domain c1 resumed [root@KVM qemu]# virsh list
Id Name State
----------------------------------------------------
9 c1 running

保存虚拟机到本地磁盘(快照)

保存到本地后在列表中的实例会被移除

#保存快照到本地
[root@KVM qemu]# virsh save c1 /tmp/c1.snap #恢复到列表
[root@KVM qemu]# virsh restore /tmp/c1.snap
Domain restored from /tmp/c1.snap #此刻快照还存在,可以留作备份

添加虚拟机到列表

virsh define c2.xml

删除虚拟机

[root@KVM ~]# virsh undefine c1

修改虚拟机内存大小

修改虚拟机内存的大小和cpu个数

关闭虚拟机:

[root@KVM ~]# virsh shutdown vm1

修改vm1虚拟机的xml文件

[root@KVM ~]# vim /etc/libvirt/qemu/vm1.xml 

 <memory unit='KiB'>2536000</memory>  #最大使用内存,原来是1536000
<currentMemory unit='KiB'>2536000</currentMemory> #设置已使用内存
<vcpu placement='static'>2</vcpu> #调整为两个

修改后直接启动是不生效的。需要从xml文件识别启动

[root@KVM ~]# virsh define /etc/libvirt/qemu/vm1.xml   #重新识别xml文件
Domain vm1 defined from /etc/libvirt/qemu/vm1.xml [root@KVM ~]# virsh start vm1
Domain vm1 started [root@KVM ~]# virsh list
Id Name State
----------------------------------------------------
9 vm1 running [root@KVM ~]# virsh dominfo vm1
Id: 9
Name: vm1
UUID: 483f35c8-e00a-4598-b738-e9aa20e0d8e6
OS Type: hvm
State: running
CPU(s): 2 #调整了cpu
CPU time: 33.4s
Max memory: 2536448 KiB #调整了最大可用内存
Used memory: 2536000 KiB #已使用内存
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c282,c706 (enforcing)

在最大可用内存范围内,可以在线动态调整虚拟机内存大小,但是调整cpu核心需要关闭虚拟机,上调最大内存也需要关闭虚拟机,修改xml文件

将vm1内存调整为1G

[root@KVM ~]# virsh setmem vm1 1G  #调整内存

[root@KVM ~]# virsh dominfo vm1
Id: 9
Name: vm1
UUID: 483f35c8-e00a-4598-b738-e9aa20e0d8e6
OS Type: hvm
State: running
CPU(s): 2
CPU time: 132.3s
Max memory: 2536448 KiB
Used memory: 1048576 KiB #已使用内存
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
Security label: system_u:system_r:svirt_t:s0:c282,c706 (enforcing)

克隆虚拟机

kvm中增加虚拟机的方式可以通过复制镜像文件和xml文件添加,也可以使用virt-clone指令添加克隆虚拟机

以克隆vm1虚拟机重命名为vm5

[root@KVM ~]# virt-clone -o vm1 -n vm5 -f /kvm/vm5/vm5.qcow2

克隆后会自动生成xml配置文件,克隆新生成的文件中uuid和MAC信息会自动发送变化。可以直接启动虚拟机即可。如果有使用vnc则需要修改一下vnc端口信息,否则会启动出错

启动虚拟机

[root@KVM qemu]# virsh list
Id Name State
----------------------------------------------------
13 vm3 running
15 vm4 running
16 vm5 running #vm5启动起来

kvm管理查看信息,添加,删除,暂停恢复,克隆等的更多相关文章

  1. CentOS 6.9下KVM虚拟机快照创建、删除、恢复(转)

    使用文件快照的方式实现文件备份,但单说快照(snapshot)的话,他是某一时间点(版本)你能看到的该时间点备份文件状态的全貌,通过文件的快照(全貌)你能恢复到特定时间点(版本)的文件状态. 创建虚拟 ...

  2. [oldboy-django][2深入django]老师管理--查看,添加,编辑

    # 添加老师(下拉框多选) 数据库设计: class Teacher(models.Model): name = models.CharField(max_length=64) cls = model ...

  3. 节点操作-创建并添加&删除节点&替换&克隆节点

    <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...

  4. OCR/Vote disk 维护操作: (添加/删除/替换/移动) (文档 ID 1674859.1)

    适用于: Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 11.2.0.1.0 [发行版 10.2 到 11.2]本文档所含信息适用于所有平台 ...

  5. 如何恢复,迁移,添加, 删除 Voting Disks

    如何恢复,迁移,添加, 删除 Voting Disks恢复流程 在11gR2 之前,我们可以直接直接使用dd命令对voting disk进行备份.DD示例 备份votedisk盘:[root@raw1 ...

  6. 35-Ubuntu-组管理-01-添加组/删除组/确认组信息

    组管理 提示: 创建组/删除组的终端命令都需要sudo执行,标准用户没有权限! 序号 命令 作用 01 sudo groupadd 组名 添加组 02 sudo groupdel 组名 删除组 03 ...

  7. JS添加删除一组文本框并对输入信息加以验证

    在做项目中遇到这样一个问题,就是我们需要添加几组数据到数据库,但是具体几组数据不确定,有客户来填写,比如我们需要添加打折策略,可能个策略有很多组方案,比如“满100打5折,满200打4折,满500打3 ...

  8. ThinkPHP 3 的CURD管理用户信息 修改和删除

    本节课大纲: 一.ThinkPHP 3 的CURD管理用户信息 http://localhost:8080/thinkphp/index.php/User/index 访问User类的index方法 ...

  9. Kvm --05 密码保护:Kvm管理之WebVirtMgr

    目录 密码保护:Kvm管理之WebVirtMgr 1. 前言 2. 特点 3. 功能 4. 部署 1).安装相关依赖 2).安装Python需求环境 3).配置Nginx 4). 远程连接 5).更新 ...

随机推荐

  1. 云原生 PostgreSQL - CrunchyData PGO 教程:创建、连接、删除 Postgres 集群

    入门 作为安装的一部分,请确保您已完成以下操作: 分叉 Postgres Operator 示例存储库并将其克隆到您的主机. https://github.com/CrunchyData/postgr ...

  2. 防世界之NaNNaNNaNNaN-Batman

    题目: 只有一个附件,下载解压放到桌面. web应该是个html文件,改下后缀打开看看 发现就一个框和按钮,测试发现也没注入点,应该不是考sql.打开源码查看一下,发现是个js脚本,但是,代码是乱码, ...

  3. NSSCTF-[UTCTF 2020]Zero

    做misc嘛,先把题目一开始就给的一串英文翻译一下, 可以看到说明的是这个txt文档可能是包含其他的文本量,这个文本里面还有其他的东西,只是正常是看不到, 使用binwalk或者fomost分离尝试, ...

  4. 【整理】Linux:set -eux

    参数 参考原文:https://blog.csdn.net/textdemo123/article/details/100694371 我们经常见到很多设立了脚本 打头会写如下 set -e 或者:s ...

  5. 2022李宏毅作业hw1—新冠阳性人员数量预测。

    ​ 事前  : kaggle地址:ML2021Spring-hw1 | Kaggle 我的git地址: https://github.com/xiaolilaoli/lihongyi2022homew ...

  6. RENIX操作之XML报文模板说明——网络测试仪实操

    我们在网络测试仪的日常使用过程中,经常涉及到编辑和修改报文.利用RENIX软件,可以把当前编辑好的报文模板导出为XML文件,下次使用时可以直接导入使用,从而提升测试工作效率.本文以"添加UD ...

  7. Maven-compiler-plugin 插件编译过程中报缺失get/set方法

    一般都是由于使用了lombok插件导致的 解决方法: 首先将compiler插件版本升级到3.3以上, 查询资料发现说有可能是版本太低导致 在configuration中添加上annotationPr ...

  8. C语言中puts()和printf()区别

    puts的功能更加单一,只能输出字符串:printf的功能更加广,可以格式化数据,输出多种类型的数据. puts()函数用来向标准输出设备(屏幕)写字符串并换行. 调用方式为puts(string): ...

  9. Ecma335、CLR、CLI、CTS、 IL、.net 以及他们之间的关系

    以上是个人对他们直接关系的理解:图片是原创 CLI 通用语言基础架构(Common Language Infrastructure), CLI是一个开放型的技术规范,它定义了一个语言无关的跨体系结构的 ...

  10. 二叉树的N中遍历方式和拓展应用

    (一)创建二叉树,如下图所示,一个标准的二叉树是所有位于根节点的左侧的子节点都是比根节点小的,右侧则都是大于根节点的. public class BinaryNode { public int val ...