最近在学习KVM,进程不算太快,近期整理了一下KVM虚拟机技术学习笔记,现在就分享给大家,也给大家做个参考。有需要的朋友可以来了解一下。
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。
1. 查看KVM虚拟机配置文件及运行状态
(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/
autostart目录是配置kvm虚拟机开机自启动目录。
(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编辑。
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
71
|
[root@node1 qemu]# vi /etc/libvirt/qemu/wintest01.xml
<!--
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命令
(1) 挂起服务器
# virsh suspend oeltest01
(2) 恢复服务器
# virsh resume oeltest01
virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。