zoukankan      html  css  js  c++  java
  • KVM安装配置

    KVM   全称  Kernel-based Virtual Machine

    qemu 全称  Quick Emulator 

    virsh  全称  Virtual Shell

    一、安装准备

    1.确定机器有VT
    终端输入命令:
    grep vmx /proc/cpuinfo (INTEL芯片)
    grep svm  /proc/cpuinfo (AMD芯片)
    不知道芯片的生产厂商则输入:egrep  '(vmx|svm)' /proc/cpuinfo
    如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机
    2. 确保BIOS里开启VT
    Intel(R) Virtualization Tech [Enabled]
    如有必要,还需在BIOS中开启VT-d
    3. 确保内核版本较新,支持KVM
    用uname –r查看内核版本,如果在2.6.20以下的linux版本,需升级内核。
     
    二、安装KVM 
    1、 安装 KVM 和 virtinst (一个创建 virtual machines 的工具 )
    # yum install  kvm  qemu  libvirt  python-virtinst  -y
    2、重启后确认libvirtd是否正常启动
    # /etc/init.d/libvirtd  restart
    3、装完后记的重起,重起后检查模块是否有加载
    # lsmod |grep kvm
    kvm_intel              53484  0
    kvm                   316506  1 kvm_intel
    4、检查KVM是否成功安装,出现以下信息说明安装成功了
    # virsh list --all            ##--all关闭的也会显示
     Id         Name                         State
    ----------------------------------------------------
     
    5、安装桥接管理的工具
    # yum  install  bridge-utils
    6、安装 GUI 的管理软件
    # yum  install  virt-manager
    7、版本信息查询
    # virsh --version  
    8、修改qemu.conf配置
    # vim /etc/libvirt/qemu.conf
    vnc_listen = "0.0.0.0"  修改vnc监听端口
     
    参考资料:
    http://lvmy.iteye.com/blog/1297409
    http://www.server110.com/kvm/201404/10467.html
     
    三、KVM网卡桥接设置
    1、关闭 virbr0

    安装完成支持虚拟化相关包后,会自动建立一个名称为virbr0的虚拟网卡,在多网卡情况下,此网卡默认与eth1或em1网卡绑定,使用的是 NAT 模式(采用 IP Masquerade)。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。所以说这个virbr0不是必须的,不用的情况下为避免混乱建议关闭。

    默认的网络连接是virbr0,它的配置文件在/var/lib/libvirt/network目录下。

    # virsh net-list 
    Name                State      Autostart 
    ----------------------------------------- 
    default              active    yes
    # virsh net-destroy default 
    Network default destroyed 
    # virsh net-undefine default 
    Network default has been undefined 
    # service libvirtd restart 
    Stopping libvirtd daemon:                                  [  OK  ] 
    Starting libvirtd daemon:                                   [  OK  ]

    2、另外一种方式是bridge方式,可以使虚拟机成为网络中具有独立IP的主机。创建将要使用的br0虚拟网卡。

    #cd /etc/sysconfig/network-scripts/

    #cp ifcfg-em1 ifcfg-br0

    修改成如下效果:

    #cat ifcfg-em1  (IP地址、网关、DNS1等信息移至br0)

    DEVICE=em1
    TYPE=Ethernet
    ONBOOT=yes
    BOOTPROTO=static
    BRIDGE=virbr0
    HWADDR=C8:1F:66:F7:29:C8

    #cat ifcfg-br0  (HWADDR去除)

    DEVICE=br0
    TYPE=Bridge 
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=10.100.0.3
    NETMASK=255.255.255.0
    GATEWAY=10.100.0.254

    #service network restart

    3、查看修改后的网卡桥接信息和路由信息

    #brctl show

    #route

    配置完毕后通过ifconfig命令,em1口则不会显示地址信息,新配置的br0口代替em1口成为真机网口,装好的虚拟机em1口将与真机br0口互相通信。

    四、利用virsh工具管理生成虚拟机,virt-managerRedHat共享的一个开源虚拟化管理软件,它是用Python编写的GUI程序,底层使用了Libvirt对各类Hypervisor进行管理。

    # virsh list     //查看现有虚拟机信息

    # virt-manager  //打开图形化管理窗口

    新生成虚拟机硬盘img文件默认位置:/var/lib/libvirt/images/jia.img

    新生成虚拟机的配置文件默认位置:/etc/libvirt/qemu/jia.xml   这个文件只能用virsh edit 编辑用vi无效,修改相应的文件即可重新配置虚拟机。

    Virsh语法参考:

    Autostart                        自动开始一个域
    Create                           从一个 XML 文件创建一个域
    Define                           从一个 XML 文件定义(但不开始)一个域
    edit                               编辑某个域的 XML 配置
    shutdown                      关闭一个域
    start                             开始一个(以前定义的)非活跃的域
    reboot                          重新启动一个域
    suspend                        挂起一个域
    resume                         重新恢复一个域
    vncdisplay                     vnc 显示

    1. autostart         #自动加载指定的一个虚拟机  
    2. connect           #重新连接到hypervisor  
    3. console           #连接到客户会话  
    4. create            #从一个SML文件创建一个虚拟机  
    5. start             #开始一个非活跃的虚拟机  
    6. destroy           #删除一个虚拟机  
    7. define            #从一个XML文件定义一个虚拟机  
    8. domid             #把一个虚拟机名或UUID转换为ID  
    9. domuuid           #把一个郁闷或ID转换为UUID  
    10. dominfo           #查看虚拟机信息  
    11. domstate          #查看虚拟机状态  
    12. domblkstat        #获取虚拟机设备快状态  
    13. domifstat         #获取虚拟机网络接口状态  
    14. dumpxml           #XML中的虚拟机信息  
    15. edit              #编辑某个虚拟机的XML文件  
    16. list              #列出虚拟机  
    17. migrate           #将虚拟机迁移到另一台主机  
    18. quit              #退出非交互式终端  
    19. reboot            #重新启动一个虚拟机  
    20. resume            #重新恢复一个虚拟机  
    21. save              #把一个虚拟机的状态保存到一个文件  
    22. dump              #把一个虚拟机的内核dump到一个文件中以方便分析  
    23. shutdown          #关闭一个虚拟机  
    24. setmem            #改变内存的分配  
    25. setmaxmem         #改变最大内存限制值  
    26. suspend           #挂起一个虚拟机  
    27. vcpuinfo          #虚拟机的cpu信息  
    28. version           #显示virsh版本 

    1、图形化配置:

    从菜单中启动,或者运行virt-manager进入图形管理界面,比较简单,不过img的位置需要注意一下,kvm安装后会有一个默认位置,不注意的话容易占满空间。或者直接硬盘分区时单独给/var分一个区。
    2、虚拟机重新配置:
    虚拟机的配置文件保存在/etc/libvirt/qemu目录下,扩展名是xml。修改相应的文件即可重新配置虚拟机。
    3、虚拟机备份及恢复:
    备份:拷贝/etc/libvirt/qemu目录下的xml配置文件,以及xml中设置的img文件。
    恢复:进入virsh,执行define 目录下的xml文件路径
    virsh # define /etc/libvirt/qemu/winxp.xml
    4、开机自动启动虚拟机:
    [root@vfeelit qemu]# virsh autostart Winxp
    5、克隆KVM虚拟机:
    [root@vfeelit ~]# virt-clone -o Winxp -n winxpclong -f /var/lib/libvirt/images/winxpclong.img
    (-o 原始客体的名称,-n新客户端的名称,-f作为新客户端磁盘映像的新文件)
    6、虚拟机意外关机报下述错误:
    [root@vfeelit qemu]# virsh start winxp
    错误:开始域 winxp 失败
    错误:Unable to read from monitor: Connection reset by peer
    解决方法:virsh managedsave-remove winxp

    参考资料: 

    http://blog.51yip.com/linux/1633.html

    http://blog.51yip.com/linux/1627.html

    http://www.showerlee.com/archives/309

    http://www.server110.com/kvm/201404/10467.html 

  • 相关阅读:
    EBS SQL > Form & Report
    oracle sql 优化分析点
    MRP 物料需求计划
    MRPII 制造资源计划
    Barcode128 应用实务
    Oracle SQL语句优化技术分析
    APPSQLAP10710 Online accounting could not be created. AP Invoice 无法创建会计分录
    Oracle数据完整性和锁机制
    ORACLE Responsibility Menu Reference to Other User
    EBS 常用 SQL
  • 原文地址:https://www.cnblogs.com/wjoyxt/p/4600532.html
Copyright © 2011-2022 走看看