BrandZ/SCLA FAQ:
- What is BrandZ?
- What is "Solaris Containers for Linux Applications"?
- When and how will SCLA be made available?
- What is the purpose of this community release and how can I participate in and/or influence this technology?
- Are there any limitations I should be aware of?
- What can I run under SCLA?
- What kind of performance can I expect for my Linux applications?
- How does BrandZ relate to Zones?
- What is the difference between BrandZ/SCLA and Xen?
- What about Project Janus?
- Does this support SPARC?
- Do I have to pay for a Red Hat license?
What is "Solaris Containers for Linux Applications"?
Solaris Containers for Linux Applications (SCLA) uses the BrandZ technology to run Linux applications on the Solaris Operating System (OS). Linux applications run unmodified in the secure environment provided by the Solaris Container feature. For more detail on the applications and benefits of this feature, please see the datasheet at: http://www.sun.com/software/solaris/scla.jsp.
What is BrandZ?
Branded Zones, or BrandZ, is the underlying framework that allows us to create Linux zones as well as other non-native zones on a machine running the Solaris Operating System. For example, it may someday be possible to have a Red Hat zone, a Debian zone, and a SuSE zone all running on the same Solaris 10 system. This technology is not limited to running Linux zones. BrandZ could also be used to develop brands that support a FreeBSD zone, a Darwin x86 zone, or variant Solaris zones that contain non-standard software collections.
When and how will SCLA be made available?
BrandZ is the engineering project behind Solaris Containers for Linux Applications. BrandZ is available today in the form of a development preview via OpenSolaris. It is possible to download the latest source code and binaries to test-drive this technology. It is also possible to monitor development as this technology matures and contribute enhancements via the OpenSolaris community.
The supported feature will be delivered in a Solaris Express release and as an update to Solaris 10 as "Solaris Containers for Linux Applications".
What is the purpose of this community release and how can I participate in and/or influence this technology?
The official feature known as Solaris Containers for Linux Applications uses the BrandZ extensions to create Solaris Containers with a Red Hat or CentOS personality. In such an environment, the corresponding Red Hat / CentOS binaries can be executed directly and Sun will provide support specifically for this scenario.
BrandZ, however, provides a framework flexible enough to potentially enable other personalities or brands as well. It may be possible to create brands that support other Linux distributions, such as SuSE or Debian, or brands that support completely different operating systems, such as FreeBSD or Darwin x86. While development of these brands may not be within the scope for Sun Microsystems at this time, this community release enables interested third parties to create those brands and improve or extend the BrandZ framework to support them.
Are there any limitations I should be aware of?
BrandZ/lx and SCLA will run on x86/x64-based systems running the Solaris 10 (or Nevada) Operating System in either 32-bit or 64-bit mode. We currently only support the execution of 32-bit Linux applications.
The emulation provided by the lx brand corresponds to the interfaces provided by the Linux 2.4.21 kernel with glibc version 2.3.2, which is the combination found on CentOS and Red Hat Enterprise Linux 3.x. Linux applications built for other distros may work in this environment, but there are no guarantees.
Generally speaking, we expect most Red Hat binaries to "just work" once development has been completed and this feature has passed Quality Assurance testing. During this pre-release phase there may of course still be some kinks in the system.
There are some types of applications with specific requirements that will not run in this environment even when it is completed. For example:- Applications with specific Linux kernel requirements or that directly access Linux kernel state. Some system management and monitoring applications fall into this category. This technology ultimately runs on top of the Solaris 10 kernel, so the underlying state these applications require simply isn't present.
- Applications that require specific Linux device drivers. Again, the underlying OS is Solaris 10, so device drivers that plug into the Linux kernel will not work.
- Applications that require direct access to a framebuffer. This device is not present in a zone, so Linux applications running in a zone will not be able to access it. X-based applications will of course work, but the X server itself must run in the global zone.
It is also worth pointing out that Sun is focussing on Red Hat and CentOS binaries, so binaries from other Linux distributions may not necessarily run out of the box.
Some final caveats to be aware of: - Linux applications will not run in the global zone.
- If a Linux application crashes, it will leave Solaris core files.
Some of these limitations represent fundamental architectural limitations, others may be overcome by additional development. As a member of the OpenSolaris community, you are welcome to participate in enhancing the scope of this feature. A list of the items on our current to-do list can be found here.
What can I run under SCLA?
Many standard applications (xterm, vi, gcc, etc.) that come installed on a typical Linux system are working.
We are working on compiling a list of larger-scale applications that have been tried, and tracking which work and which do not yet work. This is an area in which we would be eager to get feedback from the OpenSolaris community. The current list is available here: http://opensolaris.org/os/community/brandz/applications/.
What kind of performance can I expect for my Linux applications?
Our focus to this point has been on implementing the fundamental features of BrandZ/lx, but performance is an important goal for the final product. Our expectation is that at when we ship, most Linux applications will run with a minimal performance overhead of around 5% compared to the equivalent, native Linux environment.
How does BrandZ relate to Zones?
BrandZ provides an extension to the capability of Zones in the Solaris OS, essentially allowing Zones to assume different "personalities". We call such non-native application environments "Branded Zones". Zones are a core building block of the Solaris Containers feature in Solaris 10. For more information on zones, please visit the Zones community.
What is the difference between BrandZ and Xen?
Xen is a technology that virtualizes an entire machine, allowing you to run a complete operating system including the kernel. BrandZ allows you to run just an operating system's userspace components, with a Solaris kernel under the hood. For more information on Xen, please visit the Xen community. As an extension of zones, the Xen team's explanation of the relationship between Xen and Zones equally applies to the relationship between Xen and BrandZ.
What about Project Janus?
Project Janus was the code-name behind the first phase of delivering Linux binary compatibility in Solaris. It was released as a technology preview (then called the "Linux Application Environment") to a small number of customers earlier this year. BrandZ represents the follow-on project to Janus, incorporating architectural improvements and tighter integration with the Solaris Containers feature.
Does this support SPARC?
Do I have to pay for a Red Hat license?
If you choose to run the SCLA with Red Hat Enterprise Linux you will be required to comply with current Red Hat licensing rules. As of today Red Hat Enterprise Linux is licensed per system.
Please note that our testing has shown that CentOS should also run under SCLA, giving our customers a less restrictive licensing option.
on 2009/10/26 12:07