Papers We Love: Jails and Zones

of 44 /44
Papers We Love: Jails and Zones CTO [email protected] Bryan Cantrill @bcantrill

Embed Size (px)

Transcript of Papers We Love: Jails and Zones

Page 1: Papers We Love: Jails and Zones

Papers We Love:Jails and Zones

CTO

[email protected]

Bryan Cantrill

@bcantrill

Page 2: Papers We Love: Jails and Zones

Papers we love: Jails and Zones

• Discussing two important papers that form the foundation of thinking about OS-based virtualization and containers:

• Jails: Confining the Omnipotent Root by Poul-Henning Kamp and Robert Watson, presented at SANE 2000

• Solaris Zones: Operating System Support for Consolidating Commercial Workloads by Dan Price and Andy Tucker, presented at LISA 2004

• As much as possible, want to let these papers speak for themselves — and provoke discussion!

Page 3: Papers We Love: Jails and Zones

Jails: Problem statement

Page 4: Papers We Love: Jails and Zones

Jails: Prior work

Page 5: Papers We Love: Jails and Zones

Jails aside: chroot(2)

Page 6: Papers We Love: Jails and Zones

Jails: Proposed solution

Page 7: Papers We Love: Jails and Zones

Jails: Advantages

Page 8: Papers We Love: Jails and Zones

Jails: jail(2)

Page 9: Papers We Love: Jails and Zones

Jails: Confining the filesystem

Page 10: Papers We Love: Jails and Zones

Jails: Confining the network

Page 11: Papers We Love: Jails and Zones

Jails: Implementation

Page 12: Papers We Love: Jails and Zones

Jails: Network management complexities

Page 13: Papers We Love: Jails and Zones

Jails: Filesystem management complexities

Page 14: Papers We Love: Jails and Zones

Jails: User management complexities

Page 15: Papers We Love: Jails and Zones

Jails: Unintended consequences

Page 16: Papers We Love: Jails and Zones

Jails: Networking limitations

Page 17: Papers We Love: Jails and Zones

Jails: Resource management limitations

Page 18: Papers We Love: Jails and Zones

Jails: Management limitations

Page 19: Papers We Love: Jails and Zones

Jails: Epilogue

• Jails became easier to manage with jls/jps/ezjail/iocage

• Jails were allowed to have multiple IPv4 addresses

• Some jail-based resource management was added, including CPU binding and

• System V IPC was virtualized, but remains out-of-tree

• VIMAGE added exclusive IP stacks to jails, but it remains a build-time option and “is considered experimental”

Page 20: Papers We Love: Jails and Zones

Zones: Problem statement

Page 21: Papers We Love: Jails and Zones

Zones: Problem statement detail

Page 22: Papers We Love: Jails and Zones

Zones: Proposed solution

Page 23: Papers We Love: Jails and Zones

Zones: Block diagram

Page 24: Papers We Love: Jails and Zones

Zones: Design principles

Page 25: Papers We Love: Jails and Zones

Zones: Design principles, cont.

Page 26: Papers We Love: Jails and Zones

Zones: State model

Page 27: Papers We Love: Jails and Zones

Zones: Configuration

Page 28: Papers We Love: Jails and Zones

Zones: Installation

Page 29: Papers We Love: Jails and Zones

Zones: Application environment

Page 30: Papers We Love: Jails and Zones

Zones: Virtual platform

Page 31: Papers We Love: Jails and Zones

Zones: Console

Page 32: Papers We Love: Jails and Zones

Zones: Process model

Page 33: Papers We Love: Jails and Zones

Zones: Process model, cont.

Page 34: Papers We Love: Jails and Zones

Zones: IPC

Page 35: Papers We Love: Jails and Zones

Zones: System V IPC

Page 36: Papers We Love: Jails and Zones

Zones: Networking

Page 37: Papers We Love: Jails and Zones

Zones: Filesystem

Page 38: Papers We Love: Jails and Zones

Zones: Resource management

Page 39: Papers We Love: Jails and Zones

Zones: Observability and debugging

Page 40: Papers We Love: Jails and Zones

Zones: Security experience

Page 41: Papers We Love: Jails and Zones

Zones: Workloads

Page 42: Papers We Love: Jails and Zones

Zones: Epilogue

• Crossbow added virtual NICs and exclusive IP stacks — and anti-spoof allowed exclusive IP stacks to be deployed safely

• Resource management became much more complete, adding memory capping, CPU capping, I/O throttling

• ZFS revolutionized zone installation/configuration

• With introduction of IPS packaging, Solaris got rid of so-called “sparse root” zones...

• ...and Joyent added sparse root zones back to SmartOS (thanks to no IPS and no global zone package management)

Page 43: Papers We Love: Jails and Zones

Zones: Epilogue, cont.

• Sun added notion of branded zones in 2006, including a nascent Linux brand (LX) — and then ripped LX out in 2010

• LX brand revived by Joyent in 2014 in SmartOS and completed (first deployed into production in early 2015)

• Overlay network support added to SmartOS by Joyent, allowing software-defined VXLAN-based networks in non-global zones

Page 44: Papers We Love: Jails and Zones

Jails and Zones: Conclusions

• Each of these technologies has served to inspire the other: zones was explicitly inspired by jails — and the jails networking work has been explicitly inspired by Crossbow

• These two papers are important because they capture not just the what, but the why of their respective works

• These technologies were both ahead of their time; it’s invaluable now to be able to understand their motivations!

• In the words of the late, great Jim Gray: You need to write more!