Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Terminology  





2 Description  





3 Resources needed  





4 Branded zones  





5 Documentation  





6 Implementation issues  





7 See also  





8 References  





9 External links  














Solaris Containers






Deutsch
Norsk bokmål
Polski
Русский

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Solaris Zones
Original author(s)Sun Microsystems
Developer(s)illumos and Oracle
Initial releaseJanuary 2005 (January 2005)
Written inC
Operating systemOracle Solaris
PlatformSPARC, x86
Available inEnglish
TypeOS-level virtualization
License CDDL, Proprietary
Websiteoracle.com/solaris

Solaris Containers (including Solaris Zones) is an implementation of operating system-level virtualization technology for x86 and SPARC systems, first released publicly in February 2004 in build 51 beta of Solaris 10, and subsequently in the first full release of Solaris 10, 2005. It is present in illumos (formerly OpenSolaris) distributions, such as OpenIndiana, SmartOS, Tribblix and OmniOS, and in the official Oracle Solaris 11 release.

A Solaris Container is the combination of system resource controls and the boundary separation provided by zones. Zones act as completely isolated virtual servers within a single operating system instance. By consolidating multiple sets of application services onto one system and by placing each into isolated virtual server containers, system administrators can reduce cost and provide most of the same protections of separate machines on a single machine.[1]

Terminology

[edit]

The name of this technology changed during development and the pre-launch public events. Before the launch of Solaris Zones in 2005, a Solaris Container was any type of workload constrained by Solaris resource management features. The latter had been a separate software package in earlier history. By 2007 the term Solaris Containers came to mean a Solaris Zone combined with resource management controls.

Later, there was a gradual move such that Solaris Containers specifically referred to non-global zones, with or without additional Resource Management. Zones hosted by a global zone are known as "non-global zones" but are sometimes just called "zones". The term "local zone" is specifically discouraged, since in this usage "local" is not an antonym of "global". The global zone has visibility of all resources on the system, whether these are associated with the global zone or a non-global zone. Unless otherwise noted, "zone" will refer to non-global zones in this article.

To simplify terminology, Oracle dropped the use of the term Container in Solaris 11, and reverted to the use of the term Solaris Zone irrespective of the use of resource management controls.

Description

[edit]

Each zone has its node name, access to virtual or physical network interfaces,[2] and storage assigned to it; there is no requirement for a zone to have any minimum amount of dedicated hardware other than the disk storage necessary for its unique configuration. Specifically, it does not require a dedicated CPU, memory, physical network interface or HBA, although any of these can be allocated specifically to one zone.[3]

Each zone has a security boundary surrounding it, preventing a process associated with one zone from interacting with or observing processes in other zones. Each zone can be configured with its own separate user list. The system automatically manages user ID conflicts; that is, two zones on a system could have a user ID 10000 defined, and each would be mapped to its own unique global identifier.[4]

A zone can be in one of the following states:

Some programs cannot be executed from within a non-global zone; typically this is because the application requires privileges that cannot be granted within a container. As a zone does not have its own separate kernel (in contrast to a hardware virtual machine), applications that require direct manipulation of kernel features, such as the ability to directly read or alter kernel memory space, may not work inside of a container.

Resources needed

[edit]

Zones induce a very low overhead on CPU and memory. Most types of zones share the global zone's virtual address space. A zone can be assigned to a resource pool (processor set plus scheduling class) to guarantee certain usage, can be capped at a fixed compute capacity ("capped CPU") or can be given shares via fair-share scheduling.[5]

Currently a maximum of 8191 non-global zones can be created within a single operating system instance. "Sparse Zones", in which most filesystem content is shared with the global zone, can take as little as 50 MB of disk space. "Whole Root Zones", in which each zone has its own copy of its operating system files, may occupy anywhere from several hundred megabytes to several gigabytes, depending on installed software. The 8191 limits arise from the limit of 8,192 loopback connections per Solaris instance. Each zone needs a loopback connection. The global zone gets one, leaving 8,191 for the non-global zones.

Even with Whole Root Zones, disk space requirements can be negligible if the zone's OS file system is a ZFS clone of the global zone image, since only the blocks different from a snapshot image need to be stored on disk; this method also makes it possible to create new zones in a few seconds.

Branded zones

[edit]

Although all zones on the system share a common kernel, an additional feature set has been added called branded zones (BrandZ for short). This allows individual zones to behave in a manner other than the default brand of the global zone. The existing brands (October 2009) can be grouped into two categories:

The brand for a zone is set at the time the zone is created. The second category is implemented with interposition points within the OS kernel that can be used to change the behavior of syscalls, process loading, thread creation, and other elements.

For the 'lx' brand, libraries from Red Hat 3 or an equivalent distribution such as CentOS are required to complete the emulated environment.

Documentation

[edit]

The Solaris operating system provides man pages for Solaris Containers by default; more detailed documentation can be found at various on-line technical resources.

The first published document and hands-on reference for Solaris Zones was written in February 2004 by Dennis Clarke at Blastwave, providing the essentials to getting started. This document was greatly expanded upon by Brendan Gregg in July 2005.[8] The Solaris 8 and Solaris 9 Containers were documented in detail by Dennis Clarke at Blastwave again in April 2008. The Blastwave Solaris 8 and Solaris 9 Containers document was very early in the release cycle of the Solaris Containers technology and the actions and implementation at Blastwave resulted in a followup by Sun Microsystems marketing. The book Oracle Solaris 10 System Virtualization Essentials written by Jeff Victor, et al., offers feature details and best practices. More extensive documentation may be found at the Oracle documentation site.[9]

Implementation issues

[edit]

As of Solaris 10 10/08, Branded Zones are supported on the sun4us architecture (Fujitsu PRIMEPOWER servers) through packages FJSVs8brandr and FJSVs9brandr.[10]

See also

[edit]

References

[edit]
  1. ^ "Introduction to Oracle Solaris Zones".
  • ^ "Zone Network Interfaces".
  • ^ "Capabilities Provided by Non-Global Zones".
  • ^ "Capabilities Provided by Non-Global Zones".
  • ^ "Resource Controls".
  • ^ "About Oracle Solaris Kernel Zones".
  • ^ "Oracle Solaris 11.2 Beta Downloads".
  • ^ "Zones". Solaris Internals wiki. November 6, 2007. Retrieved April 21, 2008.
  • ^ "Oracle Solaris 11.1 Information Library".
  • ^ "What's New in the Solaris 10 10/08 Packages". Oracle. September 1, 2008. Retrieved September 1, 2008.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Solaris_Containers&oldid=1235779301"

    Categories: 
    Virtualization software
    Sun Microsystems software
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles lacking reliable references from April 2017
    All articles lacking reliable references
    Articles needing additional references from March 2010
    All articles needing additional references
    Use mdy dates from January 2016
     



    This page was last edited on 21 July 2024, at 05:03 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki