运维笔记--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/