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. 通过shell脚本进行linux服务器的CPU和内存压测

    文章目录 内存压测 python的方式 shell的方式 cpu压测 在正常手段下,这个只是压测的方法 在不正常手段下(crontab计划任务),可以提高CPU和内存的使用率 什么?你问我为什么要提高 ...

  2. 有个姑娘叫history

    文章目录 常用参数 history的一些用法 修改history命令默认保存的数量 来给history穿衣服 让我们重新认识一下history history命令用于显示用户以前执行过的历史命令,并且 ...

  3. Python+selenium自动循环发邮件

    Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  4. Spring源码之BeanFactoryPostProcessor(后置处理器)

    Spring源码之BeanFactoryPostProcessor(后置处理器). 有点水平的Spring开发人员想必都知道BeanFactoryPostProcessor也就是常说的后置管理器,这是 ...

  5. [Java]Java中的自动包装

    来源:https://www.cnblogs.com/cheapcrook/archive/2012/04/25/2470478.html 自动拆装箱(AutoBoxing) 是JDK1.5中新增加的 ...

  6. 案例四:Shell脚本生成随机密码

    生成随机密码(urandom版本) #!/bin/bash #Author:丁丁历险(Jacob) #/dev/urandom文件是Linux内置的随机设备文件 #cat /dev/urandom可以 ...

  7. 命名空间 namespace

    ​ 命名空间是一块程序员可以自己命名的内存区域,用于解决同名冲突的问题. ​ 举例来说,某班及内有三个张三,分别坐在班级的第一排.第三排和最后一排.当老师喊张三时,三个张三都站起来应答,这就是同名冲突 ...

  8. 【C#程序集】为何.NET Core控制台项目发布后是一个dll文件,而不是exe文件?

    因为 .NET Core 的控制台应用默认是生成 dll 文件,而没有对应的 exe 文件.如下图所示,是在VS中编译后生成的结果 图中看到的TestVisualizer.exe 只是一个快捷方式, ...

  9. Map<String,String>转Json转Base64

    Map<String,String> configMap = new HashMap<String,String>();System.out.println("JSO ...

  10. ScrollView垂直滚动和HrizontalScrollView水平滚动

    当我们在写一个页面,内容过多时我们需要滚动页面来查看,但是注意ScrollView下只能有一个元素,所以要把主页面改下,这样就只有一个LinearLayout元素: 1 <ScrollView ...