虚拟化
什么是KVM?
KVM is full hardware virtualisation built into the Linux kernel, giving each guest its own kernel and hardware-enforced isolation from other tenants. Because a KVM guest runs its own kernel, it can load kernel modules, run non-Linux operating systems, use real swap and support nested virtualisation.
为什么KVM很重要
由于 KVM 客户机运行自己的内核,它可以加载内核模块、运行非 Linux 操作系统、使用真正的交换空间并支持嵌套虚拟化。分配给 KVM 客户机的内存确实被保留,这是与基于容器的虚拟化的实际区别。
KVM的实际应用
运行 KVM 服务器时,第一件事是查看客户机里的 /proc/cpuinfo——如果和宿主机的不一致,你看到的很可能是半虚拟化的捷径,而不是完整的 KVM。你用真实预留来设置内存分配:超额分配会让客户机的 OOM killer 在宿主机看起来很空闲时触发。如果嵌套虚拟化配置错误,你会失去硬件辅助分页,客户机会以十分之一的速度运行。搞砸了,不重启就无法挽回性能损失。
人们对KVM常见的误解
人们以为 KVM 和 OpenVZ 或 LXC 一样,因为它们都用 Linux 内核。纠正一下:KVM 给每个客户机自己的内核,而容器共享宿主内核。只有 KVM 上才能加载内核模块、运行非 Linux 操作系统。共享命名空间的隔离不是硬件强制的。
KVM —— 常见问题
KVM 对性能意味着什么?
KVM 的硬件虚拟化意味着每个客户机有自己的内核,所以 CPU 和内存性能接近原生。内存是真正的预留,不是共享的。与容器相比,你可以期待可预测、隔离的吞吐量。
可以在 KVM 上跑 Windows 吗?
可以,KVM 客户机运行自己的内核,所以可以运行诸如 Windows 之类的非 Linux 操作系统。你需要上传 ISO 并挂接 VNC 控制台。在某些地区,Windows Server 许可作为可选项提供。
KVM在哪些地方出现
- 最便宜但实际可用的 VPS 是什么? 约 4 美元/月即可获得基于真实 KVM 虚拟化的 1 vCPU、1 GB 内存和 20 GB NVMe。这足以运行 WireGuard VPN、DNS 解析器、Tor 中继、小型机器人或静态网站。低于此价格,你几乎肯定买到的是一个超售的容器,而非虚拟机。…
- 如何选择VPS提供商? 检查五件事:虚拟化类型(KVM,而非OpenVZ)、核心是否专用、服务器所在司法辖区、提供商收集哪些身份数据、以及有人投诉你时会发生什么。价格是最容易比较的,也是第一个月后最不重要的。…
- 我可以在VPS上安装任何操作系统吗? 在KVM上,可以。OnionVPS提供Ubuntu、Debian、AlmaLinux、Rocky、Fedora、Arch、Alpine、NixOS、FreeBSD、OpenBSD、Windows Server、Proxmox等模板,你也可以上传自定义ISO并安装任何能启动的系统。在基于容器的虚拟化(如Open…
- 什么是KVM虚拟化? KVM(基于内核的虚拟机)是Linux内核中内置的完整硬件虚拟化,使用处理器扩展来运行每个虚拟机,使其拥有自己的内核和基于硬件的隔离。与共享主机内核的OpenVZ或LXC不同,KVM客户机可以加载内核模块、运行任何操作系统并使用真正的交换分区。…
- OnionVPS与其他VPS提供商有何不同? 四件事:没有任何形式的身份验证,仅加密货币支付,不涉及银行卡或银行,覆盖116个国家的138个地点,包括真正的离岸司法管辖区,以及不生成连接日志的架构。再加上仅使用KVM的虚拟化、包含的DDoS保护和每个级别的开放25端口。…
- 每个套餐包含哪些内容? 完全root访问权限、支持自定义内核的KVM虚拟化、自定义ISO上传、带外VNC控制台、一个IPv4地址、一个路由IPv6 /64、全天候DDoS缓解、三个免费快照、自助反向DNS、完整REST API和Terraform提供程序,以及全程无需身份验证。…
更多来自虚拟化
- OpenVZ
- OpenVZ 是基于容器的虚拟化技术,每个实例共享主机内核,因此客户机无法加载内核模块或运行不同的操作系统。
- LXC
- LXC 是 Linux 原生的容器化技术,通过命名空间和 cgroups 隔离进程,同时共享主机内核。
- 虚拟机监控程序
- 虚拟机监控程序是创建和运行虚拟机的软件层,在它们之间分配物理 CPU、内存和 I/O。
- 嵌套虚拟化
- 嵌套虚拟化允许虚拟机自身运行虚拟机,通过将处理器虚拟化扩展暴露给客户机来实现。
- vCPU
- vCPU是呈现给客户机的虚拟处理器,由物理核心或线程上的调度时间提供支持。
- cloud-init
- cloud-init是使用平台提供的元数据在首次启动时配置虚拟机的标准机制。