更新时间:2021-12-25 GMT+08:00
分享

创建虚拟机

安装虚拟机软件包

  1. 安装虚拟机依赖包。

    1
    2
    yum install centos-release-qemu-ev
    yum install -y libvirt AAVMF virt-install qemu-guest-agent
    

  2. 获取软件包中获取的qemu-2.12.0相关软件包上传至服务器,并进行安装。

    1
    yum localinstall -y *.rpm
    

    软件包如下所示:

  3. 修改QEMU配置文件。

    1. 打开“qemu.conf”文件。
      1
      vim /etc/libvirt/qemu.conf
      
    2. 找到修改位置,修改user = "root",group = "root",如下所示:
      user = "root"
       
      # The group for QEMU processes run by the system instance. It can be
      # specified in a similar way to user.
      group = "root"
             
      # Whether libvirt should dynamically change file ownership

创建虚拟机

  1. 启动libvertd服务并设置开机自启。

    1
    2
    systemctl start libvirtd
    systemctl enable libvirtd
    

  2. 创建存储池。

    1. 创建存储池目录,配置目录权限。
      1
      2
      3
      mkdir -p /home/kvm/images
      chown root:root /home/kvm/images
      chmod 755 /home/kvm/images
      
    2. 定义一个存储池并绑定目录,建立基于文件夹的存储池、激活、设置开机启动。
      1
      2
      3
      4
      virsh pool-define-as StoragePool --type dir --target /home/kvm/images
      virsh pool-build StoragePool
      virsh pool-start StoragePool
      virsh pool-autostart StoragePool
      
    3. 查看存储池信息。
      1
      2
      virsh pool-info StoragePool
      virsh pool-list
      

  3. 创建虚拟机磁盘空间。

    1. 创建卷。

      创建名称为1.img,所在存储池为StoragePool,容量为50G,初始分配1G,文件格式类型为qcow2, 硬盘文件的格式必须为qcow2格式。

      1
      virsh vol-create-as --pool StoragePool --name 1.img --capacity 50G --allocation 1G --format qcow2
      
    2. 查看卷信息。
      1
      virsh vol-info /home/kvm/images/1.img
      

  4. 创建虚拟机。

    1. 创建虚拟机vm1,虚拟机分配4个CPU、8G内存,使用1.img作为磁盘空间,将iso文件拷贝到“/home/iso/”路径下,安装CentOS7.6系统。
      1
      2
      3
      virt-install --name=vm1 --vcpus=4 --ram=8192 \
      --disk path=/home/kvm/images/1.img,format=qcow2,size=50,bus=virtio \
      --cdrom /home/iso/CentOS-7-aarch64-Everything-1810.iso
      
    2. 安装虚拟机的操作系统。

    3. 配置所有带有"!"的选项,输入选项对应的序号进入配置,按照指示完成配置,然后按"b"开始安装。

    4. 系统安装完成后,进入登录界面。

配置虚拟机

  1. 修改虚拟机vm1的配置。

    1
    virsh edit vm1
    

    将<interface type='network'>xxx</interface>删掉,在</devices>前添加如下内容:

    <hostdev mode='subsystem' type='pci' managed='yes'>
    <source>
    <address domain='0x0000' bus='0x01' slot='0x01' function='0x2'/>
    </source>
    </hostdev>

    <address domain='0x0000' bus='0x01' slot='0x01' function='0x2'/>中domain、bus、slot、function的值对应VF的PCI端口号0000:01:01.2。

    修改后效果如下:

  2. 以同样的方式修改其他虚拟机配置。

    配置其它虚拟机的PCI端口号时,需绑定到未使用的VF端口上。

克隆虚拟机

在后续的验证中,单台服务器所需的虚拟机数量最多达8台,请根据以下步骤克隆足够数量的虚拟机。

  1. 关闭虚拟机vm1,执行virt-install软件包中的virt-clone命令克隆出虚拟机vm10。

    1
    virt-clone -o vm1 -n vm10 -f /home/kvm/images/10.img
    

    其中,-o选项表示源虚拟机,-n选项表示新创建的虚拟机,-f表示新创建的虚拟机使用宿主机上的文件作为镜像文件。

    以上命令执行完成后,名为vm10的虚拟机即创建成功,分配给vm10的cpu、内存、硬盘、网络都和vm1一致,vm10的CPU和网络分配需要单独配置。

  2. 查看创建的虚拟机状态。

    1
    virsh list --all
    

  3. 修改虚拟机主机名。

    由于克隆的虚拟机具有和vm1一样的主机名和IP,因此需要登录vm10,执行如下命令修改主机名。

    1
    hostnamectl --static set-hostname vm10
    

  4. 修改虚拟机IP。

    1
    2
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-enp1s0
    

    直通以后,操作系统安装了VF的默认驱动,默认配置会定义虚拟机网卡的名字,每个操作系统的默认名字不一样,本文以enp1s0为例,用户操作时请根据实际进行替换。

分享:

    相关文档

    相关产品

close