• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解虚拟化技术QEMU-KVM入门

    一.QEMU、KVM、QEMU-KVM

    QEMU提供一系列的硬件模拟设备(CPU,网卡,磁盘等),客户机指令都需要QEMU翻译,因而性能较差。KVM是linux内核提供的虚拟化,可以用来进行vCPU的创建与运行,虚拟内存的地址空间分配,指令执行效率较高,但缺少IO设备的虚拟化。QEMU-KVM就是KVM与QEMU的结合,KVM负责CPU虚拟化+内存虚拟化,QEMU模拟其它IO设备。

    二.安装并创建虚拟机

    安装qemu-kvm软件

    faramita2016@linux-l9e6:~> zypper install qemu-kvm // Ubuntu系统使用apt-get install qemu-kvm 

    创建qcow2格式虚拟机磁盘文件

    faramita2016@linux-l9e6:~> qemu-img create -f qcow2 vdisk.img 5G // 磁盘大小5G 

    使用debian镜像安装虚拟机,order=dc优先使用CD-ROW(d),后使用硬盘(c),内存默认128m,使用-m 512指定

    faramita2016@linux-l9e6:~> qemu-kvm -cpu host -cdrom debian-9.4.0.iso -hda vdisk.img -boot order=dc 

    三.设置虚拟机使用网桥bridge模式

    宿主机中执行,qemu-bridge-helper增加当前用户可执行权限,用来自动添加网络后端tap设备

    faramita2016@linux-l9e6:~> sudo chmod o+x /usr/lib/qemu-bridge-helper 

    宿主机中执行,-net nic为虚拟机创建nic网卡(网络前端),-net bridge指定宿主机中使用网桥(网络后端)

    faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 // 指定网桥br0 

    虚拟机中执行,编辑/etc/network/interfaces,设置静态IP

    root@debian:~# vi /etc/network/interfaces
    # The primary network interface
    allow-hotplug ens3
    #iface ens3 inet dhcp
    iface ens3 inet static
    address 10.0.0.8
    netmask 255.0.0.0
    gateway 10.0.0.1
    hwaddress ether 52:54:00:12:34:56  // 设置mac地址,前3组不变
    root@debian:~# ifup ens3  // 打开ens3网络接口,ifdown关闭网络接口
    root@debian:~# /etc/init.d/networking restart  // 重启网络服务

    虚拟机中执行,编辑/etc/resolv.conf,设置DNS

    root@debian:~# vi /etc/resolv.conf
    nameserver 8.8.8.8  // Google DNS

    四.设置虚拟机为非图形模式

    虚拟机中执行,编辑/etc/default/grub文件,添加console=ttyS0启动参数

    root@debian:~# vi /etc/default/grub 
    GRUB_DEFAULT=0  // 默认启动项
    GRUB_TIMEOUT=0  // 默认菜单项停留时间
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="quiet"   // 默认内核启动参数
    GRUB_CMDLINE_LINUX="console=ttyS0"  // 手动添加内核启动参数,添加console=ttyS0

    虚拟机中执行,更新grub配置,并重启

    root@debian:~# update-grub
    root@debian:~# shutdown -h now

    a.宿主机中执行,添加-nographic参数创建虚拟机,当前shell前台创建虚拟机

    faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -nographic 

    b.宿主机中执行,添加-display none -daemonize参数创建虚拟机,当前shell后台创建虚拟机

    faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -display none -daemonize 

     五.以只读方式启动虚拟机

    a.创建一个快照

    用qemu-img命令创建一个原始镜像的快照

    faramita2016@linux-l9e6:~> qemu-img create -f qcow2 -b vdisk.img snapshot.img 
    

    使用快照文件启动虚拟机

    faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda snapshot.img -net nic -net bridge,br=br0 -nographic 

    b.使用临时快照

    原理:创建一个临时快照,虚拟机启动之后,自动删除快照文件

    faramita2016@linux-l9e6:~> qemu-kvm -cpu host -hda vdisk.img -net nic -net bridge,br=br0 -snapshot -nographic 
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    上一篇:Docker端口映射的实现
    下一篇:Nginx+Keepalived实现双机热备
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解虚拟化技术QEMU-KVM入门 详解,虚拟化,技术,QEMU-KVM,