在Debian Lenny服务器上使用KVM进行虚拟化
版本1.0
作者:Falko Timme
本指南介绍如何安装和使用KVM在Debian Lenny服务器上创建和运行虚拟机。 我将演示如何创建基于图像的虚拟机以及使用逻辑卷(LVM)的虚拟机。 KVM是基于内核的虚拟机的缩写,并利用硬件虚拟化,即需要一个支持硬件虚拟化的CPU,例如Intel VT或AMD-V。
我不会保证这将为您工作!
1初步说明
我使用的主机名为server1.example.com
,IP地址为192.168.0.100的机器
作为我的KVM主机。
我们还需要一个桌面系统,我们安装virt-manager,以便我们可以连接到我们安装的虚拟机的图形控制台。 我在这里使用Ubuntu 8.10桌面。
2安装KVM
Debian Lenny KVM主机:
首先检查您的CPU是否支持硬件虚拟化 - 如果是这种情况,该命令
egrep '(vmx|svm)' --color=always /proc/cpuinfo
应该显示一些东西,例如:
server1:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall
nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall
nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
server1:~#
如果没有显示任何内容,那么您的处理器不支持硬件虚拟化,您必须停止在这里。
要安装KVM和virtinst
(创建虚拟机的工具),我们运行
aptitude install kvm libvirt-bin virtinst
之后,我们必须将我们当前登录的用户( root
)添加到组libvirt中
:
adduser `id -un` libvirt
您需要注销并重新登录才能使新组成员身份生效。
要检查KVM是否已成功安装,请运行
virsh -c qemu:///system list
它应该显示如下:
server1:~# virsh -c qemu:///system list
Id Name State
----------------------------------
server1:~#
如果它显示错误,那么出现问题。
接下来,我们需要在我们的服务器上设置一个网桥,以便我们的虚拟机可以从其他主机访问,就像它们是网络中的物理系统一样。
为此,我们安装了包bridge-utils
...
aptitude install bridge-utils
...并配置一个桥。 打开/ etc / network / interfaces
:
vi /etc/network/interfaces
在修改之前,我的文件如下所示:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug eth0 #iface eth0 inet dhcp auto eth0 iface eth0 inet static address 192.168.0.100 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 |
我改变它,使它看起来像这样:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug eth0 #iface eth0 inet dhcp auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.0.100 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1 bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off |
(确保您的网络使用正确的设置!)
重新启动网络...
/etc/init.d/networking restart
...运行
ifconfig
现在应该显示网桥( br0
):
server1:~# ifconfig
br0 Link encap:Ethernet HWaddr 00:1e:90:f3:f0:02
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:350 (350.0 B) TX bytes:1456 (1.4 KiB)
eth0 Link encap:Ethernet HWaddr 00:1e:90:f3:f0:02
inet6 addr: fe80::21e:90ff:fef3:f002/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43262 errors:0 dropped:0 overruns:0 frame:0
TX packets:23574 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:63379451 (60.4 MiB) TX bytes:1868584 (1.7 MiB)
Interrupt:251 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 B) TX bytes:560 (560.0 B)
server1:~#
3安装virt-viewer或virt-manager在您的Ubuntu 8.10桌面上
Ubuntu 8.10桌面:
我们需要一种连接到我们客人的图形控制台的方法 - 我们可以使用virt-manager(参见KVM Guest Management with Ubuntu 8.10中的Virt-Manager )。 我假设你使用的是Ubuntu 8.10桌面。
跑
sudo aptitude install virt-manager
安装virt-manager。
4创建Debian Lenny Guest(基于图像)
Debian Lenny KVM主机:
现在我们回到Debian Lenny KVM主机。
看一眼
man virt-install
学习如何使用它。
要创建名为vm10,512MB
RAM,两个虚拟CPU和磁盘映像〜/ vm10.qcow2
(大小为12GB)的Debian Lenny guest虚拟机(桥接模式),请将Debian Lenny Netinstall CD插入CD驱动和运行
virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c /dev/cdrom --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm
当然,您还可以创建Debian Lenny Netinstall CD的ISO映像...
dd if=/dev/cdrom of=~/debian-500-amd64-netinst.iso
...并在virt-install命令中使用ISO映像:
virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm
输出如下:
server1:~# virt-install --connect qemu:///system -n vm10 -r 512 --vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso --vnc --noautoconsole --os-type linux --os-variant debianLenny --accelerate --network=bridge:br0 --hvm
Starting install...
Creating storage file... 100% |=========================| 12 GB 00:00
Creating domain... 0 B 00:00
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
server1:~#