• KVM虚拟机介绍


    一 KVM虚拟机简介
    kernel-based Virtual Machine的简称,是一个开源的 系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
    KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于 软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到 进程调度器, 存储管理模块等,所以代码较为庞大。广为流传的 商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
    二 KVM虚拟机安装与使用
    1 前期准备
    1.1确定机器有VT
    终端输入命令:   grep vmx /proc/cpuinfo   (INTEL芯片)
    grep   svm  /proc/cpuinfo   (AMD芯片)
    不知道芯片的生产厂商则输入:egrep '(vmx| svm)' /proc/cpuinfo
    如果flags: 里有vmx 或者 svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。
    1.2 确保BIOS里开启VT:
    Intel(R) Virtualization Tech [Enabled]
    如有必要,还需在BIOS中开启VT-d
    1.3 确保内核版本较新,支持KVM
    用uname –r查看 内核版本,如果在2.6.20以下的linux版本,需升级内核。
    2安装KVM
    下面就Ubuntu和CentOS下安装使用KVM虚拟机做介绍:
    Ubuntu 中用guest登陆,安装KVM的命令为:
    sudo   apt-get  install  kvm qemu qemu-kvm virt-manager  kernel-package linux-source kqemu-source build-essential
    kvm安装成功后会有/dev/kvm,如果无需图形管理器,只需要安装前三个即可。
    再来查看下KVM是否安装成功,执行:virsh -c qemu:///system list
    如果输入结果像下面这样的,那么成功了:
    Connecting to uri: qemu:///system
    Id Name                 State
    ----------------------------------
    注1:CentOS中安装时,先要选择Selinux为enalble,使用命令
    #system-config-securitylevel-tui
    可查看或修改selinux的状态。
    注2: CentOS中用root登陆时则安装命令为:
    yum install kvm kmod-kvm qemu
    再装入kvm模块:modprobe kvm-intel (Intel机器) 或者 modprobe kvm-amd (amd机器)
    注3:可以用以下命令来检查是否装入kvm模块:
    /sbin/lsmod | grep kvm
    如果输出关于kvm版本的信息则已装入kvm模块
    注4: 安装好后,可使用qemu-kvm命令,输入该命令,如果系统显示未知的命令,可查看/usr/libexec中是否有qemu-kvm 可执行文件,如果有,将其拷贝到/bin目录下即可。如果确实按照上面的步骤进行了,却在/bin,/usr/libexec,/usr/bin,/usr/sbin里都找不到qemu-kvm 可执行文件,可执行以下命令:
    #yum provides "*/qemu-kvm"
    注5:安装新 内核后,可能有部分 软件版本过低,不兼容。比如firefox因版本过低,无法启动。
    CentOS下可使用如下命令更新该 软件(以firefox为例):
    #yum update firefox
    3 在KVM下安装虚拟机
    3.1用QEMU创建磁盘镜像
    sudo qemu-img create –f qcow windows.img 8G
    注:在CentOS和新版Qemu中为:qemu-img create –f qcow2 windows.img 8G
    3.2使用KVM安装Guest VM
    光盘安装:
    sudo kvm –localtime –cdrom /dev/cdrom -m 512 -boot d win2.img
    sudo kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d –clock –rtc –no-acpi
    注:官方推荐使用 -no-acpi 参数,原因是 qemu/kvm不太支持,可能造成 cpu 的占用偏高。
    注1:CentOS下硬盘安装  qemu-kvm –localtime –m 512 –hda windows.img –cdrom winxp.iso –boot d  –no-acpi      即需要去掉了-clock rtc选项,否则会出现无法初始化时钟。
    注2:CentOS quest mouse: export SDL_VIDEO_X11_DGAMOUSE=0可解决VM中无法识别USB鼠标的问题。
    注3: 安装win 7时,不能使用-no-acpi选项。
    4 KVM启动Guest
     sudo kvm  –boot c –m 512
    –hda windows.img
    ② sudo kvm -boot c
    -m 512
    -hda /home/lm/kvm/winxp.img
    -localtime
    -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tap0,script=no
    -clock rtc
    -soundhw es1370
    -smp 2
    注意:在KVM-87下,请去掉df=h
    -m 512 分配512MB的内存
    -hda /home/lm/kvm/winxp.img
    -localtime 使用本地时间(一定要加这个参数,不然虚拟机时间会有问题)
    -net nic,vlan=0,macaddr=52-54-00-12-34-01 -net tap,vlan=0,df=h,ifname=tapo,script=no
    使用网络,并连接到一个存在的网络设备tap0,注意mac地址一定要自己编一个,特别是如果你虚拟了多个系统并且要同时运行的话,不然就MAC冲突了,在KVM-87下去掉df=h
    -boot d 从 光盘启动 (从 镜像启动也是用这个。从硬盘启动则为 -boot c )
    -smp 2 smp处理器个数为2个,如果你是4核处理器,后面的数字就为4
    -clock rtc
    使用rtc时钟(如果不开启此选项,WINXP可能会很慢)
  • 相关阅读:
    Filter&Listener
    jsp&mvc开发模式&jstl标签&三层架构
    Tomcat&Servlet
    xml
    SpringMVC
    io流-缓冲流
    io流-文件流节点流
    Io流
    JAVA中反射机制
    IDEA 将web项目部署到tomcat中运行
  • 原文地址:https://www.cnblogs.com/pangblog/p/3285703.html
Copyright © 2020-2023  润新知