KVM虚拟机的安装

1、首先用命令egrep -c '(vmx|svm)' /proc/cpuinfo检查看是否支持虚拟如果返回0则表示CPU不支持虚拟,这样安装会不成功,如果返回结果为1或者大于1到数字则表示CPU支持虚拟。也可以用命令kvm-ok查看CPU支持虚拟不。

2、在bios里面到高级选项里面开启虚拟,即将Virtualization technology(或者是Vanderpool technology)该为enable

3、确保内核版本支持kvm,用命令uname -r查看内核版本,如果在2.6.20以下的linux版本,需升级内核,用命令uname -m查看运行到系统到内核时多少位到,如果返回为x86_64表示你到系统运行到内核时64位。用命令egrep -c ' lm ' /proc/cpuinfo查看你到CPU是否时64位的,如果返回0表示你到CPU不时64位到,否则返回1或者更高数字表示你到CPU时64位。

4、安装kvm
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils 安装成功后会有/dev/kvm,再来查看下KVM是否安装成功,执行:virsh -c qemu:///system list
  如果输入结果像下面这样的,那么成功了:
  Connecting to uri: qemu:///system
  Id Name State
  ----------------------------------
可以用以下命令来检查是否装入kvm模块:
  /sbin/lsmod | grep kvm
  如果输出关于kvm版本的信息则已装入kvm模块
如果是在图形界面管理kvm则可以安装管理工具sudo apt-get install virt-manager

5、在kvm下安装虚拟机
先要用kvm-img命令创建一个虚拟磁盘,mkdir /home/xiaoyu/kvm, cd kvm, kvm-img create -f qcow2 ubuntu.img 10G //-f qcow2 的意思是创造一个文件 ,最大大小是10G
create意思是创建一个新的磁盘,-f指定该磁盘的类型这里选择qcow2,qemu的磁盘大小是随着需要可以自动的增大的,所以初始可以选择小点。(此处也可以用旧的命令qemu-img来创建,如果qemu-img create -f qcow2 ubuntu.img 10G)

虚拟磁盘创建好了,我们就可以安装系统了,无论386还是64位的机器都用kvm命令
kvm -m 1024 -drive file=/home/cbpos/kvm/ubuntu.img,cache=writeback -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot d (-vnc IP:1) -cdrom /home/cbpos/ubuntu-10.04.2-server-amd64.iso -no-acpi
-drive file cache=writeback指定了虚拟磁盘文件,这里用我们刚刚创建的ubuntu.img,并启用writeback缓存
model=virtio  通过virtio(高速网络)来使用网络,速度可以接近真实网卡的速度,以后在启动虚拟机命令后面加上-net nic,model=virtio就可以了。
-cdrom指定cdrom是那一个,可以用iso文件,也可以用机器的光驱,我们选择用iso文件,如果用光驱尝试-cdrom /dev/cdrom
-boot指定XP启动的时候从磁盘,硬盘,光驱还是网路上启动,我们安装的时候选择从光盘启动,所以用d
-m虚拟机使用的内存大小,单位是MB,默认是128mb,我用的是1024,因为我内存大,呵呵。
-no-acpi由于qemu支持不太好会导致系统很慢,所以我们暂时禁止掉。
注意:按照以往的方法是用-hda /home/cbpos/kvm/ubuntu.img的方法来使用虚拟磁盘,现在版本更新以后用 -drive file=/home/cbpos/kvm/ubuntu.img,cache=writeback来使用虚拟磁盘,因为-hda/hdb参数主要是用户使用物理硬盘上的一个分区,这样磁盘性能不好。
-vnc IP:3389 IP是主机的IP地址,3389是端口号,这样用户可以远程桌面或者用ubuntu自带到终端服务客户断连接到虚拟机安装系统。(此选项一般不要)

如果有需要用图形界面管理虚拟机则可以安装图形界面工具sudo apt-get install virt-manager
注意:
如果时在服务器里安装虚拟系统可能会出现Could not initialize SDL - exiting到问题,则需要在终端中用命令ssh -X user@server登录到服务器,然后在安装虚拟系统。

6、kvm安装好虚拟系统后就可以启动系统(使用qemu-system-x86_64启动虚拟系统,效率及其低下,换用kvm启动虚拟系统就OK)。
使用root帐号启动虚拟机,命令如下:
kvm -m 1024 -drive file=/home/cbpos/kvm/ubuntu.img,cache=writeback -net nic,vlan=0,model=virtio,macaddr=52-54-00-12-34-01 -net tap,vlan=0,ifname=tap0,script=no -boot c -nographic -daemonize 来boot启动系统。(-boot c表示从硬盘启动)
注意:-nographic -daemonize是当主机时服务器,没有图形界面时,让虚拟机在后台运行,然后通过ssh连接虚拟机,操作使用虚拟机。
启动虚拟机到时候如果出现一下警告:
warning: could not configure /dev/net/tun: no virtual network emulation
可能是没有用root帐号启动虚拟机,也可能需要更改/dev/net/tun到权限
sudo chmod 666 /dev/net/tun

用kvm启动虚拟机时如果出现以下错误
pci_add_option_rom:failed to find romfile "pxe-rtl8139.bin" 这是因为我们还需要安装kvm-pxe,sudo apt-get install kvm-pxe
但是往往会出错误,Q: qemu: could not load PC BIOS 'bios.bin'A: 请先安装qemu 0.12.3 和qemu-common ,就可以解决,最核心的问题在于 qemu-common 提供系统启动所需
要的 bios.bin,video.bin等。

7、当关闭虚拟机以后会将主机到虚拟机所对应到tap端口关闭,如果重新启动该虚拟机后ping不通该虚拟机则需要在主机用命令sudo ifconfig tap0 up启动tap端口,再用命令sudo /etc/init.d/networking restart重新启动网络服务就好了(这里假设该虚拟机对应的是tap0)。

8、要注意,系统重启后要重新加载kvm内核模块:
sudo modprobe kvm
sudo modprobe kvm-amd   //如果使用AMD处理器
sudo modprobe kvm-intel   //如果是用INTEL处理器
当然,你也可以修改系统相关设置在启动时自动加载该模块,方法时在/etc/modules中添加下面两行,使系统启动的时候自动读入kvm,kvm-intel模块
引用(intel):
kvm
kvm-intel

或者(AMD)
引用:
kvm
kvm-amd 。

9、设置自动开机启动虚拟机
只需编辑/etc/init.d/rc.local文件,在最后加上你的脚本即可。
比如:我已经编写了一个脚本posftp.sh,存放在/home/posserver/Desktop/ 下面
在终端输入 gedit /etc/init.d/rc.local编辑文件,在结尾出加入:
/home/posserver/Desktop/posftp.sh 即可开机自动加载脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值