SmartOS

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
SmartOS
File:TritonSmartOS20221201.png
SmartOS banner and console login
DeveloperMNX Solutions
Written inC
OS familyUnix (SysV)
Working stateCurrent
Source modelOpen source, on GitHub[1]
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Available inEnglish
Package managerpkgsrc
Supported platformsx86-64
Kernel typeMonolithic
LicenseCDDL-1.0
Official website{{#property:P856}}

SmartOS is a free and open-source SVR4 hypervisor based on the UNIX operating system that combines OpenSolaris technology with bhyve and KVM virtualization.[2] Its core kernel contributes to the illumos project.[3] It features several technologies: Crossbow, DTrace, bhyve, KVM, ZFS, and Zones.[4][5] Unlike other illumos distributions, SmartOS employs NetBSD pkgsrc package management.[6][7] SmartOS is designed to be particularly suitable for building clouds and generating appliances.[8] It was originally developed for and by Joyent, who announced in April 2022 that they had sold their business supporting and developing of Triton Datacenter and SmartOS to MNX Solutions.[9]

SmartOS is an in-memory operating system and boots directly into random-access memory. It supports various boot mechanisms such as booting from hard drive, USB thumbdrive, ISO Image, or over the network via PXE boot. One of the many benefits of employing this boot mechanism is that operating system upgrades are trivial, simply requiring a reboot from a newer SmartOS image version.[10]

SmartOS follows a strict local node storage architecture. This means that virtual machines are stored locally on each node and do not boot over the network from a central SAN or NAS. This helps ensure that network latency issues are eliminated as well as to preserve node independence. Multi-node SmartOS clouds can be managed via the open-source[11] MNX Triton DataCenter[12] (formerly known as SmartDataCenter[13]) cloud orchestration suite or via the Project Fifo[14] Open Source SmartOS Cloud management platform built on Erlang.

In 2012, Joyent and MongoDB Inc. (formerly 10gen) partnered to improve the scalability of SmartOS.[15]

Virtualization

[edit | edit source]

SmartOS includes a number of virtualization technologies, including:

  • Zones, a light weight operating system-level virtualization; analogous to "jails" or "containers" as provided by other systems
  • Hardware virtualization

Native Zones

[edit | edit source]

Native zones provide SmartOS applications isolation environment, based on Solaris Containers, an OS-level virtualization, without the overhead of hardware-emulating HVM virtual machines.

LX zones (Linux system call emulation)

[edit | edit source]

LX-branded zones provide the Linux system call interface, enabling the execution of Linux application binaries without recompiling them for SmartOS. This facility is available in several illumos distributions, including SmartOS and OmniOS.

KVM and QEMU were ported to SmartOS in 2011, and can be used on Intel CPUs with VMX and EPT support.

bhyve

[edit | edit source]

The Bhyve hypervisor from FreeBSD was ported to SmartOS. This is the preferred virtualization when required to use HVM for Windows or Linux guests.

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[dead link]
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[dead link]
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]
  • Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).