kvm虚拟机日常操作命令梳理
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。废话不多说,下面列出kvm日常管理中的命令
1)查看KVM虚拟机配置文件及运行状态
KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/
autostart目录是配置kvm虚拟机开机自启动目录。 virsh命令帮助
# virsh -help
或直接virsh命令和,再执行子命令。如下所示。
# virsh
欢迎使用 virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # help
....... 查看kvm虚拟机状态
#virsh list --all 2)KVM虚拟机开机
# virsh start oeltest01 3)KVM虚拟机关机或断电
关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
# chkconfig acpid on
# service acpid restart
virsh关机
# virsh shutdown oeltest01 强制关闭电源
# virsh destroy wintest01 4)通过配置文件启动虚拟机
# virsh create /etc/libvirt/qemu/wintest01.xml 5)配置开机自启动虚拟机
# virsh autostart oeltest01 autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。 6)导出KVM虚拟机配置文件
# virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml KVM虚拟机配置文件可以通过这种方式进行备份。 7)添加与删除KVM虚拟机
删除kvm虚拟机
# virsh undefine wintest01
说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。 重新定义虚拟机配置文件
通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。
# mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml
# virsh define /etc/libvirt/qemu/wintest01.xml 8)编辑KVM虚拟机配置文件
# virsh edit wintest01
virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。
可以但不建议直接通过vi编辑。
# vim /etc/libvirt/qemu/wintest01.xml 9)irsh console 控制台管理linux虚拟机
配置virsh console见下文
kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置
# virsh console oeltest01 10)其它virsh命令
挂起服务器
# virsh suspend oeltest01 恢复服务器
# virsh resume oeltest01 virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。 -------------------------------------------其他命令-------------------------------------------
1)创建虚拟机
[root@localhost ~]# virt-install --name=centos1 \ #生成一个虚拟机
--ram 1024 --vcpus=1 \
--disk path=/root/centos1.img,size=10 \
--accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \
--graphics vnc,port=5921 --network bridge=br0 2)virsh的其他操作
[root@localhost /]# virsh start centos1 #启动虚拟机
[root@localhost /]# virt-viewer centos1 #如果有图形界面的话,可以进入虚拟机的界面
[root@localhost ~]# virsh shutdown centos1 #关闭虚拟机
[root@localhost /]# virsh reboot centos1 #重启虚拟机
[root@localhost /]# virsh suspend centos1 #暂停虚拟机
[root@localhost /]# virsh resume centos1 #恢复虚拟机
[root@localhost /]# virsh autostart centos1 #自动加载虚拟机 -------------------------------------------virsh参数如下-------------------------------------------
autostart #自动加载指定的一个虚拟机
connect #重新连接到hypervisor
console #连接到客户会话
create #从一个SML文件创建一个虚拟机
start #开始一个非活跃的虚拟机
destroy #删除一个虚拟机
define #从一个XML文件定义一个虚拟机
domid #把一个虚拟机名或UUID转换为ID
domuuid #把一个郁闷或ID转换为UUID
dominfo #查看虚拟机信息
domstate #查看虚拟机状态
domblkstat #获取虚拟机设备快状态
domifstat #获取虚拟机网络接口状态
dumpxml #XML中的虚拟机信息
edit #编辑某个虚拟机的XML文件
list #列出虚拟机
migrate #将虚拟机迁移到另一台主机
quit #退出非交互式终端
reboot #重新启动一个虚拟机
resume #重新恢复一个虚拟机
save #把一个虚拟机的状态保存到一个文件
dump #把一个虚拟机的内核dump到一个文件中以方便分析
shutdown #关闭一个虚拟机
setmem #改变内存的分配
setmaxmem #改变最大内存限制值
suspend #挂起一个虚拟机
vcpuinfo #虚拟机的cpu信息
version #显示virsh版本 3)virt-clone,如果我们要建几个一样的虚拟机,这个命令,非常有用!
# virt-clone --connect=qemu:#/system -o centos1 -n centos3 -f /root/centos3.img #克隆centos1
正在克隆 centos1.img | 10.0 GB 00:07 Clone 'centos3' created successfully.
libguestfs-tools是虚拟机一个管理包,很有用的工具
[root@localhost ~]# yum -y install libguestfs-tools #安装工具包 4)未登录的情况下,查看镜像目录
[root@localhost ~]# virt-ls centos.img /home #查看centos.img镜像文件中/home目录
tank 5)未登录的情况下,将镜像文件中的文件copy出来
[root@localhost ~]# virsh list --all #查看所有的虚拟机名称
Id 名称 状态
----------------------------------------------------
1 centos1 running
2 centos6.5 running
- arch 关闭
- arch1 关闭
- arch2 关闭
- arch3 关闭
- arch5 关闭
- centos3 关闭
- ubuntu 关闭
- ubuntu1 关闭
[root@localhost ~]# virt-copy-out -d centos1 /etc/passwd /tmp #将centos1中的文件copy到tmp下面 6)查看虚拟机的分区情况
[root@localhost ~]# virt-filesystems -d centos1
/dev/sda1
/dev/VolGroup/lv_root
[root@localhost ~]# virt-list-partitions /root/centos.img
/dev/sda1
/dev/sda2
[root@localhost ~]# virt-df centos.img
Filesystem 1K-blocks Used Available Use%
centos.img:/dev/sda1 495844 34510 435734 7%
centos.img:/dev/VolGroup/lv_root 8780808 2842056 5492700 33% 7)mount虚拟机
[root@localhost ~]# guestmount -a /root/centos.img -m /dev/VolGroup/lv_root --rw /mnt/usb
[root@localhost ~]# cd /mnt/usb/
[root@localhost usb]# ls
bin dev home lib64 media mnt opt root selinux sys usr
boot etc lib lost+found misc net proc sbin srv tmp var 8)修改kvm中虚拟机的内存大小
[root@nfs ~]# virsh edit vm01 ##注意vi直接编辑不生效
vm01
df8604c1-dcf3-fa98-420f-6eea7b39c395
1048576 ###本来开始设置为1G,现在这个单位是k
1048576 修改为1.5G
[root@nfs ~]# expr 1536 \* 1024
1572864</p> <p>[root@nfs ~]# virsh list
Id Name State
----------------------------------
1 win2003 running
3 vm01 running [root@nfs ~]# virsh shutdown vm01 ###修改配置文件后需要重新启动下虚拟机,先关闭它
Domain vm01 is being shutdown
>[root@nfs ~]# virsh list ###确认已经被关闭
Id Name State
----------------------------------
1 win2003 running [root@nfs ~]# virsh start vm01 ###启动它
Domain vm01 started [root@nfs ~]# virsh list
Id Name State
----------------------------------
1 win2003 running
3 vm01 running 到机器上查看内存大小:
[root@vm01 liuxiaojie]# free -m
total used free shared buffers cached
Mem: 1505 618 886 0 29 361
-/+ buffers/cache: 227 1277
Swap: 2000 0 2000 9)删除一个虚拟机(vm01),可以删除一个状态为“shut off”的虚拟机
[root@nfs qemu]# virsh undefine vm01
[root@nfs qemu]# rm -f /home/data/vm01.img 10)删除一个域
[root@nfs web01]# virsh list --all
Id Name State
----------------------------------
1 web01 running ##处于工作状态
- myweb01 shut off
- myweb03 shut off
- mywin2003 shut off
- myxp shut off
- xp shut off
[root@nfs web01]# virsh undefine web01 ##处于工作状态也能删除!
Domain web01 has been undefined
[root@nfs web01]# virsh list
Id Name State
----------------------------------
1 web01 running
[root@nfs web01]# virsh destroy web01
Domain web01 destroyed
[root@nfs web01]# virsh list --all ##web01已经没有了!
Id Name State
----------------------------------
- myweb01 shut off
- myweb03 shut off
- mywin2003 shut off
- myxp shut off
- xp shut off
[root@nfs web01]# virsh define web01
error: Failed to open file 'web01': No such file or directory -------------------------------------------virsh相关命令-------------------------------------------
1)安装libvirt
#yum install kvm virt-* libvirt
2)检查是否安装成功
#lsmod |grep kvm
3)相关命令
#virsh -c qemu:#/system list
#virsh list
#virsh list --all #查看所有状态的虚拟机
#virsh shutdown myWin7 #关闭myWin7虚拟机
#virsh destroy myWin7 #删除myWin7虚拟机
#virsh start node4 #开机虚拟机
#virsh define /etc/libvirt/qemu/node5.xml #根据主机配置文档添加虚拟机
#virsh dumpxml node4 > /etc/libvirt/qemu/node6.xml #将node4虚机的配置文件保存至node6.xml
#virsh edit node6 #修改node6的配置文件
#virsh suspend vm_name #暂停虚拟机
#virsh resume vm_name #恢复虚拟机
4)vm配置文件路径
/etc/libvirtd/qemu/***.xml 可以通过vim对配置文件进行管理,编辑后需要#service libvirtd restart(不会对现有VM有影响。)
kvm虚拟机日常操作命令梳理的更多相关文章
- kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- kvm虚拟机日常管理和配置操作命令梳理
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.1)查看KVM虚拟机配置文件及运行状态KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/autostart目录是配置kvm ...
- Redis Cluster日常操作命令梳理
在之前的一篇文章已经介绍了Redis Cluster及其部署,下面说下Redis Cluster日常操作命令: 一.以下命令是Redis Cluster集群所独有的,执行下面命令需要先登录redis: ...
- kvm虚拟机日常管理与配置
1. 查看KVM虚拟机配置文件及运行状态 (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录. (2) vir ...
- kvm虚拟机--存储池配置梳理(转)
1.创建基于文件夹的存储池(目录) 2.定义存储池与其目录 1 # virsh pool-define-as vmdisk --type dir --target /data/vmfs 3.创建已定义 ...
- Centos7.4安装kvm虚拟机(使用virt-manager管理)
之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法: 0)KVM是什么 KVM(K ...
- kvm虚拟化学习笔记(三)之windows kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- kvm虚拟机命令梳理
kvm虚拟机命令梳理 )查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录. virsh命 ...
随机推荐
- sftp 建立用户
1.创建sftp组:#groupadd sftp 2.创建测试账户:#useradd -g sftp -s /bin/false testuser 修改密码:# passwd sftp 3.修改测试账 ...
- Linux删除文件实现回收站功能
转载于 https://blog.csdn.net/u014057054/article/details/52126494 从事过服务器维护的人都知道rm.rm -rf 的厉害,执行起来一点也不马虎, ...
- 第七章 鼠标(CONNECT)
/* CONNECT.C -- Connect-the-Dots Mouse Demo Program (c) Charles Petzold,1998 */ #include <Windows ...
- 如何创建一个 mongo 数据库并为它添加一个认证用户?
0.登录 admin 库,开启一个 mongo shell mongo --port 27017 -u "adminUser" -p "adminPass" - ...
- switch选择结构
switch( 表达式 )//表达式可以使用byte,short,int,char { case 值1: 逻辑语句: break;//跳出switch语句 case 值2: 逻辑语句; break; ...
- v-bind指令动态绑定class和内联样式style
动态绑定class—概述 数据绑定(v-bind指令)一个常见需求是操作元素的 class 列表.因为class是元素的一个属性,我们可以用 v-bind 处理它们 我们只需要计算出表达式最终的字符串 ...
- 什么是Java序列化?如何实现序列化?
一.什么是序列化: 序列化理解成“打碎”是可以的,不过在书本上的名词就是将对象转换成二进制. 二.在java中如何实现序列化: 首先我们要把准备要序列化类,实现 Serializabel接口 例如:我 ...
- 解决Chunkize warning while installing gensim问题
问题: UserWarning: detected Windows; aliasing chunkize to chunkize_serial warnings.warn("detected ...
- Excel函数(不定期持续更新)
1.COUNTIF函数 COUNTIF函数用来计算单元格区域内符合条件的单元格个数. COUNTIF函数只有两个参数 COUNTIF(单元格区域,计算的条件) 例如:计算上海市的数量
- MVC思想及SpringMVC设计理念
1:什么是MVC MVC(Model View Controller)是一种软件设计的框架模式,它采用模型(Model)-视图(View)-控制器(controller)的方法把业务逻辑 ...