Monday, July 07, 2008

Ubuntu hardy 中安装 KVM 速记

kvm hit the road

介绍

KVM(Kernel-based Virtual Machine) 是 X86 平台上基于 linux kernel 的全虚拟化技术,通过 Intel-VTAMD-V 技术实现全虚拟化。Linux kernel 自 2.6.20 已经包含了 KVM,各大发行版也陆续提供支持。

准备工作

本文以 Ubuntu hardy 为例记录安装过程。

系统环境

OS: Ubuntu hardy 8.04 64bit
Kernel: 2.6.24-19-generic SMP x86_64 GNU/Linux
Hardware: Macbook Pro 3rd(Santa rose), Intel(R) Core(TM)2 Duo CPU     T7500  @ 2.20GHz

检查 CPU

KVM 需要 CPU 支持原生虚拟以得到最佳性能,官方文档称当 CPU 不支持原生虚拟时,将自动回退到 qemu 模拟方式。Ubuntu 中如果系统不支持原生虚拟,KVM 将拒绝启动,检查 CPU 是否支持原生虚拟:

$egrep '(vmx|svm)' /proc/cpuinfo

有输出即说明 CPU 支持原生虚拟。

安装 KVM

$sudo aptitude install kvm

安装 guest 系统

#mkdir -p /media/work/kvm/
#qemu-img create -f qcow2 /media/work/kvm/hda.qcow2 10G
#kvm -hda /media/work/kvm/hda.qcow2 -m 256 -vnc :0 -daemonize -cdrom /media/ENT/iso/Windows.XP.Professional.VLK.CN.SP2.full.iso -boot d
  • qcow2 是 qemu 支持的硬盘镜像格式之一,支持 snapshots 以及 AES 加密,zlib 压缩,其它格式可以参考 man qemu-img
  • ext3、NTFS 文件系统支持打孔,只有实际写入的扇区才会占用存储空间
  • KVM 启动参数指定 guest 内存为 256M,以 CDROM 启动

kvm 以 daemon 方式运行,通过 vnc 访问:

$xvncviewer localhost:5900

Windows 安装完成后,关闭系统kvm 进程会自动关闭。如需重启:

#kvm -hda /media/work/kvm/hda.qcow2 -m 256 -vnc :0 -daemonize

系统同样可以通过 VNC 来访问。

网络

默认启动 kvm 或者参数 kvm -net nic -net user 将创建一个 10.0.2.0/24 的网络:

         QEMU VLAN      <------>  Firewall/DHCP server <-----> Internet
                           |          (10.0.2.2)
                           |
                           ---->  DNS server (10.0.2.3)
                           |
                           ---->  SMB server (10.0.2.4)

guest 系统从 10.0.2.15 开始依次分配 IP 地址,VNC 登入 Windows,系统已通过 DHCP 分配到 10.0.2.15 IP地址,Windows 系统此时已经可以正常访问网络。如果不需要提供外部服务的话,默认的网络方式已经可以,非常简便。

links

No comments:

Post a Comment