研扬UP2折腾记----KVM虚拟化(Debian篇)


之前一直搁置的Debian安装配置KVM问题昨天终于解决了,为了以后部署的方便以及和大家分享经验,今天归纳总结一下。debian发行版本为10.5。

首先安装必要的组件,执行如下命令:

apt install -y qemu qemu-kvm qemu-system qemu-utils libvirt-clients libvirt-daemon-system virtinst bridge-utils libosinfo-bin

安装完成后查看虚拟网络,可以看见只有一个默认网络。

virsh net-list --all

虚机如果需要访问宿主机的网络,那么需要进行网络桥接,如果没这个需求那么直接忽略此部分内容,直接跳到安装虚机部分即可。 修改网络接口文件,命令如下:

nano /etc/network/interfaces

修改前最好进行备份,将原内容修改为如下图所示内容。

创建桥接网卡,命令如下:

nano /etc/network/interfaces.d/br0

在文件中写入如下内容,我这里使用的是DHCP分配的地址,如果使用静态地址的请使用#注释部分内容。

auto br0     
#iface br0 inet static
#address 192.168.2.23
#broadcast 192.168.2.255
#netmask 255.255.255.0
#gateway 192.168.2.254
iface br0 inet dhcp
#以下部分不管动态获取还是静态配置都必须写。
bridge_ports eno1
bridge_stp off
bridge_waitport 0
bridge_fd 0

systemctl restart networking

重启网络服务,或者systemctl reboot重启服务器,以便应用新的网络配置。

使用ifconfig查看新的网络配置,可以发现网络已经切换至br0。

创建kvm文件存放路径,命令如下:

mkdir -p /kvmfiles/{iso,diskfiles}

可根据自身情况修改,不需要和我的一模一样,/kvmfiles为kvm相关文件根目录,/kvmfiles/iso为系统镜像文件保存目录,/kvmfiles/diskfiles为虚机磁盘保存目录。

新建一个XML文件以便向kvm添加br0网卡。

nano /kvmfiles/bridge.xml

在文件中写入如下内容:

<network>
    <name>br0</name>
    <forward mode="bridge"/>
    <bridge name="br0"/>
</network>

使用创建的XML文件向kvm添加br0网卡,命令如下:

virsh net-define --file /kvmfiles/bridge.xml

配置br0自启动,命令如下:

virsh net-autostart br0

启动br0,命令如下:

virsh net-start br0

停用并删除default网卡,命令如下:

virsh net-destroy default && virsh net-undefine default

再次执行virsh net-list查看kvm网络。

显示桥接网卡已经启动且自启动也开启,至此网络部分配置完成。 安装虚机,执行如下命令:

virt-install \
    --virt-type=kvm \
    --name LSvr-Apps \
    --ram 4096 \
    --vcpus=4 \
    --os-variant=centos7.0 \
    --virt-type=kvm \
    --hvm \
    --cdrom=/kvmfiles/iso/CentOS-8.1.1911-x86_64-dvd1.iso \
    --network=bridge=br0,model=virtio \
    --graphics vnc,listen=0.0.0.0 --noautoconsole \
    --disk path=/kvmfiles/diskfiles/LSvr-Apps.qcow2,size=15,bus=virtio,format=qcow2

这里有点需要注意的,我第一次执行的时候报错,主要因为--os-variant参数不是系统支持的参数,这个参数必须填系统支持的操作系统参数,不能随便写,我的命令内容如下图:

我要安装的是CentOS8.1,但是它提示我写的centos8是未知参数,需要使用osinfo-query os查看系统支持的参数。查到的关于CentOS的参数如下图:

系统支持的最高版本是7.0,但是我要装的是8.1,这种情况就选择和你版本最近的那个参数就行了。修改后重新执行的命令和结果如下图:

可以看到虚机已经被成功的创建了,执行virsh list查看虚机列表,可以看到虚机已经运行了。

使用VNC工具连接虚机继续安装配置,VNC连接时的IP地址使用宿主机的地址,端口号为0,如下图:

确认相关信息,就能连接到虚机了,如下图已经连接成功。

至此KVM虚拟化(Debian)配置完成,虚机操作系统安装和在普通服务器上安装大同小异,不再赘述。