知行迭代
导航
首页
最近更改
随机页面
常用
分类目录
Linux命令
Mediawiki常用
电脑技巧
工具
链入页面
相关更改
特殊页面
页面信息
登录
查看“KVM虚拟机”的源代码
←
KVM虚拟机
页面
讨论
阅读
查看源代码
查看历史
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:[
[1]
]
您可以查看和复制此页面的源代码。
KVM的全称是Kernel-based Virtual Machine(基于内核的[[虚拟机]]),是一种内建于[[Linux]]中的开源[[虚拟化]]技术。[[Linux内核]] 2.6.20 及更新版包含 KVM。 ==简介== ===时间轴=== *2006年,Avi Kivity 在Qumranet初创公司开始了KVM的研发工作。 *2006年10月19日,Avi Kivity 首次公布KVM。 *2007年2月5日,KVM被包含到Linux 2.6.20核心中。 *2008年,红帽公司(Red Hat)收购Qumranet公司。 {{了解更多 |[https://zh.wikipedia.org/wiki/基于内核的虚拟机#历史 维基百科:基于内核的虚拟机#历史] |[https://lwn.net/Articles/705160/ lwn.net:KVM 十周年] }} ===安装=== 以[[Ubuntu]]安装为例: <syntaxhighlight lang="bash" > # 确保你的 CPU 支持虚拟化(Intel VT-x 或 AMD-V) # 输出大于 0 表示支持。 # 确认 BIOS/UEFI 中已启用虚拟化(通常叫 Intel VT-x / AMD-V)。 egrep -c '(vmx|svm)' /proc/cpuinfo # 安装需要的软件包 sudo apt update # 更新软件源 sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager virtinst </syntaxhighlight> * qemu-kvm:提供 KVM 虚拟化后端 * libvirt-*:管理虚拟机的守护进程和工具 * virt-manager:图形化虚拟机管理器(可选但推荐) * virtinst:命令行创建虚拟机工具(如 virt-install) 将当前用户加入相关组(避免每次用 sudo): <syntaxhighlight lang="bash" > sudo usermod -aG libvirt $USER sudo usermod -aG kvm $USER </syntaxhighlight> {{了解更多 |[https://ubuntu.com/blog/kvm-hyphervisor Ubuntu 博客:Tytus Kurek - KVM 虚拟机管理程序:初学者指南] |[https://ubuntu.com/server/docs/virtualization-introduction Ubuntu 服务器文档:虚拟化] }} == 安装系统 == ===图形化界面=== * 官网下载系统镜像,如Windows 11 ISO。 * 启动 Virtual Machine Manager * 点击左上角 “新建虚拟机”(Create a new virtual machine) * 选择 “本地安装介质(ISO)”,点击“前进” == 虚拟化管理软件== 为了方便管理操作,需要安装一个图形化虚拟化管理软件。 {| class="wikitable" ! 名称 ! 描述 ! 网站 |- | virt-manager |virt-manager应用程序是一个桌面用户界面,用于通过 libvirt 管理虚拟机。不同系统安装命令:<syntaxhighlight lang="bash" > yum install virt-manager (Fedora) apt-get install virt-manager (Debian) emerge virt-manager (Gentoo) pkg_add virt-manager (OpenBSD) </syntaxhighlight> | https://virt-manager.org/ |- | Multipass | Ubuntu 发行商 Canonical 推出的虚拟机管理工具。 | https://multipass.run |- | OpenStack | | https://ubuntu.com/openstack/what-is-openstack |} == 配置桥接网路 == KVM虚拟机的默认网络NAT,共享主机ip上网,对外部网络不可见。而网络桥接(bridge)可以让虚拟机(VM)像物理主机一样直接接入外部网络,从主机外访问虚拟机。 示例,主机Ubuntu创建网桥,配置虚拟机windows使用网桥: * 主机创建网桥接口 Ubuntu24.04桌面版,使用NetworkManager管理网络,使用 NetworkManager 的命令行工具 nmcli 来直接创建和管理网桥,不用手动修改 Netplan 文件。 <syntaxhighlight lang="bash"> # 查看是否NetworkManager管理,物理网卡会显示connected。 nmcli device status nmcli con show # 创建网桥接口(br0) sudo nmcli con add ifname br0 type bridge con-name br0 # 将物理接口(enp5s0)添加为网桥的从接口 sudo nmcli con add type bridge-slave ifname enp5s0 master br0 # 禁用 STP(生成树协议,以减少延迟;可选但推荐) sudo nmcli con mod br0 bridge.stp no # 配置网桥使用 DHCP sudo nmcli con mod br0 ipv4.method auto ipv6.method ignore # 关闭原物理连接(防止冲突) sudo nmcli con down "Wired connection 2" # 激活网桥 sudo nmcli con up br0 # 现在,运行 ip addr show 或 nmcli device show 检查:br0 应该有 IP 地址(从 DHCP 获取),enp5s0 应该显示为 br0 的从接口,无独立 IP。 </syntaxhighlight> 方法2,修改netplan配置文件。 <syntaxhighlight lang="bash"> # 查看当前网络接口 # 假设你的主网卡是 enp3s0(有线)或 eth0 ip a # 编辑 Netplan 配置文件 # 通常位于 /etc/netplan/,如 # 可以先备份一个配置文件,便于恢复。 sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak sudo vim /etc/netplan/01-netcfg.yaml # 配置文件添加或修改内容为: # 注意缩进!YAML 对格式敏感。 network: version: 2 renderer: networkd # 或 NetworkManager,根据系统选择 ethernets: enp0s3: # 替换为您的物理接口 dhcp4: no bridges: br0: interfaces: [enp0s3] # 替换为您的物理接口 dhcp4: yes # 或手动配置:addresses: [192.168.1.100/24], gateway4: 192.168.1.1 parameters: stp: false # 可选,关闭生成树协议以减少延迟 # 应用配置 sudo netplan generate sudo netplan apply # 验证 ip a show br0 </syntaxhighlight> 方法3,创建临时网桥,测试用,重启失效。 <syntaxhighlight lang="bash"> # 使用 ip 命令临时创建网桥(名为 br0) sudo ip link add name br0 type bridge sudo ip link set dev br0 up # 将物理接口添加到网桥 sudo ip addr flush dev enp0s3 # 移除物理接口上的 IP 配置 sudo ip link set dev enp0s3 master br0 sudo ip link set dev enp0s3 up # 将原物理接口的 IP 配置转移到 br0 上。例如,如果原 IP 是 192.168.1.100/24: sudo ip addr add 192.168.1.100/24 dev br0 sudo ip route add default via 192.168.1.1 dev br0 # 替换为您的网关 # 方案2 sudo ip link add name br0 type bridge sudo ip link set enp3s0 master br0 sudo dhclient br0 sudo ip link set br0 up </syntaxhighlight> * 配置虚拟机,使用网桥 方法1,使用virt-manager界面配置。创建或编辑虚拟机,在网络设置中选择:Source mode选Bridge,Network source选一个,Device name填br0。 ==资源== ===官网=== *KVM官网:https://www.linux-kvm.org/ === 教程 === *[https://ubuntu.com/server/docs/virtualization-introduction Ubuntu 服务器文档:虚拟化] *[https://www.redhat.com/zh/topics/virtualization Red Hat 主题:虚拟化] ===相关文章=== *[https://zh.wikipedia.org/wiki/基于内核的虚拟机 维基百科:基于内核的虚拟机] *[https://www.redhat.com/zh/topics/virtualization/what-is-KVM Red Hat:LINUX虚拟化 - 什么是KVM?] *[https://ubuntu.com/blog/kvm-hyphervisor Ubuntu 博客:Tytus Kurek - KVM 虚拟机管理程序:初学者指南]
本页使用的模板:
模板:了解更多
(
查看源代码
)
返回至“
KVM虚拟机
”。