rump kernel based qemu stubdomain
play

Rump kernel based QEMU stubdomain Wei Liu Seattle August 17-18, - PowerPoint PPT Presentation

Rump kernel based QEMU stubdomain Wei Liu Seattle August 17-18, 2015 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Agenda Background Introduction to rump kernel Why rump kernel What are required for QEMU


  1. Rump kernel based QEMU stubdomain Wei Liu Seattle – August 17-18, 2015

  2. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Agenda ◮ Background ◮ Introduction to rump kernel ◮ Why rump kernel ◮ What are required for QEMU stubdomain ◮ Status of upstream QEMU stubdomain Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 2 / 19

  3. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Background ◮ Feature parity with QEMU traditional ◮ so that we can eventually use QEMU upstream for everything ◮ Most secure option for sandboxing QEMU ◮ But be aware of the downside: extra resources required Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 3 / 19

  4. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Introduction to rump kernel Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 4 / 19

  5. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel Options we considered: ◮ Roll our own ◮ Linux based ◮ OSv based ◮ Rump kernel based Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 5 / 19

  6. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel Roll our own: ◮ Like QEMU traditional stubdom ◮ Require much work to maintain ◮ QEMU upstream changes a lot Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 6 / 19

  7. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel Linux based: ◮ Anthony Perard built a prototype ◮ Hard to build ◮ Hard to distribute Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 7 / 19

  8. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel OSv based: ◮ Provides toolchain to turn application to VM ◮ No C++ expertise ◮ No PV support (yet) Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 8 / 19

  9. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel Rump kernel based: ◮ Provides toolchain to turn application to VM ◮ NetBSD code base ◮ POSIX-y interface ◮ Many NetBSD infrastructures available ◮ Lots of utilities for debugging (with the help of syscall proxy) ◮ PV support Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 9 / 19

  10. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective What are required To build a QEMU stubdomain: ◮ Xenbus driver ◮ Privcmd driver ◮ Grant table driver ◮ Tap (and bridge) device ◮ Communication channel between toolstack domain and QEMU Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 10 / 19

  11. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective What are required How are they done in QEMU traditional stubdomain ◮ Various drivers: libxc hooked up to mini-os ◮ Tap device: hacked together, dump traffic to vif ◮ Communication: via special consoles Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 11 / 19

  12. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective What are required How are they (going to be) done in QEMU upstream stubdomain ◮ Various drivers: rump kernel hooked up to mini-os ◮ Tap (and bridge) device: provided by NetBSD ◮ Communication: libvchan or TCP network Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 12 / 19

  13. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Things done so far ◮ All required Xen drivers upstreamed in rump kernel ◮ Bridge and tap drivers enabled ◮ QEMU built as unikernel ◮ Build a bunch of prerequisite libraries ◮ Build QEMU with prerequisite libraries ◮ Able to run with –help and exits Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 13 / 19

  14. Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Problems need to be solved ◮ Bootstrap rump kernel to certain state ◮ Network topology setup etc ◮ Currently use a simple program to do that ◮ Stabilise toolchain and utilities ◮ Wish to use rumprun directly from libxl ◮ Currently not sure if it meets every requirement we have ◮ How to build QEMU stubdomain ◮ Currently done with a hacked-up script ◮ Building should be done with Raisin, don’t want to put into Xen tree Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 14 / 19

  15. Thank you! Seattle – August 17-18, 2015 Rump kernel based QEMU stubdomain 15 / 19

Recommend


More recommend