KVM 是 Linux 内核自带的虚拟机系统, 使用它,你的机器就可以变成几台机了
试用过程如下:
环境: Ubuntu 14.04 64bit
1, KVM需要CPU硬件支持虚拟化,所以首先要确认你的CPU支持。
Intel CPU的虚拟化技术叫 vmx (Virtual Machine eXtension,就是一串虚拟机指令集)
AMD CPU的虚拟化技术叫 svm
开机,进BIOS, 设置开启虚拟化
我的CPU是Intel的,BIOS是这样的: 选Security, 再进Virtualization项, 把各项设置成ENABLE,保存退出 。
有的BIOS是这样的: 选择ADVANCED,再进PROCESSOR CONFIGURATION找到 INTEL VIRTUALIZATION TECHNOLOGY ,把各项设置成ENABLE,保存退出 。
2, 启动 linux 系统 (强烈建议装64位的linux版本,否则虚拟机内存将被限制在2G之内)
(1)查看一下linux是32位还是64位
file /bin/ls
返回结果中将显示 64bit 或 32bit
(2)确认一下 CPU支持硬件虚拟化
egrep -o '(vmx|svm)' /proc/cpuinfo
如果有结果显示,就OK
3, 安装相关软件包
(为了下载快,安装前要把apt的源改为 163.com或sohu.com)
开始安装
$ sudo apt-get install qemu-kvm qemu-system libvirt-bin bridge-utils
-
libvirt-bin provides libvirtd which you need to administer qemu and kvm instances using libvirt
-
qemu-kvm 是虚拟机 (qemu is the backend)
-
bridge-utils 用于网络桥接 (provides a bridge from your network to the virtual machines)
sudo apt-get install virt-manager python-spice-client-gtk
其中:virt-manager为虚拟机管理程序(在x window中运行,需要用到python-spice-client-gtk)
执行下面的命令看KVM是否安装成功:
kvm-ok
输出如下:
INFO: /dev/kvm exists
KVM acceleration can be used
如果输出是这样:
INFO: Your CPU does not support KVM extensions
KVM acceleration can NOT be used
这表明你的CPU不支持硬件虚拟化。 这时你还是可以跑虚拟机,不过会非常慢。 如果你的CPU支持硬件虚拟化, 但BIOS没有打开,也会提示给你的
查看kvm内核模块是否已加载
sudo lsmod | grep kvm
若KVM内核没加载执行下面命令加载:
sudo modprobe kvm
4, 使用
(1) 初次使用,不太熟悉,还是装个 x window,用图形界面操作比较容易 (建议新手都这样做)
在Ubuntu server版下装 x window 的过程如下:
apt-get install xserver-xorg
apt-get install x-window-system-core
dpkg-reconfigure xserver-xorg
apt-get install gnome-core
apt-get install gdm xscreensaver
startx
(2)在 x win 中, 打开一个命令行窗口, 输入以下命令启动虚拟机管理程序
virt-manager
(3) 鼠标右键单击上图中的 localhost(QEMU) , 选菜单 New 创建一个虚拟机
按提示一步一步做即可
在网上下载一个 windows xp 精简版的 iso 文件
以这个iso文件为CD盘 (如果引导不起来,在虚拟机中设置中的Boot Options中设 CD盘优先启动)
启动这个新的虚拟机, 开始装Windows xp
(4) Windows xp 虚拟机装好了, 运行起来了
用这台虚拟机 ping www.baidu.com 没有问题,可上网
(3) 再创建一个新的虚拟机, 安装 Ubuntu Server.
在这台Ubuntu Server虚拟机上安装 LAMP
apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql phpmyadmin
chmod -R 777 /var/www
用Windows XP虚拟机访问 Ubuntu Server虚拟机的网站,OK. 说明这两台虚拟机已经连在一个内网上了。