Skip to content

Centos7环境下使用命令行新建一台KVM虚拟机。

准备虚拟网卡:

新建虚拟网卡:

vim /etc/libvirt/qemu/networks/名称.xml

参考格式:

<network>
  <name>vbr</name>
  <bridge name='vbr' stp='on' delay='0'/>
  <domain name='vbr'/>
  <forward mode="nat"/>
  <ip address='192.168.1.254' netmask='255.255.255.0'>
    <dhcp>
      <range start="192.168.1.100" end="192.168.1.200"/>
    </dhcp>
  </ip>
</network>

配置文件完成需要使用命令创建激活虚拟网络:

virsh net-define /etc/libvirt/qemu/networks/名称.xml

virsh管理虚拟网络:

virsh net-list                                    //查看虚拟网络
virsh net-define [路径/名称.xml]    //创建虚拟网络
virsh net-undefine [名称]               //删除虚拟网络
virsh net-start [名称]                   //启动虚拟网络
virsh net-destroy [名称]               //停止虚拟网络
virsh net-edit [名称]                    //修改虚拟网络配置
virsh net-autostart [名称]           //设置虚拟网络开机自启动

需要准备一个img后端硬盘模板:

qemu-img是虚拟机的磁盘管理命令,支持非常多的磁盘格式,例如raw、qcow2、vdi、vmdk等。

qemu命令格式:

qemu-img [命令] [参数] [块文件名] [大小]

常见命令有:

create    创建磁盘

convert    转换磁盘格式

info    查看磁盘信息

snapshot    管理磁盘快照

创建新的镜像盘文件:

qemu-img create -f qcow2 路径.img *G

查询镜像盘文件信息:

qemu-img info 路径.img

使用后端模板文件创建新的:

qemu-img create -f qcow2 -b 路径/模板后端盘.qcow2 路径/新的前端盘.img *G

如何准备模板后端盘参考其他资料。

编写虚拟机硬件信息xml文件:

编写xml配置文件参考官网详细手册:https://libvirt.org/format.html

以下是举例操作步骤:

新建xml文件:

vim /etc/libvirt/qemu/node.xml

写入:(删除//注释说明)

<domain type='kvm'>
  <name>node</name>                                //机器名
  <memory unit='KB'>1524000</memory>
  <currentMemory unit='KB'>1524000</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
    <bios useserial='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
  </cpu>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>                            //文件格式
      <source file='/var/lib/libvirt/images/node.img'/>                //准备好的的存储盘路径
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <source bridge='vbr'/>                //指定我们准备好的网卡名
      <model type='virtio'/>
    </interface>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
    </channel>
    <serial type='pty'></serial>
    <console type='pty'>
      <target type='serial'/>
    </console>
    <memballoon model='virtio'></memballoon>
  </devices>
</domain>

配置完成过后使用命令激活:

virsh define /etc/libvirt/qemu/node.xml

完成以上操作就可以开机启动了

链接虚拟机:

virsh console node

退出按下:Crtl+]

修改机器性能:(注意:需要关闭虚拟机后执行修改)

virsh edit node

删除虚拟机可以使用如下命令:

virsh undefine [虚拟机名称]

脚本快速安装举例:

#!/bin/bash
read -p "指定虚拟机名称后按下回车: " NAME
#修改此变量指定原始配置文件。
OEXML="/kvm/node.xml"
#修改此变量指定原始配置文件。
ETCXML="/etc/libvirt/qemu/"
#修改此变量指定原始配置文件。
QCOW="/kvm/clone.qcow2"

qemu-img create -f qcow2 -b "$QCOW" /var/lib/libvirt/images/"$NAME".img 20G
cp -rp "$OEXML" "$ETCXML""$NAME".xml
sed -ri "2s/node/"$NAME"/" "$ETCXML""$NAME".xml
sed -ri "26s/node/"$NAME"/" "$ETCXML""$NAME".xml
virsh define "$ETCXML""$NAME".xml

Be First to Comment

发表评论

电子邮件地址不会被公开。