KVM虚拟化学习笔记系列文章列表
----------------------------------------
kvm虚拟化学习笔记(一)之kvm虚拟化环境安装
<a href="http://koumm.blog.51cto.com/703525/1288795" target="_blank">http://koumm.blog.51cto.com/703525/1288795</a>
kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
<a href="http://koumm.blog.51cto.com/703525/1289627" target="_blank">http://koumm.blog.51cto.com/703525/1289627</a>
kvm虚拟化学习笔记(三)之windows kvm虚拟机安装
<a href="http://koumm.blog.51cto.com/703525/1290191" target="_blank">http://koumm.blog.51cto.com/703525/1290191</a>
kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
<a href="http://koumm.blog.51cto.com/703525/1290269" target="_blank">http://koumm.blog.51cto.com/703525/1290269</a>
kvm虚拟化学习笔记(五)之windows虚拟机性能调整
<a href="http://koumm.blog.51cto.com/703525/1290682" target="_blank">http://koumm.blog.51cto.com/703525/1290682</a>
kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置
<a href="http://koumm.blog.51cto.com/703525/1290996" target="_blank">http://koumm.blog.51cto.com/703525/1290996</a>
kvm虚拟化学习笔记(七)之kvm虚拟机克隆
<a href="http://koumm.blog.51cto.com/703525/1291793" target="_blank">http://koumm.blog.51cto.com/703525/1291793</a>
kvm虚拟化学习笔记(八)之kvm虚拟机vnc配置
<a href="http://koumm.blog.51cto.com/703525/1291803" target="_blank">http://koumm.blog.51cto.com/703525/1291803</a>
kvm虚拟化学习笔记(九)之kvm虚拟机时间配置
<a href="http://koumm.blog.51cto.com/703525/1291862" target="_blank">http://koumm.blog.51cto.com/703525/1291862</a>
kvm虚拟化学习笔记(十)之kvm虚拟机快照备份
<a href="http://koumm.blog.51cto.com/703525/1291893" target="_blank">http://koumm.blog.51cto.com/703525/1291893</a>
kvm虚拟化学习笔记(十一)之kvm虚拟机扩展磁盘空间
<a href="http://koumm.blog.51cto.com/703525/1292146" target="_blank">http://koumm.blog.51cto.com/703525/1292146</a>
kvm虚拟化学习笔记(十二)之kvm linux虚拟机在线扩展磁盘
<a href="http://koumm.blog.51cto.com/703525/1295296" target="_blank">http://koumm.blog.51cto.com/703525/1295296</a>
kvm虚拟化学习笔记(十三)之kvm虚拟机磁盘文件读取小结
<a href="http://koumm.blog.51cto.com/703525/1298845" target="_blank">http://koumm.blog.51cto.com/703525/1298845</a>
kvm虚拟化学习笔记(十四)之kvm虚拟机静态迁移
<a href="http://koumm.blog.51cto.com/703525/1298852" target="_blank">http://koumm.blog.51cto.com/703525/1298852</a>
kvm虚拟化学习笔记(十五)之kvm虚拟机动态迁移
<a href="http://koumm.blog.51cto.com/703525/1300783" target="_blank">http://koumm.blog.51cto.com/703525/1300783</a>
kvm虚拟化学习笔记(十六)之kvm虚拟化存储池配置
<a href="http://koumm.blog.51cto.com/703525/1304196" target="_blank">http://koumm.blog.51cto.com/703525/1304196</a>
kvm虚拟化学习笔记(十七)之KVM到KVM之v2v迁移
<a href="http://koumm.blog.51cto.com/703525/1304271" target="_blank">http://koumm.blog.51cto.com/703525/1304271</a>
kvm虚拟化学习笔记(十八)之ESXi到KVM之v2v迁移
<a href="http://koumm.blog.51cto.com/703525/1304461" target="_blank">http://koumm.blog.51cto.com/703525/1304461</a>
kvm虚拟化学习笔记(十九)之convirt集中管理平台搭建
<a href="http://koumm.blog.51cto.com/703525/1305553" target="_blank">http://koumm.blog.51cto.com/703525/1305553</a>
kvm虚拟化学习笔记(二十)之convirt安装linux系统
<a href="http://koumm.blog.51cto.com/703525/1306526" target="_blank">http://koumm.blog.51cto.com/703525/1306526</a>
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。
(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/
autostart目录是配置kvm虚拟机开机自启动目录。
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480473E6C5.png" target="_blank"></a>
(2) virsh命令帮助
# virsh -help
或直接virsh命令和,再执行子命令。如下所示。
[root@node1 ~]# virsh
欢迎使用 virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # help
……
(3) 查看kvm虚拟机状态
# virsh list --all
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480475NhF9.png" target="_blank"></a>
# virsh start oeltest01
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480476mX7K.png" target="_blank"></a>
(1) 关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
# chkconfig acpid on
# service acpid restart
virsh关机
# virsh shutdown oeltest01
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480477Gp0U.png" target="_blank"></a>
(2) 强制关闭电源
# virsh destroy wintest01
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_13784804782tFD.png" target="_blank"></a>
# virsh create /etc/libvirt/qemu/wintest01.xml
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_13784804806HvH.png" target="_blank"></a>
# virsh autostart oeltest01
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480484fiVa.png" target="_blank"></a>
autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。
# virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480487jzlb.png" target="_blank"></a>
KVM虚拟机配置文件可以通过这种方式进行备份。
(1) 删除kvm虚拟机
# virsh undefine wintest01
说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。如下图所示。
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480492b6Ch.png" target="_blank"></a>
(2) 重新定义虚拟机配置文件
通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。
# mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml
# virsh define /etc/libvirt/qemu/wintest01.xml
# virsh edit wintest01
virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。
可以但不建议直接通过vi编辑。
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480501gyhF.png" target="_blank"></a>
[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
<code><!--</code>
<code>WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE</code>
<code>OVERWRITTEN AND LOST. Changes to </code><code>this</code> <code>xml configuration should be made using:</code>
<code>virsh edit wintest01</code>
<code>or other application using the libvirt API.</code>
<code>--></code>
<code><domain type=</code><code>'kvm'</code><code>></code>
<code><name>wintest01</name></code>
<code><uuid>fe31ea48-7d6a-f3cb-cede-2f9bd9dec2bd</uuid></code>
<code><memory unit=</code><code>'KiB'</code><code>></code><code>524288</code><code></memory></code>
<code><currentMemory unit=</code><code>'KiB'</code><code>></code><code>524288</code><code></currentMemory></code>
<code><vcpu placement=</code><code>'static'</code><code>></code><code>2</code><code></vcpu></code>
<code><os></code>
<code><type arch=</code><code>'x86_64'</code> <code>machine=</code><code>'rhel6.4.0'</code><code>>hvm</type></code>
<code><boot dev=</code><code>'hd'</code><code>/></code>
<code></os></code>
<code><features></code>
<code><acpi/></code>
<code><apic/></code>
<code><pae/></code>
<code></features></code>
<code><clock offset=</code><code>'utc'</code><code>/></code>
<code><on_poweroff>destroy</on_poweroff></code>
<code><on_reboot>restart</on_reboot></code>
<code><on_crash>restart</on_crash></code>
<code><devices></code>
<code><emulator>/usr/libexec/qemu-kvm</emulator></code>
<code><disk type=</code><code>'file'</code> <code>device=</code><code>'disk'</code><code>></code>
<code><driver name=</code><code>'qemu'</code> <code>type=</code><code>'raw'</code> <code>cache=</code><code>'none'</code><code>/></code>
<code><source file=</code><code>'/data/wintest01.img'</code><code>/></code>
<code><target dev=</code><code>'hda'</code> <code>bus=</code><code>'ide'</code><code>/></code>
<code><address type=</code><code>'drive'</code> <code>controller=</code><code>'0'</code> <code>bus=</code><code>'0'</code> <code>target=</code><code>'0'</code> <code>unit=</code><code>'0'</code><code>/></code>
<code></disk></code>
<code><disk type=</code><code>'block'</code> <code>device=</code><code>'cdrom'</code><code>></code>
<code><driver name=</code><code>'qemu'</code> <code>type=</code><code>'raw'</code><code>/></code>
<code><target dev=</code><code>'hdc'</code> <code>bus=</code><code>'ide'</code><code>/></code>
<code><readonly/></code>
<code><address type=</code><code>'drive'</code> <code>controller=</code><code>'0'</code> <code>bus=</code><code>'1'</code> <code>target=</code><code>'0'</code> <code>unit=</code><code>'0'</code><code>/></code>
<code><controller type=</code><code>'usb'</code> <code>index=</code><code>'0'</code><code>></code>
<code><address type=</code><code>'pci'</code> <code>domain=</code><code>'0x0000'</code> <code>bus=</code><code>'0x00'</code> <code>slot=</code><code>'0x01'</code> <code>function</code><code>=</code><code>'0x2'</code><code>/></code>
<code></controller></code>
<code><controller type=</code><code>'ide'</code> <code>index=</code><code>'0'</code><code>></code>
<code><address type=</code><code>'pci'</code> <code>domain=</code><code>'0x0000'</code> <code>bus=</code><code>'0x00'</code> <code>slot=</code><code>'0x01'</code> <code>function</code><code>=</code><code>'0x1'</code><code>/></code>
<code><</code><code>interface</code> <code>type=</code><code>'bridge'</code><code>></code>
<code><mac address=</code><code>'52:54:00:2b:2f:fe'</code><code>/></code>
<code><source bridge=</code><code>'br0'</code><code>/></code>
<code><address type=</code><code>'pci'</code> <code>domain=</code><code>'0x0000'</code> <code>bus=</code><code>'0x00'</code> <code>slot=</code><code>'0x03'</code> <code>function</code><code>=</code><code>'0x0'</code><code>/></code>
<code></</code><code>interface</code><code>></code>
<code><serial type=</code><code>'pty'</code><code>></code>
<code><target port=</code><code>'0'</code><code>/></code>
<code></serial></code>
<code><console type=</code><code>'pty'</code><code>></code>
<code><target type=</code><code>'serial'</code> <code>port=</code><code>'0'</code><code>/></code>
<code></console></code>
<code><input type=</code><code>'mouse'</code> <code>bus=</code><code>'ps2'</code><code>/></code>
<code><graphics type=</code><code>'vnc'</code> <code>port=</code><code>'5911'</code> <code>autoport=</code><code>'no'</code> <code>listen=</code><code>'0.0.0.0'</code><code>></code>
<code><listen type=</code><code>'address'</code> <code>address=</code><code>'0.0.0.0'</code><code>/></code>
<code></graphics></code>
<code><video></code>
<code><model type=</code><code>'cirrus'</code> <code>vram=</code><code>'9216'</code> <code>heads=</code><code>'1'</code><code>/></code>
<code><address type=</code><code>'pci'</code> <code>domain=</code><code>'0x0000'</code> <code>bus=</code><code>'0x00'</code> <code>slot=</code><code>'0x02'</code> <code>function</code><code>=</code><code>'0x0'</code><code>/></code>
<code></video></code>
<code><memballoon model=</code><code>'virtio'</code><code>></code>
<code><address type=</code><code>'pci'</code> <code>domain=</code><code>'0x0000'</code> <code>bus=</code><code>'0x00'</code> <code>slot=</code><code>'0x04'</code> <code>function</code><code>=</code><code>'0x0'</code><code>/></code>
<code></memballoon></code>
<code></devices></code>
<code><seclabel type=</code><code>'none'</code><code>/></code>
<code></domain></code>
配置virsh console见下文
<a href="http://koumm.blog.51cto.com/703525/1290996" target="_blank">kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置</a>
# virsh console oeltest01
(1) 挂起服务器
# virsh suspend oeltest01
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480506AjsY.png" target="_blank"></a>
(2) 恢复服务器
# virsh resume oeltest01
<a href="http://koumm.blog.51cto.com/attachment/201309/6/703525_1378480508peWv.png" target="_blank"></a>
virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。
本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1290269,如需转载请自行联系原作者