KVM虚拟化学习笔记系列文章列表
----------------------------------------
kvm虚拟化学习笔记(一)之kvm虚拟化环境安装
http://koumm.blog.51cto.com/703525/1288795
kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
http://koumm.blog.51cto.com/703525/1289627
kvm虚拟化学习笔记(三)之windows kvm虚拟机安装
http://koumm.blog.51cto.com/703525/1290191
kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
http://koumm.blog.51cto.com/703525/1290269
kvm虚拟化学习笔记(五)之windows虚拟机性能调整
http://koumm.blog.51cto.com/703525/1290682
kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置
http://koumm.blog.51cto.com/703525/1290996
kvm虚拟化学习笔记(七)之kvm虚拟机克隆
http://koumm.blog.51cto.com/703525/1291793
kvm虚拟化学习笔记(八)之kvm虚拟机vnc配置
http://koumm.blog.51cto.com/703525/1291803
kvm虚拟化学习笔记(九)之kvm虚拟机时间配置
http://koumm.blog.51cto.com/703525/1291862
kvm虚拟化学习笔记(十)之kvm虚拟机快照备份
http://koumm.blog.51cto.com/703525/1291893
kvm虚拟化学习笔记(十一)之kvm虚拟机扩展磁盘空间
http://koumm.blog.51cto.com/703525/1292146
kvm虚拟化学习笔记(十二)之kvm linux虚拟机在线扩展磁盘
http://koumm.blog.51cto.com/703525/1295296
kvm虚拟化学习笔记(十三)之kvm虚拟机磁盘文件读取小结
http://koumm.blog.51cto.com/703525/1298845
kvm虚拟化学习笔记(十四)之kvm虚拟机静态迁移
http://koumm.blog.51cto.com/703525/1298852
kvm虚拟化学习笔记(十五)之kvm虚拟机动态迁移
http://koumm.blog.51cto.com/703525/1300783
kvm虚拟化学习笔记(十六)之kvm虚拟化存储池配置
http://koumm.blog.51cto.com/703525/1304196
kvm虚拟化学习笔记(十七)之KVM到KVM之v2v迁移
http://koumm.blog.51cto.com/703525/1304271
kvm虚拟化学习笔记(十八)之ESXi到KVM之v2v迁移
http://koumm.blog.51cto.com/703525/1304461
kvm虚拟化学习笔记(十九)之convirt集中管理平台搭建
http://koumm.blog.51cto.com/703525/1305553
kvm虚拟化学习笔记(二十)之convirt安装linux系统
http://koumm.blog.51cto.com/703525/1306526
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。
1. 查看KVM虚拟机配置文件及运行状态
(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/
(2) virsh命令帮助
# virsh -help
或直接virsh命令和,再执行子命令。如下所示。
[root@node1 ~]# virsh
欢迎使用 virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # help
……
(3) 查看kvm虚拟机状态
# virsh list --all
2. KVM虚拟机开机
# virsh start oeltest01
3. KVM虚拟机关机或断电
(1) 关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
# chkconfig acpid on
# service acpid restart
virsh关机
# virsh shutdown oeltest01
(2) 强制关闭电源
# 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虚拟机
(1) 删除kvm虚拟机
# virsh undefine wintest01
说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。如下图所示。
(2) 重新定义虚拟机配置文件
通过导出备份的配置文件恢复原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编辑。
[root@node1 qemu]# vi /etc/libvirt/qemu/wintest01.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh edit wintest01 or other application using the libvirt API. --> <domain type= 'kvm' > <name>wintest01</name> <uuid>fe31ea48-7d6a-f3cb-cede-2f9bd9dec2bd</uuid> <memory unit= 'KiB' > 524288 </memory> <currentMemory unit= 'KiB' > 524288 </currentMemory> <vcpu placement= 'static' > 2 </vcpu> <os> <type arch= 'x86_64' machine= 'rhel6.4.0' >hvm</type> <boot dev= 'hd' /> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset= 'utc' /> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/libexec/qemu-kvm</emulator> <disk type= 'file' device= 'disk' > <driver name= 'qemu' type= 'raw' cache= 'none' /> <source file= '/data/wintest01.img' /> <target dev= 'hda' bus= 'ide' /> <address type= 'drive' controller= '0' bus= '0' target= '0' unit= '0' /> </disk> <disk type= 'block' device= 'cdrom' > <driver name= 'qemu' type= 'raw' /> <target dev= 'hdc' bus= 'ide' /> <readonly/> <address type= 'drive' controller= '0' bus= '1' target= '0' unit= '0' /> </disk> <controller type= 'usb' index= '0' > <address type= 'pci' domain= '0x0000' bus= '0x00' slot= '0x01' function = '0x2' /> </controller> <controller type= 'ide' index= '0' > <address type= 'pci' domain= '0x0000' bus= '0x00' slot= '0x01' function = '0x1' /> </controller> < interface type= 'bridge' > <mac address= '52:54:00:2b:2f:fe' /> <source bridge= 'br0' /> <address type= 'pci' domain= '0x0000' bus= '0x00' slot= '0x03' function = '0x0' /> </ interface > <serial type= 'pty' > <target port= '0' /> </serial> <console type= 'pty' > <target type= 'serial' port= '0' /> </console> <input type= 'mouse' bus= 'ps2' /> <graphics type= 'vnc' port= '5911' autoport= 'no' listen= '0.0.0.0' > <listen type= 'address' address= '0.0.0.0' /> </graphics> <video> <model type= 'cirrus' vram= '9216' heads= '1' /> <address type= 'pci' domain= '0x0000' bus= '0x00' slot= '0x02' function = '0x0' /> </video> <memballoon model= 'virtio' > <address type= 'pci' domain= '0x0000' bus= '0x00' slot= '0x04' function = '0x0' /> </memballoon> </devices> <seclabel type= 'none' /> </domain> |
9. virsh console 控制台管理linux虚拟机
配置virsh console见下文
# virsh console oeltest01
10. 其它virsh命令
(1) 挂起服务器
# virsh suspend oeltest01
(2) 恢复服务器
# virsh resume oeltest01
virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。