系統環境:
作業系統: 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,如需轉載請自行聯系原作者