Rump kernel based QEMU stubdomain Wei Liu Seattle { August 17-18, 2015 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Agenda I Background I Introduction to rump kernel I Why rump kernel I What are required for QEMU stubdomain I Status of upstream QEMU stubdomain Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 2 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Background I Feature parity with QEMU traditional I so that we can eventually use QEMU upstream for everything I Most secure option for sandboxing QEMU I But be aware of the downside: extra resources required Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 3 / 19 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 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel Options we considered: I Roll our own I Linux based I OSv based I Rump kernel based Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 5 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel Roll our own: I Like QEMU traditional stubdom I Require much work to maintain I QEMU upstream changes a lot Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 6 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel Linux based: I Anthony Perard built a prototype I Hard to build I Hard to distribute Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 7 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel OSv based: I Provides toolchain to turn application to VM I No C++ expertise I No PV support (yet) Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 8 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Why rump kernel Rump kernel based: I Provides toolchain to turn application to VM I NetBSD code base I POSIX-y interface I Many NetBSD infrastructures available I Lots of utilities for debugging (with the help of syscall proxy) I PV support Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 9 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective What are required To build a QEMU stubdomain: I Xenbus driver I Privcmd driver I Grant table driver I Tap (and bridge) device I Communication channel between toolstack domain and QEMU Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 10 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective What are required How are they done in QEMU traditional stubdomain I Various drivers: libxc hooked up to mini-os I Tap device: hacked together, dump traffic to vif I Communication: via special consoles Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 11 / 19 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 I Various drivers: rump kernel hooked up to mini-os I Tap (and bridge) device: provided by NetBSD I Communication: libvchan or TCP network Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 12 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Things done so far I All required Xen drivers upstreamed in rump kernel I Bridge and tap drivers enabled I QEMU built as unikernel I Build a bunch of prerequisite libraries I Build QEMU with prerequisite libraries I Able to run with {help and exits Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 13 / 19 Agenda Xen 4.6 timeline Development update Xen 4.6 Retrospective Problems need to be solved I Bootstrap rump kernel to certain state I Network topology setup etc I Currently use a simple program to do that I Stabilise toolchain and utilities I Wish to use rumprun directly from libxl I Currently not sure if it meets every requirement we have I How to build QEMU stubdomain I Currently done with a hacked-up script I 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 Thank you! Seattle { August 17-18, 2015 Rump kernel based QEMU stubdomain 15 / 19.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages15 Page
-
File Size-