如何轻松实现虚拟化:KVM的使用窍门技巧



  .KVM介绍

  虚拟化技术已经成为未来计算机技术个重要发展方向.linux在虚拟化方面已经有了很多中解决方案:VMware,VirtualBox,Xen和KVM

  KVM是个全虚拟化解决方案可以在x86架构计算机上实现虚拟化功能但KVM需要CPU中虚拟化功能支持只可在具有虚拟化支持CPU上运行即具有VT功能Intel CPU和具有AMD-V功能AMD CPU

  Xen和KVM比较

  Xen也是Linux下个虚拟化解决方案,也将很快被编入内核中Xen实现思路方法是,运行支持Xen功能kernel,这个kernel是工作在Xen控制的下,叫做Do0,使用这个kernel启动机器后,你可以在这个机器上使用qemu软件Software,虚拟出多个系统Xen缺点是,如果你需要更新Xen版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动

  相比较,KVM就简化多了它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载.ko模块它结构更加精简,代码量更小,所以,出错可能性更小并且在某些方面,性能比Xen更胜

   2.KVM使用

  现在以Turbolinux 11版本为基础,介绍KVM使用思路方法

  在安装的前,你需要先确认,你CPU是否支持虚拟化技术,执行:

  # egrep '^flags.*(vmx|svm)' /proc/cpuinfo

  如果有输出返回,则表示,你CPU支持虚拟化技术

  1.KVM安装

  从官方网站WebSite下载KVM源码包:http://kvm.qumranet.com/

  我们使用KVM-33版本

  # tar zxf kvm-33.tar.gz

  # cd kvm-33

  # ./configure --prefix=/usr/local/kvm-33

  # make

  # make

  make 后,kvm模块会安装到/lib/modules/$KernelVersion/extra/目录下.其他相关文件会安装到/usr/local/kvm-33/目录下

  将kvm相关目录连接到系统目录中

  # ln -s /usr/local/kvm-33/bin/* /usr/bin/

  # ln -s /usr/local/kvm-33/lib/* /usr/lib/

  (若为x86_64系统,则执行: ln -s /usr/local/kvm-33/lib64/* /usr/lib64/)

  # ln -s /usr/local/kvm-33//kvmctl.h /usr//

  # ln -s /usr/local/kvm-33//linux/* /usr//linux/

  # ln -s /usr/local/kvm-33/share/qemu /usr/share/

  2.KVM使用

  a.你需要先建立个映像文件,作为虚拟系统硬盘

  # mkdir /images

  # cd /images

  # /usr/bin/qemu-img -f qcow gtes11.img 20G

  b.创建网络配置脚本

  # echo '/sbin/config $1 10.0.1.1 netmask 255.255.255.0' > /etc/qemu-up

  c.加载KVM模块

  Intel CPU使用:

  # modprobe kvm-el

  AMD CPU使用:

  # modprobe kvm-amd

  d.安装虚拟系统

  # /usr/bin/qemu-i386 -m 512 -k en-us -M pc -hda /images/gtes11.img -cdrom /iso/zuma-SP3-rc3-6-\

  disc1-20061031.iso -net nic,vlan=1,model=rtl8139,macaddr=00:00:00:00:99:01 -net tap,vlan=1,name=tap0,\

  script=/etc/qemu-up -vnc localhost:1 -boot d

  在另个终端执行:

  # vncviewer localhost:1

  参数分析:

  我们为虚拟系统分配512MB内存.使用gtes11.img作为它块硬盘,使用Turbolinux10.5disc1作为它光盘

  并从光盘引导.它有块rtl8139网卡,MAC地址为:00:00:00:00:99:01,并把这个网卡和主机tap0接口连接

  tap0接口使用/etc/qemu-up脚本进行化.虚拟系统输出作为个vnc服务器,绑定在主机localhost:1上

  注:

  1.若为x86_64系统,则使用/usr/bin/qemu-system-x86_64 代替qemu-i386

  2.在64位系统上,可以安装32位和64位虚拟系统.但在32位系统上,只能安装32位虚拟系统

  qemu参数介绍:

  -da 映像文件: 使用映像文件作为虚拟系统块硬盘.同样还可以使用hdb,hdc,hdd指定第2,3,4块硬盘

  -drom 光盘映像文件: 使用光盘映像文件作为虚拟系统光盘

  -oot [a|c|d|n]: 设置虚拟系统引导顺序,a为软驱,c为硬盘,d为光驱,n为网络

  - 内存大小: 设置虚拟系统使用内存大小,单位为MB

  - 语言: 设置虚拟系统键盘类型

  -et nic[,vlan=n][,macaddr=addr][,model=type]

  建立个虚拟网卡,并把它连接到VLANn端口上

  -net tap[,vlan=n][,fd=h][,name=name][,script=file]

  把主机TAP网络接口连接到VLANn端口上,并使用script指定脚本进行

Tags: 

延伸阅读

最新评论

发表评论