运维笔记--debian12部署KVM

前期准备:

1. 安装debian 12操作系统
2. 能够ssh远程连接

开始操作:

----操作建议:建议使用普通用户进行下边的操作,不要使用root。

1. 配置国内源  debian12--代号:bookworm

sudo cp /etc/apt/source.list /etc/apt/source.list_bak

sudo vi /etc/opt/source.list 清空原来内容,添加如下内容:
deb https://mirrors.ustc.edu.cn/debian/ bookworm main non-free non-free-firmware contrib deb-src https://mirrors.ustc.edu.cn/debian/ bookworm main non-free non-free-firmware contrib deb https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main deb-src https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main non-free non-free-firmware contrib deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-updates main non-free non-free-firmware contrib deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main non-free non-free-firmware contrib deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-backports main non-free non-free-firmware contrib
保存退出

2. 更新/升级系统

更新APT软件包存储库缓存,APT软件包存储库缓存应进行更新.

sudo apt-get update
sudo apt-get upgrade

3. 检查系统硬件是否支持虚拟化

分别执行如下两条命令,确认CPU 是否支持硬件虚拟化

egrep -c '(vmx|svm)' /proc/cpuinfo
---
输出大于零,说明系统上启用了虚拟化技术
---如果输出为零,那么我们必须重新启动系统,进入 bios 设置,然后为 Intel 处理器启用 VT-x(虚拟化技术扩展),为 AMD 处理器启用 AMD-V。
grep -E --color '(vmx|svm)' /proc/cpuinfo

 4. 开始安装KVM

了解KVM:https://virt-manager.org/download.html

KVM是基于Linux内核的虚拟化技术。
KVM代表“Kernel-Based Virtual Machine”,它允许在同一台物理主机上运行多个虚拟机。这种技术使用硬件虚拟化技术(如Intel VT-x或AMD-V),提供接近原生性能的虚拟化体验。

截止目前,官方最新版本:V4.1.0

libvirt是KVM和QEMU虚拟化的必备工具,可以用来创建和管理虚拟机;

首先安装 Qemu、KVM 管理程序和 Libvirt 所需的所有依赖包

sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon

程序包功能说明:

qemu-kvm – 一个提供硬件仿真的开源仿真器和虚拟化包
virt-manager – 一款通过 libvirt 守护进程,基于 QT 的图形界面的虚拟机管理工具
libvirt-daemon-system – 为运行 libvirt 进程提供必要配置文件的工具
virtinst – 一套为置备和修改虚拟机提供的命令行工具
libvirt-clients – 一组客户端的库和API,用于从命令行管理和控制虚拟机和管理程序
bridge-utils – 一套用于创建和管理桥接设备的工具

接着安装KVM软件包:

sudo apt install virt-manager

运行virsh命令列出 KVM 虚拟机的可用网络和状态:

sudo virsh net-list --all

 

输出中看到的,libvirt的默认网络处于非活动状态,因此通过运行以下命令使其处于活动状态,并在系统重新启动时自动重新启动:

sudo virsh net-start default
sudo virsh net-autostart default

启用虚拟化守护进程(libvirtd):

sudo systemctl status libvirtd
sudo systemctl enable --now libvirtd
sudo systemctl start libvirtd 

安装 cpu-checker 软件包:

sudo apt install -y cpu-checker

通过如下命令判断 KVM 虚拟化是否已经在运行:

test@dev-ops:~# kvm-ok

INFO: /dev/kvm exists
KVM acceleration can be used

如果是在普通用户下操作的,将当前登录用户加入 kvm 和 libvirt 用户组,以便能够创建和管理虚拟机。

$ sudo usermod -aG kvm $USER
$ sudo usermod -aG libvirt $USER

$USER 环境变量引用的即为当前登录的用户名。需要重新登录才能使得配置生效。

 

OK,至此KVM基础程序安装完成---中文环境下的KVM图标

 

5. 网络配置

为保证宿主机可以正常上网,后续使用KVM创建的虚拟机也可以上网,需要配置网络桥接模式,这里底层就应用到了上边安装的依赖模块bridge-utils。

注意,接下来的操作都是在宿主机上,

宿主机网络配置--为了保证服务器可以正常上网,需要配置DNS解析:

配置桥接模式,宿主机修改静态固定IP
/etc/network/interfaces.d 目录下创建:bridge配置文件 ---名字可以随便起

在创建的bridge文件中,写入如下内容:

#bridge port 
auto br0 
iface br0 inet static 
address 192.168.0.66
broadcast 192.168.0.255 
netmask 255.255.255.0 
gateway 192.168.0.1 
bridge_ports enp4s0 
bridge_stp off 
bridge_waitport 0 
bridge_fd 0
dns-nameserver 192.168.0.1 

---下边这行可以配置也可以不写
hwaddress ether 00:e0:1b:29:55:18

注意:这里可以不绑定网卡mac物理地址,例如‘00:e0:1b:29:55:18‘,重启后会给桥接模式的网卡分配新的虚拟物理地址。也可以hwaddress绑定和enp4s0公用一个mac地址。
但是nameserver需要配置,否则无法通过域名上网,也会导致类似需要远程的服务访问不了,比如域名访问百度,比如远程向日葵

保存配置,重启网络服务
systemctl restart networking.service

 ip a 确认配置是否生效!

另外,如果宿主机之前是图像桌面配置的网络,可以在设置里讲IPv4方式改成自动获取,然后点击应用,这样实际上就走我们上边的配置了。

 尝试下访问百度和内部网络,确保正常!

 

6. 接下来就可以,使用 Virt-Manager GUI 创建虚拟机。

首先,打开应用程序启动器并搜索“虚拟机管理器”(VVM)并运行它。在它打开之前,系统会要求提供 root 密码。

 加载新的系统镜像,这里以debian12 server版为例,KVM目前还没有适配debain12,因此我们选择通用linux系统类型:

正常一步一步往后走就可以:---如果之前的网络桥接模式没有问题,这步的时候,会自动识别到bro网络设备。

 

接下来的步骤,可以参考这篇:https://blog.csdn.net/weixin_44200186/article/details/131970040

虚拟机安装完成之后,配置网络信息:

 如下为安装完操作系统后的网络配置。

宿主机修改静态固定IP
/etc/network/interfaces.d
目录下创建:bro配置文件

写入如下内容:
auto br0
iface br0 inet static 
        address 192.168.0.166
        netmask 255.255.255.0
        gateway 192.168.0.1
        broadcast 192.168.1.255
        bridge_ports enp4s0
        bridge_stp off
        bridge_waitport 0
        bridge_fd 0
        dns-nameserver 192.168.0.1
        hwaddress ether 00:e0:1b:2a:72:c7
        

保存,重启网络服务
systemctl restart networking.service

6 查看KVM下已经安装的虚拟机 

virsh list --all

参考:

cnblogs.com/smlile-you-me/p/17727308.html

https://wiki.debian.org/KVM

https://www.leyeah.com/article/kvm-installation-handbook-ubuntu-668480

https://cloud.tencent.com/developer/article/1850694

https://hexo.linuser.com/2024/01/10/ea6d9206d435/

posted @ 2024-02-05 09:48  hello-Jesson  阅读(3158)  评论(0编辑  收藏  举报