KVM虚拟化技术(五)虚拟机管理
一、为了提高内存、硬盘、网络的性能,需要支持半虚拟化;virtio半虚拟化驱动
二、对虚拟机的管理都是通过libvirt;所有必须要启用一个守护程序libvirtd。
三、virt-manager
①定义和创建虚拟机
②硬件管理
③性能监视
④虚拟机的保存和恢复、暂停和继续、关闭和启动
⑤控制台
⑥在线和离线迁移
四、virsh
virsh是使用libvirt managerment API构建的管理工具
virsh的名称含义是virtualization shell。有两种工作模式
立即模式:
virsh list --all
交互模式:
virsh [回车]
virsh常用命令
命令 | 描述 |
attach-device | 使用XML文件中的设备定义在虚拟机中添加设备 |
attach-disk | 在虚拟机中附加新磁盘设备 |
attach-interface | 在虚拟机中附加新网络接口 |
create | 从XML配置文件生成虚拟机并启动新虚拟机 |
define | 为虚拟机输出XML配置文件 |
destroy | 强制虚拟机停止 |
detach-device | 从虚拟机中分离设备 |
detach-disk | 从虚拟机中分离磁盘设备 |
detach-interface | 从虚拟机中分离网络接口 |
domblkstat | 显示正在运行的虚拟机的块设备统计 |
domid | 显示虚拟机id |
domifstat | 显示正在运行的虚拟机的网络接口统计 |
dominfo | 显示虚拟机信息 |
domname | 显示虚拟机名称 |
domstate | 显示虚拟机状态 |
domuuid | 显示虚拟机的uuid |
dumpxml | 输出虚拟机XML配置文件 |
help | 帮助信息 |
list | 列出所有虚拟机 |
migrate | 将虚拟机迁移到另一台主机中 |
nodeinfo | 有关管理程序的输出信息 |
quit | 退出这个互动终端 |
reboot | 重启这个虚拟机 |
restore | 恢复以前保存在文件中的虚拟机 |
resume | 恢复暂停的虚拟机 |
save | 将虚拟机当前状态保存在某个文件中 |
setmaxmem | 为管理程序设定内存限 |
setmem | 为虚拟机设定分配的内存 |
setvcpus | 修改为虚拟机分配的虚拟CPU数目 |
shutdowm | 关闭某个虚拟机 |
start | 启动未激活的虚拟机 |
suspend | 暂停虚拟机 |
undefine | 删除与虚拟机关联的所有文件 |
vcpuinfo | 显示虚拟机的虚拟CPU信息 |
vcpupin | 控制虚拟机的虚拟CPU亲和性 |
version | 显示cirsh版本 |
1.查看KVM虚拟机默认配置文件位置及运行状态
(1)KVM虚拟机默认配置文件位置:/etc/libvirt/qemu
autostart目录是配置kvm虚拟机开机自启动目录
(2)virsh命令帮助
# virsh --help
或者直接virsh命令,再执行子命令
(3)查看kvm虚拟机状态
# virsh list --all
2.KVM虚拟机开机
#virsh start kvmname
3.KVM虚拟机关机或断电
(1)关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务
# chkconfig acpid on
# service acpid restart
virsh关机
#virsh shutdown kvmname
(2)强制关闭电源
#virsh destroy kvmname
4.通过配置文件启动虚拟机
# virsh create /etc/libvirt/qemu/XXX.xml
5.配置开机自启动虚拟机
# virsh autostart kvmname
autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有kvm配置文件链接
6.导出KVM虚拟机配置文件
#virsh dumpxml kvmname > /etc/libvirt/qemu/kvmname.xml
KVM虚拟机配置文件可以通过这种方式进行备份
7.添加与删除KVM虚拟机
(1)删除kvm虚拟机
# virsh undefine kvmname
该命令只是删除kvmname的配置文件,并不删除虚拟机磁盘文件
(2)重新定义虚拟机配置文件
通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机
# mv /etc/libvirt/qemu/kvmname.bak /etc/libvirt/qemu/kvmname.xml
# virsh define /etc/libvirt/qemu/kvmname.xml
8.编辑KVM虚拟机配置文件
# virsh edit kvmname
virsh edit 将调用vi命令编辑配置文件。也可以直接通过vi编辑配置文件,不建议这样做
9.virsh console控制台管理linux虚拟机
# virsh console kvmname
10.其他virsh命令
(1)挂起服务器
# virsh suspend kvmname
(2)恢复服务器
# virsh resume kvmname
virsh命令丰富,仅提供以上思路。
KVM虚拟化技术(五)虚拟机管理的更多相关文章
- CentOS7.1 KVM虚拟化之经常使用管理虚拟机命令(3)
一.查看虚拟机列表及状态 [root@kvm01 ~]# virsh list --all Id Name State ---------------------------------------- ...
- KVM虚拟化技术
KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machi ...
- [转] KVM虚拟化技术生态环境介绍
KVM虚拟化技术生态环境介绍 http://xanpeng.github.io/wiki/virt/kvm-virtulization-echosystem-intro.html kvm和qemu/q ...
- KVM虚拟化技术(七)虚拟机配置文件
KVM虚拟机的配置文件在/etc/libvirt/qemu/下,为xml文件 整体结构如下: <domain type='kvm'> 虚拟机整体信息 系统信息 硬件资源特性 突发事件处理 ...
- KVM虚拟化技术(二)KVM介绍
KVM:Kernel Virtual Machine KVM是基于虚拟化扩展的x86硬件,是Linux完全原生的全虚拟化解决方案.部分半虚拟化支持,主要是通过半虚拟网络驱动程序的形式用于Linux和W ...
- 《KVM虚拟化技术实战和原理解析》读书笔记(十几篇)
第一章和第二章 第一章 虚拟化和云计算 Saas(软件即服务):将已经部署好的软件作为一种服务来提供,比如:Google Docs, Google Apps Paas(平台即服务):将开发环境作为一种 ...
- KVM虚拟化技术(一)虚拟化简介
一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个 ...
- KVM虚拟化技术实战全过程
今天准备开始.................... centos安装-kvm 教程: http://www.linuxidc.com/Linux/2017-01/140007.htm http:// ...
- VMware 虚拟化技术 创建虚拟机
原文地址:https://www.linuxidc.com/Linux/2017-03/141972.htm 云最成熟的架构是IaaS(Infrastructure as a Service),其中用 ...
- kvm虚拟化安装及虚拟机创建
1.开启虚拟化(VMware虚拟机为例),安装centos7操作系统. 2.查看CPU是否开启虚拟化 #zgrep "vmx" /proc/cpuinfo 3.配置yum源,通过 ...
随机推荐
- 如何优雅地等待所有的goroutine退出
转自:https://www.cnblogs.com/cobbliu/p/4461866.html goroutine和channel是Go语言非常棒的特色,它们提供了一种非常轻便易用的并发能力.但是 ...
- Linux安装MySQL8.0.12之二进制安装
运行环境:centos 7.5 + mysql8.0.12 1.下载官方打包好的二进制安装包: wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysq ...
- CRM 2016 执行IFrame 子页面中函数
CRM代码: var iframe = Xrm.Page.getControl("IFRAME_xxx").getObject(); iframe.contentWindow.Re ...
- Spring中@Component的作用
今天在写程序的时候看见一个以前没有见过的注解(@Component),在网上查找过后,经过实践,决定把它记录下来. 1.@controller 控制器(注入服务) 用于标注控制层,相当于struts中 ...
- [work]Spring_Jdbc
封装Spring-RowMapper,使得使用更加灵活 import java.sql.ResultSet; import java.sql.SQLException; import java.uti ...
- 【Selenium-WebDriver自学】Selenium-IDE用户扩展(七)
==================================================================================================== ...
- TessorFlow学习 之 序言
2017.10.23日记录: 感觉平时自己学的还不错的,可是面试的时候才发现自己是个渣渣~~,真的感觉学习不能闭门造车! 面试了图像处理算法工程师-->> 1.精通哪门语言?C.C++.P ...
- 20165205 2017-2018-2 《Java程序设计》第六周学习总结
20165205 2017-2018-2 <Java程序设计>第六周学习总结 教材学习内容总结 String类 String对象(常量,对象) 字符串并置(结果仍是常量) 常用方法 len ...
- linux配置防火墙,开启端口
Centos7,配置防火墙,开启端口 1.查看已开放的端口(默认不开放任何端口) firewall-cmd --list-ports 2.开启80端口 firewall-cmd --zone=publ ...
- jquery的ajax,请求JSON数据。
第一个页面:1.htm <!DOCTYPE html> <html> <head> <title></title> <script t ...