Movatterモバイル変換


[0]ホーム

URL:


Uploaded bybcantrill
PDF, PPTX36,511 views

The dream is alive! Running Linux containers on an illumos kernel

The document discusses the revival of Linux emulation on illumos through lx-branded zones, tracing its history and challenges, including initial implementations and the decline of contributions. It highlights the successful efforts by community members to restore and improve the lx brand, making significant strides in supporting modern Linux applications. Current goals include enhancing 64-bit support and encouraging community involvement in further development.

In this document
Powered by AI

Introduction to running Linux containers on the illumos kernel by Bryan Cantrill, CTO.

Discusses OS emulation's history, kernel compatibility, and examples from Solaris and Linux.

Introduces the concept of branded zones to deepen the emulation of complex systems.

Details the development of BrandZ, supporting Linux binaries through a hybrid emulation model.

Identifies missing support for newer Linux kernels and the focus shift to XVM virtualization.

Charts the decline in contributions to LX branded zones post-2007.

Announces the removal of the LX brand in June 2010, marking its decline.

Describes how Joyent customers wanted Linux functionalities like htop, leading to LX /proc integration.

David Mackay's work revived the LX brand, successfully restoring it in illumos systems.

Explores the potential for reviving LX branded zones based on newer engineering perspectives.

Discusses slower pace of Linux kernel development and its impact on LX zone integration.

Originally focused on application consolidation, now there's interest in combining Linux and illumos benefits.

Jerry Jelinek led efforts to revitalize the LX brand, integrating it with SmartOS and fixing issues.

Presents data on the increasing contributions and activity related to the LX brand post-revival.

Lists significant fixes and enhancements made to the LX brand, including 64-bit support efforts.

Outlines remaining tasks and enhancements necessary for the complete revival of the LX brand.

Encourages community involvement in the SmartOS project and provides setup guidance.

Acknowledges contributions from various individuals and teams that supported the LX brand revival.

Embed presentation

Download as PDF, PPTX
The dream is alive! Running Linux containers on an illumos kernel Bryan Cantrill CTO bryan@joyent.com @bcantrill
OS emulation: An old idea • Operating systems have long employed system call emulation to allow binaries from one operating system run on another on the same instruction set architecture • Combines the binary footprint of the emulated system with the operational advantages of the emulating system • Sun first did this with SunOS 4.x binaries on Solaris 2.x • With Solaris x86, it became possible to run binaries targeted for Linux via SCO’s (open source) “lxrun” • Packaging innovation in Linux in early 2000s + deeply differentiated technologies in Solaris 10 (e.g. ZFS, DTrace, zones) made Linux emulation more attractive
Rise of zones • While more important, the problem also became more complicated: programs became more complicated than single-process binaries • Clear that “lxrun” would only work for applications, not systems — needed a deeper solution • Fortunately, coincided with the rise of operating system virtualization embodied by zones • Idea: introduce notion of a branded zone whereby an entire foreign system (a brand) could be emulated within the confines of a zone
BrandZ: LX-branded zones • In 2006, team at Sun that included Nils Nieuwejaar and Russ Blaine integrated BrandZ, a Linux branded zone (PSARC 2005/471) • Support was a user/kernel hybrid: lx system calls bounced back to a user-level emulation library that depended on some in-kernel emulation (e.g. futexes) • Support was for RHEL 3 (!): glibc 2.3.2 + Linux 2.4 • Remarkable amount of work was done to handle device pathing, signal handling, /proc — and arcana like TTY ioctls, ptrace, etc. • Worked for a surprising number of binaries!
What was missing? • Support was only for 2.4 kernels • Support for 2.6 required adding new, Linux-only mechanisms that had native analogues (e.g., epoll) • Only 32-bit was supported • XVM (the Xen-on-Solaris effort inside of Sun) had much more managerial support and was thought to be a “more supportable” solution
The decline of the lx brand After cresting in 2007, contributions to lx dwindled: 30 20 10 0 2006 2007 2008 2009 2010 Pushes to usr/src/lib/brand/lx
Clinically dead The lx brand was removed on June 11, 2010... 30 20 10 0 2006 2007 2008 2009 2010 2011 2012 2013 Pushes to usr/src/lib/brand/lx
The organ donation years • Joyent customers asked for SmartOS to support htop, a colorful Linux program for system process monitoring • htop is very, very specific to Linux /proc — and porting it to use illumos /proc seemed arduous and pointless… • ...but a relatively complete Linux /proc had integrated with the LX brand! • In April 2012, the /proc portion of the LX brand was extracted, cleaned up, and separately integrated • Mounted at /system/lxproc in SmartOS zones; htop modified to look for this path on illumos
Exhumed! • In January 2014, David Mackay, an illumos community member, announced that he was able to resurrect the lx brand —and that it appeared to work! Linked below is a webrev which restores LX branded zones support to Illumos: http://cr.illumos.org/~webrev/DavidJX8P/lx-zones-restoration/ I have been running OpenIndiana, using it daily on my workstation for over a month with the above webrev applied to the illumos-gate and built by myself. It would definitely raise interest in Illumos. Indeed, I have seen many people who are extremely interested in LX zones. The LX zones code is minimally invasive on Illumos itself, and is mostly segregated out. I hope you find this of interest.
Could it be revived? • David’s work inspired us to rethink LX-branded zones... • It seemed that the reasons for the discontinuation of LX brand support might not still be valid... • ...and it seemed that the engineering challenges might not be as structurally daunting
Has Linux made it easier? • Linux is moving much more slowly: pace of development of new user-visible kernel abstraction has slowed • Torvalds discovered religion on ABI compatibility • The need to run on older kernels has dissuaded software from using the more obscure Linux-isms • The glibc/kernel disconnect means that glibc (and apps!) must reasonably be able to process ENOSYS • Easier support model: the rise of the cloud has replaced shrink-wrapped software with open source + SaaS • Server focus: Mac OS X gave us Unix — and relegated “Linux on the desktop” to “Duke Nukem Forever” status
Have motivations changed? • Originally, LX branded zones were about bringing Linux applications into established Solaris environments for purposes of hardware consolidation • Port of KVM to illumos circa 2011 solved this problem • ...but KVM has unresolvable performance and resource limitations, and Linux on KVM only gets indirect benefit from ZFS, DTrace and zones • At the same time, enthusiasm for containers and OS-based virtualization have blossomed (ht: Docker) • There seems to be desire for a best-of-all worlds system that combines Linux strengths (binary footprint) with illumos technical differentiators (ZFS, zones, DTrace)
Reviving LX-branded zones • Encouraged that the body might not have decomposed, Joyent engineer Jerry Jelinek exhumed the LX brand and reintegrated it into SmartOS on March 20, 2014 • Guiding principles: • Do it all in the open • Do it all on SmartOS master (illumos-joyent) • Add base illumos facilities wherever possible • Aim to upstream to illumos when we’re done • Thanks to Jerry grinding out many, many LX bug fixes, got Ubuntu 10.04 booting in April, Ubuntu 12.04 booting in May and Ubuntu 14.04 booting in July
IT’S ALIVE! Contributions to the lx brand since March: 100 lx brand/75 lib/src/50 usr/to Pushes 25 0 2006 2007 2008 2009 2010 2011 2012 2013 2014
So what have we done? • Fixed a ton of bugs (ht: LTP) • Added native epoll(5) — though not in terms of event ports but rather in terms of poll(7D) • Added exclusive IP stacks for LX-branded zones • Added support for netlink (RFC 3549) — but restricted that support to the lx brand • Added support for thunk-less native binaries within an LX branded zone • Added native inotify(5) • Added initial 64-bit support
What is left to do? • vsyscall support (needed for 64-bit) • Anything else for 64-bit • Stack switching (needed for Go) • Multi-threaded ptrace support • Lots of using it and figuring out what breaks!
How can you get involved? • SmartOS contains latest-and-greatest bits; first step is to get SmartOS running • We have a 32-bit Ubuntu 14.04 image that can be used to create a zone via vmadm: b7493690-f019-4612-958b-bab5f844283e • Will need to configure a VM with “kernel-version” set to 3.13.0 and “brand” to “lx” in the vmadm JSON payload • If you find that something is boken, create an issue on the illumos-joyent github repo • Once 64-bit is working, we will be very actively seeking community engagement; stay tuned!
Thanks! • The original BrandZ team at Sun for a remarkable amount of work: Nils Nieuwejaar and Russ Blaine • The illumos community — especially David Mackay! — for inspiring the revival • Jerry Jelinek for leading the charge — and doing the vast majority of the work! • @rmustacc for thunk-less native binary support • @jmclulow for stack switching • @djhoffma for his work on ptrace • @joshwilsdon for vmadm support for LX brands

Recommended

PDF
Bringing the Unix Philosophy to Big Data
PPTX
Linux ppt
PPT
Desktop environment
PDF
Browsing Linux Kernel Source
PPTX
Kernel. Operating System
PPT
The Cell Processor
PDF
TensorFlow
PDF
Introduction to Qiskit
PPTX
Unix operating system
PPT
Operating System: Deadlock
PDF
CS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdf
PDF
Linux Kernel Overview
PDF
syzkaller: the next gen kernel fuzzer
PPSX
Estados y Transiciones
PDF
Pipelining and ILP (Instruction Level Parallelism)
PPTX
Undecidability.pptx
PDF
Extreme Linux Performance Monitoring and Tuning
PDF
Algorithm chapter 10
PPTX
Genetic Algorithm
PPTX
Context switching
PDF
Genetic algorithm fitness function
PPT
Structure of operating system
PPTX
Tower of Hanoi
PPT
Lecture#5
PPTX
RNN & LSTM: Neural Network for Sequential Data
PPTX
Quantum computers
PDF
Parallelism
PPT
Ch 1-final-file organization from korth
PDF
Papers We Love: Jails and Zones
PDF
Corporate Open Source Anti-patterns

More Related Content

PDF
Bringing the Unix Philosophy to Big Data
PPTX
Linux ppt
PPT
Desktop environment
PDF
Browsing Linux Kernel Source
PPTX
Kernel. Operating System
PPT
The Cell Processor
PDF
TensorFlow
PDF
Introduction to Qiskit
Bringing the Unix Philosophy to Big Data
Linux ppt
Desktop environment
Browsing Linux Kernel Source
Kernel. Operating System
The Cell Processor
TensorFlow
Introduction to Qiskit

What's hot

PPTX
Unix operating system
PPT
Operating System: Deadlock
PDF
CS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdf
PDF
Linux Kernel Overview
PDF
syzkaller: the next gen kernel fuzzer
PPSX
Estados y Transiciones
PDF
Pipelining and ILP (Instruction Level Parallelism)
PPTX
Undecidability.pptx
PDF
Extreme Linux Performance Monitoring and Tuning
PDF
Algorithm chapter 10
PPTX
Genetic Algorithm
PPTX
Context switching
PDF
Genetic algorithm fitness function
PPT
Structure of operating system
PPTX
Tower of Hanoi
PPT
Lecture#5
PPTX
RNN & LSTM: Neural Network for Sequential Data
PPTX
Quantum computers
PDF
Parallelism
PPT
Ch 1-final-file organization from korth
Unix operating system
Operating System: Deadlock
CS304PC:Computer Organization and Architecture UNIT V_merged_merged.pdf
Linux Kernel Overview
syzkaller: the next gen kernel fuzzer
Estados y Transiciones
Pipelining and ILP (Instruction Level Parallelism)
Undecidability.pptx
Extreme Linux Performance Monitoring and Tuning
Algorithm chapter 10
Genetic Algorithm
Context switching
Genetic algorithm fitness function
Structure of operating system
Tower of Hanoi
Lecture#5
RNN & LSTM: Neural Network for Sequential Data
Quantum computers
Parallelism
Ch 1-final-file organization from korth

Viewers also liked

PDF
Papers We Love: Jails and Zones
PDF
Corporate Open Source Anti-patterns
PDF
Inside Docker for Fedora20/RHEL7
PDF
The Container Revolution: Reflections after the first decade
PDF
Debugging node in prod
PPTX
Event driven-automation and workflows
PDF
Photos vs Assets Library - いまさら始めるPhotos.framework
PDF
The State of Cloud 2016: The whirlwind of creative destruction
PDF
Down Memory Lane: Two Decades with the Slab Allocator
PPT
10 Social Media lessons - Barack Obama election campaign
PDF
API Microservices with Node.js and Docker
PDF
Lxbrand
PDF
Kudos - A Peer-to-Peer Discussion System Based on Social Voting
Papers We Love: Jails and Zones
Corporate Open Source Anti-patterns
Inside Docker for Fedora20/RHEL7
The Container Revolution: Reflections after the first decade
Debugging node in prod
Event driven-automation and workflows
Photos vs Assets Library - いまさら始めるPhotos.framework
The State of Cloud 2016: The whirlwind of creative destruction
Down Memory Lane: Two Decades with the Slab Allocator
10 Social Media lessons - Barack Obama election campaign
API Microservices with Node.js and Docker
Lxbrand
Kudos - A Peer-to-Peer Discussion System Based on Social Voting

Similar to The dream is alive! Running Linux containers on an illumos kernel

PDF
PPTX
Operating Systems: A History of Linux
PPTX
Realizing Linux Containers (LXC)
PDF
RunX: deploy real-time OSes as containers at the edge
PDF
Experiences porting KVM to SmartOS
PPTX
Surge2014 talk - illumos State of the Community & POSIX Update
PPTX
History of linux
PDF
pkgsrc on SmartOS
PDF
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
PDF
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
PDF
LXC outline
PDF
LXC on Ganeti
PDF
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
PDF
Illumos — LOPSA SD
PDF
introduction.pdf
 
ODP
Illumos la-jan11
PDF
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
ODP
Armbian balcoon
PDF
Linuxcon Barcelon 2012: LXC Best Practices
PPTX
Lxc – next gen virtualization for cloud intro (cloudexpo)
Operating Systems: A History of Linux
Realizing Linux Containers (LXC)
RunX: deploy real-time OSes as containers at the edge
Experiences porting KVM to SmartOS
Surge2014 talk - illumos State of the Community & POSIX Update
History of linux
pkgsrc on SmartOS
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LXC outline
LXC on Ganeti
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
Illumos — LOPSA SD
introduction.pdf
 
Illumos la-jan11
Joyent's Bryan Cantrill: Experiences Porting KVM to SmartOS at KVM Forum, Aug...
Armbian balcoon
Linuxcon Barcelon 2012: LXC Best Practices
Lxc – next gen virtualization for cloud intro (cloudexpo)

More from bcantrill

PDF
Visualizing Systems with Statemaps
PDF
Zebras all the way down: The engineering challenges of the data path
PDF
Hardware/software Co-design: The Coming Golden Age
PDF
Platform as reflection of values: Joyent, node.js, and beyond
PDF
Predicting the Present
PDF
Platform values, Rust, and the implications for system software
PDF
Papers We Love: ARC after dark
PDF
dtrace.conf(16): DTrace state of the union
PDF
Principles of Technology Leadership
PDF
Is it time to rewrite the operating system in Rust?
PDF
I have come to bury the BIOS, not to open it: The need for holistic systems
PDF
Towards Holistic Systems
PDF
Tockilator: Deducing Tock execution flows from Ibex Verilator traces
PDF
The Coming Firmware Revolution
PDF
No Moore Left to Give: Enterprise Computing After Moore's Law
PDF
Debugging under fire: Keeping your head when systems have lost their mind
PDF
Sharpening the Axe: The Primacy of Toolmaking
PDF
The Hurricane's Butterfly: Debugging pathologically performing systems
PDF
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
PDF
Coming of Age: Developing young technologists without robbing them of their y...
Visualizing Systems with Statemaps
Zebras all the way down: The engineering challenges of the data path
Hardware/software Co-design: The Coming Golden Age
Platform as reflection of values: Joyent, node.js, and beyond
Predicting the Present
Platform values, Rust, and the implications for system software
Papers We Love: ARC after dark
dtrace.conf(16): DTrace state of the union
Principles of Technology Leadership
Is it time to rewrite the operating system in Rust?
I have come to bury the BIOS, not to open it: The need for holistic systems
Towards Holistic Systems
Tockilator: Deducing Tock execution flows from Ibex Verilator traces
The Coming Firmware Revolution
No Moore Left to Give: Enterprise Computing After Moore's Law
Debugging under fire: Keeping your head when systems have lost their mind
Sharpening the Axe: The Primacy of Toolmaking
The Hurricane's Butterfly: Debugging pathologically performing systems
Andreessen's Corollary: Ethical Dilemmas in Software Engineering
Coming of Age: Developing young technologists without robbing them of their y...

Recently uploaded

PDF
DSD-INT 2025 MeshKernel and D-Grid Editor - Stout
PDF
Breaking the Vulnerability Management Cycle with Anchore and Echo
PPTX
Building AI agents in Java - Devoxx Belgium 2025
PDF
DevOps Monitoring Tools: The 2025 Guide to Performance & Observability
PDF
DSD-INT 2025 Modernizing Hydrodynamics in Large Flood Forecasting System - Mi...
PDF
IAAM Meetup #7 chez Onepoint - Construire un Rag-as-a-service en production. ...
PDF
DSD-INT 2025 Exploring different domain decomposition approaches for enhanced...
PDF
Presentation Empowerment Technology in ICT
PDF
BCA 1st Semester Fundamentals Solved Question Paper 44121
PDF
SCORM Cloud: The 5 categories of content distribution
PDF
Data Integration with Salesforce Bootcamp
PDF
DSD-INT 2025 Advancing Urban Flood Modeling with Delft3D FM 1D2D - A Pilot St...
PDF
DSD-INT 2025 Hydrodynamic and Morphodynamic Modeling with Delft3D FM for an I...
PDF
DSD-INT 2025 Building-Aware Flood and Lifeline Scour Modeling with Delft3D FM...
PDF
DSD-INT 2025 From Software to Impact - Water Quality Modelling for the UN Oce...
PDF
DSD-INT 2025 Quantifying Flood Mitigation Strategies Under Sea Level Rise - H...
PPTX
Moving Cloud 360:- Busy Software Provider In Delhi NCR
PDF
DSD-INT 2025 UK Coastal Flooding Incident Guide - Dam
PDF
ECFT Case Study: Digital Pilot Transportation System
PPTX
AI Clinic Management Tool for Dermatologists Making Skin Care Smarter, Simple...
DSD-INT 2025 MeshKernel and D-Grid Editor - Stout
Breaking the Vulnerability Management Cycle with Anchore and Echo
Building AI agents in Java - Devoxx Belgium 2025
DevOps Monitoring Tools: The 2025 Guide to Performance & Observability
DSD-INT 2025 Modernizing Hydrodynamics in Large Flood Forecasting System - Mi...
IAAM Meetup #7 chez Onepoint - Construire un Rag-as-a-service en production. ...
DSD-INT 2025 Exploring different domain decomposition approaches for enhanced...
Presentation Empowerment Technology in ICT
BCA 1st Semester Fundamentals Solved Question Paper 44121
SCORM Cloud: The 5 categories of content distribution
Data Integration with Salesforce Bootcamp
DSD-INT 2025 Advancing Urban Flood Modeling with Delft3D FM 1D2D - A Pilot St...
DSD-INT 2025 Hydrodynamic and Morphodynamic Modeling with Delft3D FM for an I...
DSD-INT 2025 Building-Aware Flood and Lifeline Scour Modeling with Delft3D FM...
DSD-INT 2025 From Software to Impact - Water Quality Modelling for the UN Oce...
DSD-INT 2025 Quantifying Flood Mitigation Strategies Under Sea Level Rise - H...
Moving Cloud 360:- Busy Software Provider In Delhi NCR
DSD-INT 2025 UK Coastal Flooding Incident Guide - Dam
ECFT Case Study: Digital Pilot Transportation System
AI Clinic Management Tool for Dermatologists Making Skin Care Smarter, Simple...

The dream is alive! Running Linux containers on an illumos kernel

  • 1.
    The dream isalive! Running Linux containers on an illumos kernel Bryan Cantrill CTO bryan@joyent.com @bcantrill
  • 2.
    OS emulation: Anold idea • Operating systems have long employed system call emulation to allow binaries from one operating system run on another on the same instruction set architecture • Combines the binary footprint of the emulated system with the operational advantages of the emulating system • Sun first did this with SunOS 4.x binaries on Solaris 2.x • With Solaris x86, it became possible to run binaries targeted for Linux via SCO’s (open source) “lxrun” • Packaging innovation in Linux in early 2000s + deeply differentiated technologies in Solaris 10 (e.g. ZFS, DTrace, zones) made Linux emulation more attractive
  • 3.
    Rise of zones• While more important, the problem also became more complicated: programs became more complicated than single-process binaries • Clear that “lxrun” would only work for applications, not systems — needed a deeper solution • Fortunately, coincided with the rise of operating system virtualization embodied by zones • Idea: introduce notion of a branded zone whereby an entire foreign system (a brand) could be emulated within the confines of a zone
  • 4.
    BrandZ: LX-branded zones• In 2006, team at Sun that included Nils Nieuwejaar and Russ Blaine integrated BrandZ, a Linux branded zone (PSARC 2005/471) • Support was a user/kernel hybrid: lx system calls bounced back to a user-level emulation library that depended on some in-kernel emulation (e.g. futexes) • Support was for RHEL 3 (!): glibc 2.3.2 + Linux 2.4 • Remarkable amount of work was done to handle device pathing, signal handling, /proc — and arcana like TTY ioctls, ptrace, etc. • Worked for a surprising number of binaries!
  • 5.
    What was missing?• Support was only for 2.4 kernels • Support for 2.6 required adding new, Linux-only mechanisms that had native analogues (e.g., epoll) • Only 32-bit was supported • XVM (the Xen-on-Solaris effort inside of Sun) had much more managerial support and was thought to be a “more supportable” solution
  • 6.
    The decline ofthe lx brand After cresting in 2007, contributions to lx dwindled: 30 20 10 0 2006 2007 2008 2009 2010 Pushes to usr/src/lib/brand/lx
  • 7.
    Clinically dead Thelx brand was removed on June 11, 2010... 30 20 10 0 2006 2007 2008 2009 2010 2011 2012 2013 Pushes to usr/src/lib/brand/lx
  • 8.
    The organ donationyears • Joyent customers asked for SmartOS to support htop, a colorful Linux program for system process monitoring • htop is very, very specific to Linux /proc — and porting it to use illumos /proc seemed arduous and pointless… • ...but a relatively complete Linux /proc had integrated with the LX brand! • In April 2012, the /proc portion of the LX brand was extracted, cleaned up, and separately integrated • Mounted at /system/lxproc in SmartOS zones; htop modified to look for this path on illumos
  • 9.
    Exhumed! • InJanuary 2014, David Mackay, an illumos community member, announced that he was able to resurrect the lx brand —and that it appeared to work! Linked below is a webrev which restores LX branded zones support to Illumos: http://cr.illumos.org/~webrev/DavidJX8P/lx-zones-restoration/ I have been running OpenIndiana, using it daily on my workstation for over a month with the above webrev applied to the illumos-gate and built by myself. It would definitely raise interest in Illumos. Indeed, I have seen many people who are extremely interested in LX zones. The LX zones code is minimally invasive on Illumos itself, and is mostly segregated out. I hope you find this of interest.
  • 10.
    Could it berevived? • David’s work inspired us to rethink LX-branded zones... • It seemed that the reasons for the discontinuation of LX brand support might not still be valid... • ...and it seemed that the engineering challenges might not be as structurally daunting
  • 11.
    Has Linux madeit easier? • Linux is moving much more slowly: pace of development of new user-visible kernel abstraction has slowed • Torvalds discovered religion on ABI compatibility • The need to run on older kernels has dissuaded software from using the more obscure Linux-isms • The glibc/kernel disconnect means that glibc (and apps!) must reasonably be able to process ENOSYS • Easier support model: the rise of the cloud has replaced shrink-wrapped software with open source + SaaS • Server focus: Mac OS X gave us Unix — and relegated “Linux on the desktop” to “Duke Nukem Forever” status
  • 12.
    Have motivations changed?• Originally, LX branded zones were about bringing Linux applications into established Solaris environments for purposes of hardware consolidation • Port of KVM to illumos circa 2011 solved this problem • ...but KVM has unresolvable performance and resource limitations, and Linux on KVM only gets indirect benefit from ZFS, DTrace and zones • At the same time, enthusiasm for containers and OS-based virtualization have blossomed (ht: Docker) • There seems to be desire for a best-of-all worlds system that combines Linux strengths (binary footprint) with illumos technical differentiators (ZFS, zones, DTrace)
  • 13.
    Reviving LX-branded zones• Encouraged that the body might not have decomposed, Joyent engineer Jerry Jelinek exhumed the LX brand and reintegrated it into SmartOS on March 20, 2014 • Guiding principles: • Do it all in the open • Do it all on SmartOS master (illumos-joyent) • Add base illumos facilities wherever possible • Aim to upstream to illumos when we’re done • Thanks to Jerry grinding out many, many LX bug fixes, got Ubuntu 10.04 booting in April, Ubuntu 12.04 booting in May and Ubuntu 14.04 booting in July
  • 14.
    IT’S ALIVE! Contributionsto the lx brand since March: 100 lx brand/75 lib/src/50 usr/to Pushes 25 0 2006 2007 2008 2009 2010 2011 2012 2013 2014
  • 15.
    So what havewe done? • Fixed a ton of bugs (ht: LTP) • Added native epoll(5) — though not in terms of event ports but rather in terms of poll(7D) • Added exclusive IP stacks for LX-branded zones • Added support for netlink (RFC 3549) — but restricted that support to the lx brand • Added support for thunk-less native binaries within an LX branded zone • Added native inotify(5) • Added initial 64-bit support
  • 16.
    What is leftto do? • vsyscall support (needed for 64-bit) • Anything else for 64-bit • Stack switching (needed for Go) • Multi-threaded ptrace support • Lots of using it and figuring out what breaks!
  • 17.
    How can youget involved? • SmartOS contains latest-and-greatest bits; first step is to get SmartOS running • We have a 32-bit Ubuntu 14.04 image that can be used to create a zone via vmadm: b7493690-f019-4612-958b-bab5f844283e • Will need to configure a VM with “kernel-version” set to 3.13.0 and “brand” to “lx” in the vmadm JSON payload • If you find that something is boken, create an issue on the illumos-joyent github repo • Once 64-bit is working, we will be very actively seeking community engagement; stay tuned!
  • 18.
    Thanks! • Theoriginal BrandZ team at Sun for a remarkable amount of work: Nils Nieuwejaar and Russ Blaine • The illumos community — especially David Mackay! — for inspiring the revival • Jerry Jelinek for leading the charge — and doing the vast majority of the work! • @rmustacc for thunk-less native binary support • @jmclulow for stack switching • @djhoffma for his work on ptrace • @joshwilsdon for vmadm support for LX brands

[8]ページ先頭

©2009-2025 Movatter.jp