• Linux环境下创建KVM虚机


    Linux环境下创建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 系列是基于软件模拟的 Full-Virtualization。

    创建虚拟机

      创建虚拟机的步骤为:

    • 1、创建虚拟机磁盘
    qemu-img create -f qcow2 yunxiazi-v2.9.2-360-for-360-200G.qcow2 200G
    

      磁盘格式介绍:
        raw 裸磁盘不支持快照;
        qcow2,不保存原始镜像,只会记录操作和原始镜像不同的内容,做快照。写时拷贝的一种技术,这种技术把所做的操作记录在一个文件中,只对这个文件镜像。Openstack使用的方式推荐使用这个。
      区别:
        qcow2 数据的基本组成单元是 cluster;
        raw 性能比 qcow2 快;
        raw 创建多大磁盘,就占用多大空间直接分配,qcow2 动态的用多大占用多大空间。

    • 2、创建虚拟机主机
    virt-install --name yunxiazi --ram=2048 --arch=x86_64 --vcpus=1 --check-cpu --os-type=linux -c /home/product_download/yunxiazi/云匣子镜像/2.9.2/iso/yunxiazi_v2.9.2-360_x86_64_180110.iso --disk path=/home/yunxiazi_qcow2/yunxiazi-v2.9.2-360-for-360-200G.qcow2,device=disk,bus=ide,format=qcow2 --network network=default,model=e1000 --noautoconsole --vnc --vncport=59001 --vnclisten=0.0.0.0 --clock offset=localtime
    

      创建完成之后,我们用 VNC 连接进行测试。

    基本命令

      KVM 下面管理虚拟机的基本命令:

    virsh list --all  # 查看所有虚拟机状态
    
    virsh start kvm01      # 开机
    virsh shutdown kvm01   # 关机(虚拟机需开启 acpid 服务)
    virsh destroy kvm01    # 强制关机
    
    virsh suspend kvm01  # 挂起虚拟机
    virsh resume kvm01   # 恢复挂起的虚拟机
    
    virsh snapshot-create kvm01              # 建虚拟机快照(建快照镜像格式要为 qcow2 格式)
    virsh snapshot-list kvm01                # 查看虚拟机快照
    virsh snapshot-revert kvm01 1489386302   # 恢复虚拟机快照
    
    /etc/libvirt/qemu/               # 虚拟机配置文件默认目录
    virsh edit kvm01                 # 编辑配置文件
    virsh dumpxml kvm01 > kvm01.xml  # 导出虚拟机配置文件
    
    virsh autostart kvm01                                              # 设置物理机开机自动启动虚拟机
    virsh define /etc/libvirt/qemu/kvm01.xml                           # 重新定义一个虚拟机
    virsh undefine kvm01                                               # 删除一个虚拟机(会一起删除配置文件,镜像不删除)
    virt-clone -o kvm01 -n kvm02 -f /var/lib/libvirt/images/kvm02.img  # 克隆虚拟机(/etc/udev/rules.d/70-persistent-net.rules启动后删除)
    
    qemu-img info kvm01                                     # 查看虚拟机镜像格式
    qemu-img convert -f raw -O qcow2 kvm01.img kvm01.qcow2  # 转换虚拟机镜像格式
    
    qemu-img create -f qcow2 /var/lib/libvirt/images/kvm01-1.img 20G                                # 新建虚拟机镜像磁盘
    virsh attach-disk kvm01 /var/lib/libvirt/images/kvm01-1.img vdb --cache=none --subdriver=qcow2  # 在线添加虚拟机镜像硬盘
    

    参考链接:
      在linux下创建KVM虚拟机

  • 相关阅读:
    《软件性能测试与LoadRunner实战教程》新书上市
    《你必须掌握的Entity Framework 6.x与Core 2.0》正式出版感想
    《你必须掌握的Entity Framework 6.x与Core 2.0》书籍出版
    别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
    EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)
    已被.NET基金会认可的弹性和瞬态故障处理库Polly介绍
    WebAPi之SelfHost自创建证书启动Https疑难解惑及无法正确返回结果
    Web APi之认证(Authentication)两种实现方式【二】(十三)
    读懂操作系统之虚拟内存TLB与缓存(cache)关系篇(四)
    读懂操作系统之缓存原理(cache)(三)
  • 原文地址:https://www.cnblogs.com/ZN-225/p/15497621.html
Copyright © 2020-2023  润新知