-
-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VMSH: hypervisor-agnostic guest overlays for VMs #290
Comments
这篇文章的核心观察是传统的 VM 提供了非常多的能力,但是为了部署方便,快速启停,现在业界的 FaaS 等都在追求 Lightweight VM。 但是轻量级 VM 都存在一个问题,就是缺少一些功能,这些功能可能在部署时不需要,但是在调试和开发的时候是需要的。这个时候你需要通过 ssh,配置 key 等等,最后到 VM 中操作。非常复杂。而如果是 docker 的话,就可以通过 docker exec 直接 attach 进去操作。 因此这个工作就是解决这样一个问题。为 attach & debug inside vm 提供更好的体验
|
文章的贡献主要是三点:
|
VMSH 跟 KVM,VirtIO 有很大相关性。KVM 是硬件辅助的虚拟化的标准抽象了,而且已经合并在内核中。使用 KVM 的接口和能力实现的 Hypervisor 包括 QEMU,firecracker,crosvm 等。VMSH 支持这些 KVM-based Hypervisor。 VirtIO 定义了一套通用的接口,来在 VM 中模拟硬件设备,如网卡,硬盘等。VirtIO 通过共享内存的方式,在 Hypervisor 管理下的 device 以及装在 Guest 中的 driver 之间交换数据。VirtIO 有两种机制,memory mapped IO (MMIO) or on the PCI standard,VMSH 实现了前者,它在 MicroVM 里更常用。 |
VMSH 的典型使用场景:
|
在设计上,VMSH 需要在 Host 上启动一个进程,跟 Hypervisor 相当于是在相同级别。它会 attach 到 Hypervisor 中,并且基于 Guest Kernel 启动一个 file system overlay 在 kernel 上的容器,这个容器的进程都跑在 user space。 |
https://github.com/Mic92/vmsh
https://dl.acm.org/doi/abs/10.1145/3492321.3519589
EuroSys'22
Shell into a virtualized Linux, with your own tools
The text was updated successfully, but these errors were encountered: