New SmartOS: Ready to Serve as Next VM or Container Host
SmartOS isn’t nearly as well known as some of the other UNIX or Linux-like operating systems built for virtual machines and containers. Based on illumos (a community fork of OpenSolaris), you’ll find plenty of features in SmartOS to make virtualization and containerization not only possible but robust and reliable.
SmartOS was designed, from the ground up, to be ideal for cloud native and virtual use cases. It can be used as:
- A VM hypervisor.
- Lightweight container host.
- Multi-tenant deployments.
SmartOS supports two different types of virtualization:
- OS VMs (aka Zones) are virtualized instances of SmartOS that behave like isolated systems.
- Hardware Virtual Machines, which is a more traditional method of running VMs.
This open source operating system features full container isolation in a multi-tenant environment; production-grade networking (with each container having its own unique IP address); per-container secure, isolated, resizable filesystems, and more.
The latest release of SmartOS was mostly about bug fixes, some of which include:
- ring in clear_locks fix to release-20230209.
- signalfd overzealous with clean-up.
- pollhead lifetime too short in signalfd.
- pcieadm misrepresents PCIE_AER_CTL as PCIE_AER_RE_CMD.
- sharing pcieb HP/LBW interrupts with AER results in spurious ereports.
- MAC should more easily support dual-personality devices.
- Fix function prototype in in.routed/if.c.
The full changelog can be found here. And because SmartOS is based on illumos, you’ll find the following new features in SmartOS as well:
- Support for the Celerity FC-641E and FC-642E.
- Target mode execution throttle.
- Private arbitrated loop support for G6 adapters.
- Sequence Level Error Recovery support for initiator mode.
The full illumos changelog can be found here.
Some of the features found in SmartOS include Crossbow (which provides network virtualization), DTrace (a dynamic tracing framework for troubleshooting kernel and application issues), bhyve (a type-2 hypervisor), KVM (a virtualization module for the kernel), ZFS (a file system with volume management), and Zones (an implementation of OS-level virtualization for x86 and SPARC systems).
Think of SmartOs as a combination of a lightweight container OS and a hypervisor, optimized with container and cloud native security in mind. With this OS you can work with:
- Managed private clouds.
- Managed hardware clouds.
- On-premises private clouds.
Deploying SmartOS as a Virtual Machine
Deploying SmartOS as a virtual machine isn’t quite as straightforward as using a Linux distribution. For instance, in order to successfully deploy SmartOS in VirtualBox, you must do the following:
- Set the OS type as “Solaris 11 64bit.”
- Configure it with at least 2GB of RAM.
- Disable audio.
- Enable PAE/NX in System > Processor.
- Configure the network adapter to type “Intel PRO/100 MT Desktop.”
Unless you set the above options, you’ll have trouble booting the virtual machine for installation.
How to use SmartOS 2023
SmartOS is for large data centers but can work just as well as a lone server. SmartOS doesn’t include a GUI, and does have a considerable learning curve. Once you’re up to speed on this OS, you might find it to be one of the best container virtualization solutions on the market.
Given that each container zone or virtual machine exists on an isolated file system, it offers security that few other operating systems can touch. And because it uses the ZFS file system, container zones and virtual machines can be snapshotted, rolled back, and even sent to remote hosts.
Do keep in mind, if you’re coming to SmartOS from Linux, or you’re accustomed to deploying containers with the likes of Docker, you’re in for a big change. For anyone looking to either test or adopt SmartOS, I highly recommend you read through the SmartOS Docs before diving in, because every aspect of your workflow will change with this OS. However, given the heightened security it offers, that learning curve is well worth the time.