系统环境:
操作系统: RedHat EL6.4(x86_64)
一、前言
KVM,即Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,
新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
二、配置环境
软件包组:
virtualization 提供虚拟机的环境,主要包含qemu-kvm
virtualization-client 管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
virtualization-platform 提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
virtualization-tools 管理离线虚拟机镜像的工具,主要有libguestfs
根据需求选择软件包,一般都安装前三个,也可以只安装个别主要的包。
为了减少不必要的麻烦,请关闭防火墙和SELinux
# cat /proc/cpuinfo |grep flags 需要全虚拟化支持为vmx(Inter)或svm(AMD)
三、安装KVM软件包
1、查看主机CPU信息
[root@rh64 ~]# cat /proc/cpuinfo|grep flag
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc up rep_good xtopology nonstop_tsc unfair_spinlock pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx hypervisor lahf_lm
2、查看系统内核版本
[root@rh64 ~]# uname -a
Linux rh64 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
3、通过系统安装盘安装kvm软件包
[root@rh64 ~]# mount /dev/sr0 /media
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@rh64 ~]# yum groupinstall "Virtualization" "Virtualization Client" "Virtualzation Platform"
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<code>Loaded plugins: product-id, refresh-packagekit, security, subscription-manager</code>
<code>This system is </code><code>not</code> <code>registered to Red Hat Subscription Management. You can use subscription-manager to register.</code>
<code>base | </code><code>3.9</code> <code>kB </code><code>00</code><code>:</code><code>00</code> <code>... </code>
<code>Setting up Group Process</code>
<code>base/group_gz | </code><code>204</code> <code>kB </code><code>00</code><code>:</code><code>00</code> <code>... </code>
<code>Warning: Group Virtualzation Platform does </code><code>not</code> <code>exist.</code>
<code>Resolving Dependencies</code>
<code>--> Running transaction check</code>
<code>---> Package hypervkvpd.x86_64 </code><code>0</code><code>:</code><code>0</code><code>-0.9.</code><code>el6 will be installed</code>
<code>---> Package python-virtinst.noarch </code><code>0</code><code>:</code><code>0.600.</code><code>0</code><code>-15.</code><code>el6 will be installed</code>
<code>--> Processing Dependency: libvirt-python >= </code><code>0.2.</code><code>0</code> <code>for</code> <code>package</code><code>: python-virtinst</code><code>-0.600.</code><code>0</code><code>-15.</code><code>el6.noarch</code>
<code>---> Package qemu-kvm.x86_64 </code><code>2</code><code>:</code><code>0.12.</code><code>1.2</code><code>-2.355.</code><code>el6 will be installed</code>
<code>base/filelists_db | </code><code>3.7</code> <code>MB </code><code>00</code><code>:</code><code>00</code> <code>... </code>
<code>--> Processing Dependency: qemu-img = </code><code>2</code><code>:</code><code>0.12.</code><code>1.2</code><code>-2.355.</code><code>el6 </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: seabios >= </code><code>0.6.</code><code>1.2</code><code>-20.</code><code>el6 </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: vgabios-vmware </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: vgabios-stdvga </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: vgabios-qxl </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: vgabios </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-server.so</code><code>.1</code><code>(SPICE_SERVER_0</code><code>.8.3</code><code>)(64bit) </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-server.so</code><code>.1</code><code>(SPICE_SERVER_0</code><code>.8.2</code><code>)(64bit) </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-server.so</code><code>.1</code><code>(SPICE_SERVER_0</code><code>.8.1</code><code>)(64bit) </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-server.so</code><code>.1</code><code>(SPICE_SERVER_0</code><code>.6.0</code><code>)(64bit) </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-server.so</code><code>.1</code><code>(SPICE_SERVER_0</code><code>.11.2</code><code>)(64bit) </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-server.so</code><code>.1</code><code>(SPICE_SERVER_0</code><code>.10.4</code><code>)(64bit) </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: /usr/share/sgabios/sgabios.bin </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: /usr/share/gpxe/virtio-net.rom </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: /usr/share/gpxe/rtl8139.rom </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: /usr/share/gpxe/rtl8029.rom </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: /usr/share/gpxe/pcnet32.rom </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: /usr/share/gpxe/e1000</code><code>-0x100e.</code><code>rom </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libusbredirparser.so</code><code>.1</code><code>()(64bit) </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-server.so</code><code>.1</code><code>()(64bit) </code><code>for</code> <code>package</code><code>: </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64</code>
<code>---> Package virt-manager.x86_64 </code><code>0</code><code>:</code><code>0.9.</code><code>0</code><code>-18.</code><code>el6 will be installed</code>
<code>--> Processing Dependency: gtk-vnc-python >= </code><code>0.3.</code><code>8</code> <code>for</code> <code>package</code><code>: virt-manager</code><code>-0.9.</code><code>0</code><code>-18.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: gnome-python2-gnomekeyring >= </code><code>2.15.</code><code>4</code> <code>for</code> <code>package</code><code>: virt-manager</code><code>-0.9.</code><code>0</code><code>-18.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: spice-gtk-python </code><code>for</code> <code>package</code><code>: virt-manager</code><code>-0.9.</code><code>0</code><code>-18.</code><code>el6.x86_64</code>
<code>---> Package virt-top.x86_64 </code><code>0</code><code>:</code><code>1.0.</code><code>4</code><code>-3.15.</code><code>el6 will be installed</code>
<code>---> Package virt-viewer.x86_64 </code><code>0</code><code>:</code><code>0.5.</code><code>2</code><code>-18.</code><code>el6 will be installed</code>
<code>--> Processing Dependency: libspice-client-gtk</code><code>-2.0.</code><code>so</code><code>.4</code><code>(SPICEGTK_1)(64bit) </code><code>for</code> <code>package</code><code>: virt-viewer</code><code>-0.5.</code><code>2</code><code>-18.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-client-glib</code><code>-2.0.</code><code>so</code><code>.8</code><code>(SPICEGTK_1)(64bit) </code><code>for</code> <code>package</code><code>: virt-viewer</code><code>-0.5.</code><code>2</code><code>-18.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-controller.so</code><code>.0</code><code>()(64bit) </code><code>for</code> <code>package</code><code>: virt-viewer</code><code>-0.5.</code><code>2</code><code>-18.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-client-gtk</code><code>-2.0.</code><code>so</code><code>.4</code><code>()(64bit) </code><code>for</code> <code>package</code><code>: virt-viewer</code><code>-0.5.</code><code>2</code><code>-18.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libspice-client-glib</code><code>-2.0.</code><code>so</code><code>.8</code><code>()(64bit) </code><code>for</code> <code>package</code><code>: virt-viewer</code><code>-0.5.</code><code>2</code><code>-18.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libgtk-vnc</code><code>-1.0.</code><code>so</code><code>.0</code><code>()(64bit) </code><code>for</code> <code>package</code><code>: virt-viewer</code><code>-0.5.</code><code>2</code><code>-18.</code><code>el6.x86_64</code>
<code>---> Package gnome-python2-gnomekeyring.x86_64 </code><code>0</code><code>:</code><code>2.28.</code><code>0</code><code>-4.</code><code>el6 will be installed</code>
<code>---> Package gpxe-roms-qemu.noarch </code><code>0</code><code>:</code><code>0.9.</code><code>7</code><code>-6.9.</code><code>el6 will be installed</code>
<code>---> Package gtk-vnc.x86_64 </code><code>0</code><code>:</code><code>0.3.</code><code>10</code><code>-3.</code><code>el6 will be installed</code>
<code>---> Package gtk-vnc-python.x86_64 </code><code>0</code><code>:</code><code>0.3.</code><code>10</code><code>-3.</code><code>el6 will be installed</code>
<code>---> Package libvirt-python.x86_64 </code><code>0</code><code>:</code><code>0.10.</code><code>2</code><code>-18.</code><code>el6 will be installed</code>
<code>---> Package qemu-img.x86_64 </code><code>2</code><code>:</code><code>0.12.</code><code>1.2</code><code>-2.355.</code><code>el6 will be installed</code>
<code>---> Package seabios.x86_64 </code><code>0</code><code>:</code><code>0.6.</code><code>1.2</code><code>-26.</code><code>el6 will be installed</code>
<code>---> Package sgabios-bin.noarch </code><code>0</code><code>:</code><code>0</code><code>-0.3.</code><code>20110621svn.el6 will be installed</code>
<code>---> Package spice-glib.x86_64 </code><code>0</code><code>:</code><code>0.14</code><code>-7.</code><code>el6 will be installed</code>
<code>--> Processing Dependency: libcelt051.so</code><code>.0</code><code>()(64bit) </code><code>for</code> <code>package</code><code>: spice-glib</code><code>-0.14</code><code>-7.</code><code>el6.x86_64</code>
<code>--> Processing Dependency: libcacard.so</code><code>.0</code><code>()(64bit) </code><code>for</code> <code>package</code><code>: spice-glib</code><code>-0.14</code><code>-7.</code><code>el6.x86_64</code>
<code>---> Package spice-gtk.x86_64 </code><code>0</code><code>:</code><code>0.14</code><code>-7.</code><code>el6 will be installed</code>
<code>---> Package spice-gtk-python.x86_64 </code><code>0</code><code>:</code><code>0.14</code><code>-7.</code><code>el6 will be installed</code>
<code>---> Package spice-server.x86_64 </code><code>0</code><code>:</code><code>0.12.</code><code>0</code><code>-12.</code><code>el6 will be installed</code>
<code>---> Package usbredir.x86_64 </code><code>0</code><code>:</code><code>0.5.</code><code>1</code><code>-1.</code><code>el6 will be installed</code>
<code>---> Package vgabios.noarch </code><code>0</code><code>:</code><code>0.</code><code>6b</code><code>-3.7.</code><code>el6 will be installed</code>
<code>---> Package celt051.x86_64 </code><code>0</code><code>:</code><code>0.5.</code><code>1.3</code><code>-0.</code><code>el6 will be installed</code>
<code>---> Package libcacard.x86_64 </code><code>0</code><code>:</code><code>0.15.</code><code>0</code><code>-2.</code><code>el6 will be installed</code>
<code>--> Finished Dependency Resolution</code>
<code>Dependencies Resolved</code>
<code>===================================================================================================</code>
<code> </code><code>Package Arch Version Repository Size</code>
<code>Installing:</code>
<code> </code><code>hypervkvpd x86_64 </code><code>0</code><code>-0.9.</code><code>el6 base </code><code>17</code> <code>k</code>
<code> </code><code>python-virtinst noarch </code><code>0.600.</code><code>0</code><code>-15.</code><code>el6 base </code><code>490</code> <code>k</code>
<code> </code><code>qemu-kvm x86_64 </code><code>2</code><code>:</code><code>0.12.</code><code>1.2</code><code>-2.355.</code><code>el6 base </code><code>1.3</code> <code>M</code>
<code> </code><code>virt-manager x86_64 </code><code>0.9.</code><code>0</code><code>-18.</code><code>el6 base </code><code>1.0</code> <code>M</code>
<code> </code><code>virt-top x86_64 </code><code>1.0.</code><code>4</code><code>-3.15.</code><code>el6 base </code><code>368</code> <code>k</code>
<code> </code><code>virt-viewer x86_64 </code><code>0.5.</code><code>2</code><code>-18.</code><code>el6 base </code><code>200</code> <code>k</code>
<code>Installing </code><code>for</code> <code>dependencies:</code>
<code> </code><code>celt051 x86_64 </code><code>0.5.</code><code>1.3</code><code>-0.</code><code>el6 base </code><code>50</code> <code>k</code>
<code> </code><code>gnome-python2-gnomekeyring x86_64 </code><code>2.28.</code><code>0</code><code>-4.</code><code>el6 base </code><code>24</code> <code>k</code>
<code> </code><code>gpxe-roms-qemu noarch </code><code>0.9.</code><code>7</code><code>-6.9.</code><code>el6 base </code><code>219</code> <code>k</code>
<code> </code><code>gtk-vnc x86_64 </code><code>0.3.</code><code>10</code><code>-3.</code><code>el6 base </code><code>95</code> <code>k</code>
<code> </code><code>gtk-vnc-python x86_64 </code><code>0.3.</code><code>10</code><code>-3.</code><code>el6 base </code><code>17</code> <code>k</code>
<code> </code><code>libcacard x86_64 </code><code>0.15.</code><code>0</code><code>-2.</code><code>el6 base </code><code>41</code> <code>k</code>
<code> </code><code>libvirt-python x86_64 </code><code>0.10.</code><code>2</code><code>-18.</code><code>el6 base </code><code>457</code> <code>k</code>
<code> </code><code>qemu-img x86_64 </code><code>2</code><code>:</code><code>0.12.</code><code>1.2</code><code>-2.355.</code><code>el6 base </code><code>469</code> <code>k</code>
<code> </code><code>seabios x86_64 </code><code>0.6.</code><code>1.2</code><code>-26.</code><code>el6 base </code><code>91</code> <code>k</code>
<code> </code><code>sgabios-bin noarch </code><code>0</code><code>-0.3.</code><code>20110621svn.el6 base </code><code>6.6</code> <code>k</code>
<code> </code><code>spice-glib x86_64 </code><code>0.14</code><code>-7.</code><code>el6 base </code><code>291</code> <code>k</code>
<code> </code><code>spice-gtk x86_64 </code><code>0.14</code><code>-7.</code><code>el6 base </code><code>54</code> <code>k</code>
<code> </code><code>spice-gtk-python x86_64 </code><code>0.14</code><code>-7.</code><code>el6 base </code><code>22</code> <code>k</code>
<code> </code><code>spice-server x86_64 </code><code>0.12.</code><code>0</code><code>-12.</code><code>el6 base </code><code>326</code> <code>k</code>
<code> </code><code>usbredir x86_64 </code><code>0.5.</code><code>1</code><code>-1.</code><code>el6 base </code><code>40</code> <code>k</code>
<code> </code><code>vgabios noarch </code><code>0.</code><code>6b</code><code>-3.7.</code><code>el6 base </code><code>42</code> <code>k</code>
<code>Transaction Summary</code>
<code>Install </code><code>22</code> <code>Package(s)</code>
<code>Total download size: </code><code>5.6</code> <code>M</code>
<code>Installed size: </code><code>19</code> <code>M</code>
<code>Is </code><code>this</code> <code>ok [y/N]: </code>
<code>Downloading Packages:</code>
<code>------------------------------------------------------------------------------------------------------------------</code>
<code>Total </code><code>10</code> <code>MB/s | </code><code>5.6</code> <code>MB </code><code>00</code><code>:</code><code>00</code>
<code>Running rpm_check_debug</code>
<code>Running Transaction Test</code>
<code>Transaction Test Succeeded</code>
<code>Running Transaction</code>
<code>Warning: RPMDB altered outside of yum.</code>
<code>** Found </code><code>1</code> <code>pre-existing rpmdb problem(s), </code><code>'yum check'</code> <code>output follows:</code>
<code>openssl</code><code>-1.0.</code><code>1e-42.</code><code>el6.x86_64 is a duplicate </code><code>with</code> <code>openssl</code><code>-1.0.</code><code>0</code><code>-27.</code><code>el6.x86_64</code>
<code> </code><code>Installing : usbredir</code><code>-0.5.</code><code>1</code><code>-1.</code><code>el6.x86_64 </code><code>1</code><code>/</code><code>22</code>
<code> </code><code>Installing : celt051</code><code>-0.5.</code><code>1.3</code><code>-0.</code><code>el6.x86_64 </code><code>2</code><code>/</code><code>22</code>
<code> </code><code>Installing : libcacard</code><code>-0.15.</code><code>0</code><code>-2.</code><code>el6.x86_64 </code><code>3</code><code>/</code><code>22</code>
<code> </code><code>Installing : spice-glib</code><code>-0.14</code><code>-7.</code><code>el6.x86_64 </code><code>4</code><code>/</code><code>22</code>
<code> </code><code>Installing : spice-gtk</code><code>-0.14</code><code>-7.</code><code>el6.x86_64 </code><code>5</code><code>/</code><code>22</code>
<code> </code><code>Installing : gtk-vnc</code><code>-0.3.</code><code>10</code><code>-3.</code><code>el6.x86_64 </code><code>6</code><code>/</code><code>22</code>
<code> </code><code>Installing : libvirt-python</code><code>-0.10.</code><code>2</code><code>-18.</code><code>el6.x86_64 </code><code>7</code><code>/</code><code>22</code>
<code> </code><code>Installing : python-virtinst</code><code>-0.600.</code><code>0</code><code>-15.</code><code>el6.noarch </code><code>8</code><code>/</code><code>22</code>
<code> </code><code>Installing : gtk-vnc-python</code><code>-0.3.</code><code>10</code><code>-3.</code><code>el6.x86_64 </code><code>9</code><code>/</code><code>22</code>
<code> </code><code>Installing : spice-gtk-python</code><code>-0.14</code><code>-7.</code><code>el6.x86_64 </code><code>10</code><code>/</code><code>22</code>
<code> </code><code>Installing : spice-server</code><code>-0.12.</code><code>0</code><code>-12.</code><code>el6.x86_64 </code><code>11</code><code>/</code><code>22</code>
<code> </code><code>Installing : </code><code>2</code><code>:qemu-img</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64 </code><code>12</code><code>/</code><code>22</code>
<code> </code><code>Installing : seabios</code><code>-0.6.</code><code>1.2</code><code>-26.</code><code>el6.x86_64 </code><code>13</code><code>/</code><code>22</code>
<code> </code><code>Installing : gpxe-roms-qemu</code><code>-0.9.</code><code>7</code><code>-6.9.</code><code>el6.noarch </code><code>14</code><code>/</code><code>22</code>
<code> </code><code>Installing : sgabios-bin</code><code>-0</code><code>-0.3.</code><code>20110621svn.el6.noarch </code><code>15</code><code>/</code><code>22</code>
<code> </code><code>Installing : vgabios</code><code>-0.</code><code>6b</code><code>-3.7.</code><code>el6.noarch </code><code>16</code><code>/</code><code>22</code>
<code> </code><code>Installing : gnome-python2-gnomekeyring</code><code>-2.28.</code><code>0</code><code>-4.</code><code>el6.x86_64 </code><code>17</code><code>/</code><code>22</code>
<code> </code><code>Installing : virt-manager</code><code>-0.9.</code><code>0</code><code>-18.</code><code>el6.x86_64 </code><code>18</code><code>/</code><code>22</code>
<code> </code><code>Installing : </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64 </code><code>19</code><code>/</code><code>22</code>
<code> </code><code>Installing : virt-viewer</code><code>-0.5.</code><code>2</code><code>-18.</code><code>el6.x86_64 </code><code>20</code><code>/</code><code>22</code>
<code> </code><code>Installing : hypervkvpd</code><code>-0</code><code>-0.9.</code><code>el6.x86_64 </code><code>21</code><code>/</code><code>22</code>
<code> </code><code>Installing : virt-top</code><code>-1.0.</code><code>4</code><code>-3.15.</code><code>el6.x86_64 </code><code>22</code><code>/</code><code>22</code>
<code> </code><code>Verifying : gnome-python2-gnomekeyring</code><code>-2.28.</code><code>0</code><code>-4.</code><code>el6.x86_64 </code><code>1</code><code>/</code><code>22</code>
<code> </code><code>Verifying : spice-glib</code><code>-0.14</code><code>-7.</code><code>el6.x86_64 </code><code>2</code><code>/</code><code>22</code>
<code> </code><code>Verifying : virt-top</code><code>-1.0.</code><code>4</code><code>-3.15.</code><code>el6.x86_64 </code><code>3</code><code>/</code><code>22</code>
<code> </code><code>Verifying : vgabios</code><code>-0.</code><code>6b</code><code>-3.7.</code><code>el6.noarch </code><code>4</code><code>/</code><code>22</code>
<code> </code><code>Verifying : </code><code>2</code><code>:qemu-img</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64 </code><code>5</code><code>/</code><code>22</code>
<code> </code><code>Verifying : sgabios-bin</code><code>-0</code><code>-0.3.</code><code>20110621svn.el6.noarch </code><code>6</code><code>/</code><code>22</code>
<code> </code><code>Verifying : spice-gtk</code><code>-0.14</code><code>-7.</code><code>el6.x86_64 </code><code>7</code><code>/</code><code>22</code>
<code> </code><code>Verifying : celt051</code><code>-0.5.</code><code>1.3</code><code>-0.</code><code>el6.x86_64 </code><code>8</code><code>/</code><code>22</code>
<code> </code><code>Verifying : usbredir</code><code>-0.5.</code><code>1</code><code>-1.</code><code>el6.x86_64 </code><code>9</code><code>/</code><code>22</code>
<code> </code><code>Verifying : hypervkvpd</code><code>-0</code><code>-0.9.</code><code>el6.x86_64 </code><code>10</code><code>/</code><code>22</code>
<code> </code><code>Verifying : gpxe-roms-qemu</code><code>-0.9.</code><code>7</code><code>-6.9.</code><code>el6.noarch </code><code>11</code><code>/</code><code>22</code>
<code> </code><code>Verifying : libvirt-python</code><code>-0.10.</code><code>2</code><code>-18.</code><code>el6.x86_64 </code><code>12</code><code>/</code><code>22</code>
<code> </code><code>Verifying : spice-server</code><code>-0.12.</code><code>0</code><code>-12.</code><code>el6.x86_64 </code><code>13</code><code>/</code><code>22</code>
<code> </code><code>Verifying : virt-viewer</code><code>-0.5.</code><code>2</code><code>-18.</code><code>el6.x86_64 </code><code>14</code><code>/</code><code>22</code>
<code> </code><code>Verifying : virt-manager</code><code>-0.9.</code><code>0</code><code>-18.</code><code>el6.x86_64 </code><code>15</code><code>/</code><code>22</code>
<code> </code><code>Verifying : libcacard</code><code>-0.15.</code><code>0</code><code>-2.</code><code>el6.x86_64 </code><code>16</code><code>/</code><code>22</code>
<code> </code><code>Verifying : python-virtinst</code><code>-0.600.</code><code>0</code><code>-15.</code><code>el6.noarch </code><code>17</code><code>/</code><code>22</code>
<code> </code><code>Verifying : seabios</code><code>-0.6.</code><code>1.2</code><code>-26.</code><code>el6.x86_64 </code><code>18</code><code>/</code><code>22</code>
<code> </code><code>Verifying : gtk-vnc-python</code><code>-0.3.</code><code>10</code><code>-3.</code><code>el6.x86_64 </code><code>19</code><code>/</code><code>22</code>
<code> </code><code>Verifying : gtk-vnc</code><code>-0.3.</code><code>10</code><code>-3.</code><code>el6.x86_64 </code><code>20</code><code>/</code><code>22</code>
<code> </code><code>Verifying : </code><code>2</code><code>:qemu-kvm</code><code>-0.12.</code><code>1.2</code><code>-2.355.</code><code>el6.x86_64 </code><code>21</code><code>/</code><code>22</code>
<code> </code><code>Verifying : spice-gtk-python</code><code>-0.14</code><code>-7.</code><code>el6.x86_64 </code><code>22</code><code>/</code><code>22</code>
<code>Installed:</code>
<code> </code><code>hypervkvpd.x86_64 </code><code>0</code><code>:</code><code>0</code><code>-0.9.</code><code>el6 python-virtinst.noarch </code><code>0</code><code>:</code><code>0.600.</code><code>0</code><code>-15.</code><code>el6 qemu-kvm.x86_64 </code><code>2</code><code>:</code><code>0.12.</code><code>1.2</code><code>-2.355.</code><code>el6</code>
<code> </code><code>virt-manager.x86_64 </code><code>0</code><code>:</code><code>0.9.</code><code>0</code><code>-18.</code><code>el6 virt-top.x86_64 </code><code>0</code><code>:</code><code>1.0.</code><code>4</code><code>-3.15.</code><code>el6 virt-viewer.x86_64 </code><code>0</code><code>:</code><code>0.5.</code><code>2</code><code>-18.</code><code>el6 </code>
<code>Dependency Installed:</code>
<code> </code><code>celt051.x86_64 </code><code>0</code><code>:</code><code>0.5.</code><code>1.3</code><code>-0.</code><code>el6 gnome-python2-gnomekeyring.x86_64 </code><code>0</code><code>:</code><code>2.28.</code><code>0</code><code>-4.</code><code>el6 </code>
<code> </code><code>gpxe-roms-qemu.noarch </code><code>0</code><code>:</code><code>0.9.</code><code>7</code><code>-6.9.</code><code>el6 gtk-vnc.x86_64 </code><code>0</code><code>:</code><code>0.3.</code><code>10</code><code>-3.</code><code>el6 </code>
<code> </code><code>gtk-vnc-python.x86_64 </code><code>0</code><code>:</code><code>0.3.</code><code>10</code><code>-3.</code><code>el6 libcacard.x86_64 </code><code>0</code><code>:</code><code>0.15.</code><code>0</code><code>-2.</code><code>el6 </code>
<code> </code><code>libvirt-python.x86_64 </code><code>0</code><code>:</code><code>0.10.</code><code>2</code><code>-18.</code><code>el6 qemu-img.x86_64 </code><code>2</code><code>:</code><code>0.12.</code><code>1.2</code><code>-2.355.</code><code>el6 </code>
<code> </code><code>seabios.x86_64 </code><code>0</code><code>:</code><code>0.6.</code><code>1.2</code><code>-26.</code><code>el6 sgabios-bin.noarch </code><code>0</code><code>:</code><code>0</code><code>-0.3.</code><code>20110621svn.el6 </code>
<code> </code><code>spice-glib.x86_64 </code><code>0</code><code>:</code><code>0.14</code><code>-7.</code><code>el6 spice-gtk.x86_64 </code><code>0</code><code>:</code><code>0.14</code><code>-7.</code><code>el6 </code>
<code> </code><code>spice-gtk-python.x86_64 </code><code>0</code><code>:</code><code>0.14</code><code>-7.</code><code>el6 spice-server.x86_64 </code><code>0</code><code>:</code><code>0.12.</code><code>0</code><code>-12.</code><code>el6 </code>
<code> </code><code>usbredir.x86_64 </code><code>0</code><code>:</code><code>0.5.</code><code>1</code><code>-1.</code><code>el6 vgabios.noarch </code><code>0</code><code>:</code><code>0.</code><code>6b</code><code>-3.7.</code><code>el6 </code>
<code> </code>
<code>Complete!</code>
四、配置KVM建立虚拟机
[root@rh64 u02]# mkdir /u02/data //建立虚拟机存储空间
通过VNC连接主机,进行配置:
1、vnc连接
2、配置KVM

2、KVM安装包
4、提示启动“libvirt service”
[root@rh64 ~]# service libvirtd restart
Stopping libvirtd daemon: [FAILED]
Starting libvirtd daemon: [ OK ]
5、KVM虚拟机summary
6、建立虚拟机
7、选择虚拟机的操作系统和安装ISO
8、配置虚拟机Memory和CPU
9、设置虚拟机的Storage
10、虚拟机配置信息汇总
[root@rh64 ~]# service libvirtd status
libvirtd (pid 3163) is running...
查看建立的虚拟机的存储信息:
[root@rh64 ~]# cd /u02/data
[root@rh64 data]# ls
rh6.img
[root@rh64 data]# pwd
/u02/data
[root@rh64 data]# ls -l
total 8396812
-rwxr-xr-x 1 qemu qemu 8589934592 Nov 24 13:08 rh6.img
五、KVM基本的管理命令
[root@rh64 ~]# virsh
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands
'quit' to quit
virsh # help
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<code>Grouped commands:</code>
<code> </code><code>Domain Management (help keyword </code><code>'domain'</code><code>):</code>
<code> </code><code>attach-device attach device </code><code>from</code> <code>an XML file</code>
<code> </code><code>attach-disk attach disk device</code>
<code> </code><code>attach-interface attach network interface</code>
<code> </code><code>autostart autostart a domain</code>
<code> </code><code>blkdeviotune Set </code><code>or</code> <code>query a block device I/O tuning parameters.</code>
<code> </code><code>blkiotune Get </code><code>or</code> <code>set blkio parameters</code>
<code> </code><code>blockcommit Start a block commit operation.</code>
<code> </code><code>blockcopy Start a block copy operation.</code>
<code> </code><code>blockjob Manage active block operations</code>
<code> </code><code>blockpull Populate a disk </code><code>from</code> <code>its backing image.</code>
<code> </code><code>blockresize Resize block device of domain.</code>
<code> </code><code>change-media Change media of CD </code><code>or</code> <code>floppy drive</code>
<code> </code><code>console connect to the guest console</code>
<code> </code><code>cpu-baseline compute baseline CPU</code>
<code> </code><code>cpu-compare compare host CPU </code><code>with</code> <code>a CPU described by an XML file</code>
<code> </code><code>cpu-stats show domain cpu statistics</code>
<code> </code><code>create create a domain </code><code>from</code> <code>an XML file</code>
<code> </code><code>define define (but don't start) a domain </code><code>from</code> <code>an XML file</code>
<code> </code><code>desc show </code><code>or</code> <code>set domain's description </code><code>or</code> <code>title</code>
<code> </code><code>destroy destroy (stop) a domain</code>
<code> </code><code>detach-device detach device </code><code>from</code> <code>an XML file</code>
<code> </code><code>detach-disk detach disk device</code>
<code> </code><code>detach-interface detach network interface</code>
<code> </code><code>domdisplay domain display connection URI</code>
<code> </code><code>domhostname print the domain's hostname</code>
<code> </code><code>domid convert a domain name </code><code>or</code> <code>UUID to domain id</code>
<code> </code><code>domif-setlink set link state of a virtual interface</code>
<code> </code><code>domiftune get/set parameters of a virtual interface</code>
<code> </code><code>domjobabort abort active domain job</code>
<code> </code><code>domjobinfo domain job information</code>
<code> </code><code>domname convert a domain id </code><code>or</code> <code>UUID to domain name</code>
<code> </code><code>dompmsuspend suspend a domain gracefully using power management functions</code>
<code> </code><code>dompmwakeup wakeup a domain </code><code>from</code> <code>pmsuspended state</code>
<code> </code><code>domuuid convert a domain name </code><code>or</code> <code>id to domain UUID</code>
<code> </code><code>domxml-</code><code>from</code><code>-native Convert native config to domain XML</code>
<code> </code><code>domxml-to-native Convert domain XML to native config</code>
<code> </code><code>dump dump the core of a domain to a file </code><code>for</code> <code>analysis</code>
<code> </code><code>dumpxml domain information </code><code>in</code> <code>XML</code>
<code> </code><code>edit edit XML configuration </code><code>for</code> <code>a domain</code>
<code> </code><code>inject-nmi Inject NMI to the guest</code>
<code> </code><code>send-key Send keycodes to the guest</code>
<code> </code><code>managedsave managed save of a domain state</code>
<code> </code><code>managedsave-remove Remove managed save of a domain</code>
<code> </code><code>maxvcpus connection vcpu maximum</code>
<code> </code><code>memtune Get </code><code>or</code> <code>set memory parameters</code>
<code> </code><code>migrate migrate domain to another host</code>
<code> </code><code>migrate-setmaxdowntime set maximum tolerable downtime</code>
<code> </code><code>migrate-setspeed Set the maximum migration bandwidth</code>
<code> </code><code>migrate-getspeed Get the maximum migration bandwidth</code>
<code> </code><code>numatune Get </code><code>or</code> <code>set numa parameters</code>
<code> </code><code>reboot reboot a domain</code>
<code> </code><code>reset reset a domain</code>
<code> </code><code>restore restore a domain </code><code>from</code> <code>a saved state </code><code>in</code> <code>a file</code>
<code> </code><code>resume resume a domain</code>
<code> </code><code>save save a domain state to a file</code>
<code> </code><code>save-image-define redefine the XML </code><code>for</code> <code>a domain's saved state file</code>
<code> </code><code>save-image-dumpxml saved state domain information </code><code>in</code> <code>XML</code>
<code> </code><code>save-image-edit edit XML </code><code>for</code> <code>a domain's saved state file</code>
<code> </code><code>schedinfo show/set scheduler parameters</code>
<code> </code><code>screenshot take a screenshot of a current domain console </code><code>and</code> <code>store it </code><code>into</code> <code>a file</code>
<code> </code><code>setmaxmem change maximum memory limit</code>
<code> </code><code>setmem change memory allocation</code>
<code> </code><code>setvcpus change number of virtual CPUs</code>
<code> </code><code>shutdown gracefully shutdown a domain</code>
<code> </code><code>start start a (previously defined) inactive domain</code>
<code> </code><code>suspend suspend a domain</code>
<code> </code><code>ttyconsole tty console</code>
<code> </code><code>undefine undefine a domain</code>
<code> </code><code>update-device update device </code><code>from</code> <code>an XML file</code>
<code> </code><code>vcpucount domain vcpu counts</code>
<code> </code><code>vcpuinfo detailed domain vcpu information</code>
<code> </code><code>vcpupin control </code><code>or</code> <code>query domain vcpu affinity</code>
<code> </code><code>emulatorpin control </code><code>or</code> <code>query domain emulator affinity</code>
<code> </code><code>vncdisplay vnc display</code>
<code> </code><code>Domain Monitoring (help keyword </code><code>'monitor'</code><code>):</code>
<code> </code><code>domblkerror Show errors </code><code>on</code> <code>block devices</code>
<code> </code><code>domblkinfo domain block device size information</code>
<code> </code><code>domblklist list all domain blocks</code>
<code> </code><code>domblkstat get device block stats </code><code>for</code> <code>a domain</code>
<code> </code><code>domcontrol domain control interface state</code>
<code> </code><code>domif-getlink get link state of a virtual interface</code>
<code> </code><code>domiflist list all domain virtual interfaces</code>
<code> </code><code>domifstat get network interface stats </code><code>for</code> <code>a domain</code>
<code> </code><code>dominfo domain information</code>
<code> </code><code>dommemstat get memory statistics </code><code>for</code> <code>a domain</code>
<code> </code><code>domstate domain state</code>
<code> </code><code>list list domains</code>
<code> </code><code>Host </code><code>and</code> <code>Hypervisor (help keyword </code><code>'host'</code><code>):</code>
<code> </code><code>capabilities capabilities</code>
<code> </code><code>connect (re)connect to hypervisor</code>
<code> </code><code>freecell NUMA free memory</code>
<code> </code><code>hostname print the hypervisor hostname</code>
<code> </code><code>node-memory-tune Get </code><code>or</code> <code>set node memory parameters</code>
<code> </code><code>nodecpustats Prints cpu stats of the node.</code>
<code> </code><code>nodeinfo node information</code>
<code> </code><code>nodememstats Prints memory stats of the node.</code>
<code> </code><code>nodesuspend suspend the host node </code><code>for</code> <code>a given time duration</code>
<code> </code><code>qemu-attach QEMU Attach</code>
<code> </code><code>qemu-monitor-command QEMU Monitor Command</code>
<code> </code><code>qemu-agent-command QEMU Guest Agent Command</code>
<code> </code><code>sysinfo print the hypervisor sysinfo</code>
<code> </code><code>uri print the hypervisor canonical URI</code>
<code> </code><code>version show version</code>
<code> </code><code>Interface (help keyword </code><code>'interface'</code><code>):</code>
<code> </code><code>iface-begin create a snapshot of current interfaces settings, which can be later committed (iface-commit) </code><code>or</code> <code>restored (iface-rollback)</code>
<code> </code><code>iface-bridge create a bridge device </code><code>and</code> <code>attach an existing network device to it</code>
<code> </code><code>iface-commit commit changes made since iface-begin </code><code>and</code> <code>free restore point</code>
<code> </code><code>iface-define define (but don't start) a physical host interface </code><code>from</code> <code>an XML file</code>
<code> </code><code>iface-destroy destroy a physical host interface (disable it / </code><code>"if-down"</code><code>)</code>
<code> </code><code>iface-dumpxml interface information </code><code>in</code> <code>XML</code>
<code> </code><code>iface-edit edit XML configuration </code><code>for</code> <code>a physical host interface</code>
<code> </code><code>iface-list list physical host interfaces</code>
<code> </code><code>iface-mac convert an interface name to interface MAC address</code>
<code> </code><code>iface-name convert an interface MAC address to interface name</code>
<code> </code><code>iface-rollback rollback to previous saved configuration created via iface-begin</code>
<code> </code><code>iface-start start a physical host interface (enable it / </code><code>"if-up"</code><code>)</code>
<code> </code><code>iface-unbridge undefine a bridge device </code><code>after</code> <code>detaching its slave device</code>
<code> </code><code>iface-undefine undefine a physical host interface (remove it </code><code>from</code> <code>configuration)</code>
<code> </code><code>Network Filter (help keyword </code><code>'filter'</code><code>):</code>
<code> </code><code>nwfilter-define define </code><code>or</code> <code>update a network filter </code><code>from</code> <code>an XML file</code>
<code> </code><code>nwfilter-dumpxml network filter information </code><code>in</code> <code>XML</code>
<code> </code><code>nwfilter-edit edit XML configuration </code><code>for</code> <code>a network filter</code>
<code> </code><code>nwfilter-list list network filters</code>
<code> </code><code>nwfilter-undefine undefine a network filter</code>
<code> </code><code>Networking (help keyword </code><code>'network'</code><code>):</code>
<code> </code><code>net-autostart autostart a network</code>
<code> </code><code>net-create create a network </code><code>from</code> <code>an XML file</code>
<code> </code><code>net-define define (but don't start) a network </code><code>from</code> <code>an XML file</code>
<code> </code><code>net-destroy destroy (stop) a network</code>
<code> </code><code>net-dumpxml network information </code><code>in</code> <code>XML</code>
<code> </code><code>net-edit edit XML configuration </code><code>for</code> <code>a network</code>
<code> </code><code>net-info network information</code>
<code> </code><code>net-list list networks</code>
<code> </code><code>net-name convert a network UUID to network name</code>
<code> </code><code>net-start start a (previously defined) inactive network</code>
<code> </code><code>net-undefine undefine an inactive network</code>
<code> </code><code>net-update update parts of an existing network's configuration</code>
<code> </code><code>net-uuid convert a network name to network UUID</code>
<code> </code><code>Node Device (help keyword </code><code>'nodedev'</code><code>):</code>
<code> </code><code>nodedev-create create a device defined by an XML file </code><code>on</code> <code>the node</code>
<code> </code><code>nodedev-destroy destroy (stop) a device </code><code>on</code> <code>the node</code>
<code> </code><code>nodedev-detach detach node device </code><code>from</code> <code>its device driver</code>
<code> </code><code>nodedev-dumpxml node device details </code><code>in</code> <code>XML</code>
<code> </code><code>nodedev-list enumerate devices </code><code>on</code> <code>this</code> <code>host</code>
<code> </code><code>nodedev-reattach reattach node device to its device driver</code>
<code> </code><code>nodedev-reset reset node device</code>
<code> </code><code>Secret (help keyword </code><code>'secret'</code><code>):</code>
<code> </code><code>secret-define define </code><code>or</code> <code>modify a secret </code><code>from</code> <code>an XML file</code>
<code> </code><code>secret-dumpxml secret attributes </code><code>in</code> <code>XML</code>
<code> </code><code>secret-get-value Output a secret value</code>
<code> </code><code>secret-list list secrets</code>
<code> </code><code>secret-set-value set a secret value</code>
<code> </code><code>secret-undefine undefine a secret</code>
<code> </code><code>Snapshot (help keyword </code><code>'snapshot'</code><code>):</code>
<code> </code><code>snapshot-create Create a snapshot </code><code>from</code> <code>XML</code>
<code> </code><code>snapshot-create-</code><code>as</code> <code>Create a snapshot </code><code>from</code> <code>a set of args</code>
<code> </code><code>snapshot-current Get </code><code>or</code> <code>set the current snapshot</code>
<code> </code><code>snapshot-</code><code>delete</code> <code>Delete a domain snapshot</code>
<code> </code><code>snapshot-dumpxml Dump XML </code><code>for</code> <code>a domain snapshot</code>
<code> </code><code>snapshot-edit edit XML </code><code>for</code> <code>a snapshot</code>
<code> </code><code>snapshot-info snapshot information</code>
<code> </code><code>snapshot-list List snapshots </code><code>for</code> <code>a domain</code>
<code> </code><code>snapshot-parent Get the name of the parent of a snapshot</code>
<code> </code><code>snapshot-revert Revert a domain to a snapshot</code>
<code> </code><code>Storage Pool (help keyword </code><code>'pool'</code><code>):</code>
<code> </code><code>find-storage-pool-sources-</code><code>as</code> <code>find potential storage pool sources</code>
<code> </code><code>find-storage-pool-sources discover potential storage pool sources</code>
<code> </code><code>pool-autostart autostart a pool</code>
<code> </code><code>pool-build build a pool</code>
<code> </code><code>pool-create-</code><code>as</code> <code>create a pool </code><code>from</code> <code>a set of args</code>
<code> </code><code>pool-create create a pool </code><code>from</code> <code>an XML file</code>
<code> </code><code>pool-define-</code><code>as</code> <code>define a pool </code><code>from</code> <code>a set of args</code>
<code> </code><code>pool-define define (but don't start) a pool </code><code>from</code> <code>an XML file</code>
<code> </code><code>pool-</code><code>delete</code> <code>delete</code> <code>a pool</code>
<code> </code><code>pool-destroy destroy (stop) a pool</code>
<code> </code><code>pool-dumpxml pool information </code><code>in</code> <code>XML</code>
<code> </code><code>pool-edit edit XML configuration </code><code>for</code> <code>a storage pool</code>
<code> </code><code>pool-info storage pool information</code>
<code> </code><code>pool-list list pools</code>
<code> </code><code>pool-name convert a pool UUID to pool name</code>
<code> </code><code>pool-refresh refresh a pool</code>
<code> </code><code>pool-start start a (previously defined) inactive pool</code>
<code> </code><code>pool-undefine undefine an inactive pool</code>
<code> </code><code>pool-uuid convert a pool name to pool UUID</code>
<code> </code><code>Storage Volume (help keyword </code><code>'volume'</code><code>):</code>
<code> </code><code>vol-clone clone a volume.</code>
<code> </code><code>vol-create-</code><code>as</code> <code>create a volume </code><code>from</code> <code>a set of args</code>
<code> </code><code>vol-create create a vol </code><code>from</code> <code>an XML file</code>
<code> </code><code>vol-create-</code><code>from</code> <code>create a vol, using another volume </code><code>as</code> <code>input</code>
<code> </code><code>vol-</code><code>delete</code> <code>delete</code> <code>a vol</code>
<code> </code><code>vol-download Download a volume to a file</code>
<code> </code><code>vol-dumpxml vol information </code><code>in</code> <code>XML</code>
<code> </code><code>vol-info storage vol information</code>
<code> </code><code>vol-key returns the volume key </code><code>for</code> <code>a given volume name </code><code>or</code> <code>path</code>
<code> </code><code>vol-list list vols</code>
<code> </code><code>vol-name returns the volume name </code><code>for</code> <code>a given volume key </code><code>or</code> <code>path</code>
<code> </code><code>vol-path returns the volume path </code><code>for</code> <code>a given volume name </code><code>or</code> <code>key</code>
<code> </code><code>vol-pool returns the storage pool </code><code>for</code> <code>a given volume key </code><code>or</code> <code>path</code>
<code> </code><code>vol-resize resize a vol</code>
<code> </code><code>vol-upload upload a file </code><code>into</code> <code>a volume</code>
<code> </code><code>vol-wipe wipe a vol</code>
<code> </code><code>Virsh itself (help keyword </code><code>'virsh'</code><code>):</code>
<code> </code><code>cd change the current directory</code>
<code> </code><code>echo echo arguments</code>
<code> </code><code>exit quit </code><code>this</code> <code>interactive terminal</code>
<code> </code><code>help print help</code>
<code> </code><code>pwd print the current directory</code>
<code> </code><code>quit quit </code><code>this</code> <code>interactive terminal</code>
virsh # start rh6
Domain rh6 started
virsh # list
Id Name State
----------------------------------------------------
1 rh6 running
virsh # console
error: command 'console' requires <domain> option
virsh # console rh6
Connected to domain rh6
Escape character is ^]
本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1716631,如需转载请自行联系原作者