SmartOS

144 pointsposted 5 hours ago
by ofrzeta

58 Comments

re-lre-l

4 hours ago

I am a huge fan of SmartOS. Back in the 2010s (around 2012), I was advocating its use in production at a small startup I worked. The SunOS kernel, ZFS, zero install, immutable core, convenient way to manage containers and VMs together - all of this looked great on paper, especially containers.

In reality, I ended up running almost everything in VMs. The only thing worked well natively was nginx. MongoDB, Mysql, even our php backend (some libraries) had issues, unfortunately.

A year ago, I considered SmartOS again as a home lab driver, and no success again, Linux just has better support: drivers, pci passthrough, etc... and now with containers+vm through Proxmox or anything else. You can even run a k8s+kubevirt with zfs practically out of the box as a complete overkill though.

gr4vityWall

an hour ago

These days, you're indeed better off using Illumos/SmartOS to run GNU/Linux zones/VMs, rather than native applications, from what I hear.

Zaskoda

2 hours ago

So many PHP libraries are just wrappers for some other library. I think that's mostly a strength, but in this case it was clearly a weakness.

nwilkens

4 hours ago

SmartOS is the core operating system for Triton datacenter -- https://www.tritondatacenter.com Triton is the orchestration of SmartOS compute nodes.

Code + issues are active under https://github.com/TritonDataCenter (smartos-live, illumos-joyent, triton, etc.), and docs are at https://docs.smartos.org/.

SmartOS is released every two weeks, and Triton is released every 8 weeks -- see https://www.tritondatacenter.com/downloads

And Triton object storage will have S3 support in the next release!

[edit: removed semicolon from link!]

effdee

3 hours ago

The first link's broken as it includes the semicolon.

nZac

4 hours ago

> SmartOS is a "live OS", it is always booted via PXE, ISO, or USB Key and runs entirely from memory, allowing the local disks to be used entirely for hosting virtual machines without wasting disks for the root OS.

Does anyone know if something like this is possible with Proxmox? I've got three servers I'm thinking of setting up as a small cluster and would like to boot them from a single image instead of manually setting PVE on each. Ansible or salt is an option but that tends to degrade over time.

ktm5j

2 hours ago

It's close, but there are some missing pieces I think. The way it manages storage pools would fit your use case, if you import a zpool, for example, it will scan the datasets and can figure out what zvols should be attached to which VMs..

but there's also VM config info under `/etc/pve` or something similar. I'm pretty sure that's some kind of FUSE filesystem, it's supposed to be synchronized between cluster members.. you might be able to host that externally somehow. But that'll probably take some effort.

You'll also need to figure out how to configure `/etc/network/interfaces` on boot for your network config. But that's doable.

Would be pretty neat.

jeffbee

4 hours ago

It depends on what "this" you meant, but in general the ways of netbooting an OS are many and varied. You'd have to declare what kind of root device you ultimately want, such as root on iSCSI.

Personally, I feel that "smartOS does not support booting from a local block device like a normal, sane operating system" might be a drawback and is a peculiar thing to brag about.

ptribble

7 minutes ago

SmartOS can, of course, boot from a local zfs pool, but it treats it logically as just another source for the bootable image. See the piadm(8) command.

cyberpunk

4 hours ago

There was a brilliant incident back in the joyent days where they accidentally rebooted an entire datacenter and ended up dossing their dhcp server ;)

nZac

4 hours ago

What I'm looking to achieve are three identical proxmox host boxes. As soon as you finish the install you now have three snowflakes no matter how hard you try.

In the case of smartOS (which I've never used) it would seem like that is achieved in the design because the USB isn't changing. Reboot and you are back to a clean slate.

Isn't this how game arcades boot machines? They all netboot from a single image for the game you have selected? That is what it seems smartOS is doing but maybe I'm missing the point.

ekropotin

2 hours ago

It doesn't look like it's achievable with vanilla Proxmox.

I think if you really-really want declaratively for host machines, you'd need to ditch Proxmox in favor of Incur on top of NixOS.

There is also https://github.com/SaumonNet/proxmox-nixos, but it's pretty new and therefore full of rough edges.

oooyay

2 hours ago

Kind of. You can run Talos on Proxmox so I don't see why you couldn't run this, but frankly I'd just install Talos or SmartOS on the metal like god intended.

QuantumNomad_

5 hours ago

I remember several years ago, SmartOS was being mentioned many times on HN.

Joyent, the company behind SmartOS, was since acquired, and I don’t usually see anyone talking about SmartOS nowadays.

Is anyone on HN using SmartOS these days?

DvdGiessen

an hour ago

Running a number of production services on-premise on a big machine using native zones, a few using LX zones (the built-in Linux compatibilty layer), and a single bhyve zone. Actually, years ago this machine was the very first server we set up when our company was just getting started and for the first few years it ran pretty much everything. Zones were ideal for that, also to allow us to pack more services on less hardware, while having decent separation and everything snapshotting/backupping using ZFS. Nowadays we have a bunch more servers, with varying *nix operating systems (SmartOS, Debian, FreeBSD), as well as macOS and even Windows for some specific CI functions. (:

The global zone works great as a hypervisor if you prefer working over SSH in a real shell, and being able to run a lot of services natively just makes things like memory allocation to VM's and having a birds eye view of performance easier. Being able to CoW cp/mv files between zones because it's actually the same filesystem makes certain operations much easier than with actual VM's. Bhyve works well for the things that need an actual Linux kernel or other OS, at the cost of losing some of the zone benefits mentioned earlier.

Highlighting a few things we today run on SmartOS, grouped by their technology stacks: C (haproxy, nginx, PostgreSQL, MariaDB), PHP (various web apps), Java (Keycloak), Elixir/Phoenix (Plausible, fork of Firezone), Rust (rathole, some internal glue services), Go (Grafana, Consul, Prometheus). Most of those are readily available in the package manager, and a few offer native Solaris binaries which run fine on illumos. Others we do local builds in a utility zone before copying the binary package to the where it actually runs.

On LX zones we also run a number of services without problems, usually because they have Debian packaging available but are not in pkgsrc (for example Consul/Nomad, Fabio, some internal things that was already Linux-specific and we haven't bothered to port yet).

And at home a LX zone also runs Jellyfin just fine. (:

cyberpunk

an hour ago

I used it for smaller scale (low 10s of physical servers) back in the day also. But my problems with that started when i needed a lot more, the sysadmin/devops/whatever story doesn't scale.

Yes, ansible exists but it's actually quite hard to run ansible on a few hundred machines -- you need lots of RAM just to run the playbook and your first hundred or so separate deployments, you do need to reach for something like Kubernetes.

As for LX, why emulate linux when it's .... right there? The linux kernel is not a lot of overhead vs having to justify emulating the linux ABI on an OS the industry has largely abandoned.

cthalupa

3 hours ago

Home stuff was the last holdout for me, but even that has been replaced by Proxmox these days. I used SmartOS for a solid 7-8 years, though, and like it for most of that time.

I couldn't point to any one single major reason that prompted the switch - just lots of small annoyances stemming from the world expecting you to be running Linux instead of Solaris, and once you move away from zones, you lose one of the most compelling reasons for being on SmartOS

samtheDamned

2 hours ago

I use it. It's not the most practical I'll admit but I like the simplicity (I'm not super experienced with linux server administration so both of them feel similarly foreign, but SmartOS is pretty minimal and has been pretty straightforward to manage), and I won't lie it's a fun gimmick to be running a descendant of SunOS for random household services.

mirashii

4 hours ago

Certainly Oxide computer company has some use of illumos still, which is strongly related to SmartOS

mbreese

3 hours ago

But isn't the end goal with Oxide to run primarily Linux(/Windows?) VMs on an Illumos host?

Are there any workloads (other than as a VM host) that run on SunOS derived OSes?

panick21_

2 hours ago

The whole cloud orchidtration platform and all you need for that.

But that is the same for most server images nowdays.

What in portend is that Oxide upstreams all their work so 'traditional' users should get benefit from it too.

irusensei

an hour ago

I think the big hit on Solaris and FreeBSD popularity since then was OpenZFS adopting Linux as their main reference operating system.

EvanAnderson

4 hours ago

I have a personal box I keep updated running some utility zones and a couple VMs. I enjoy the tooling very much but it's so niche that I'm wary of using it for Customer engagements.

I never used Solaris in my real life but I can understand the appeal for people who did.

rjzzleep

4 hours ago

It was acquired by Samsung, which is notoriously bad at open source. But the reason why it quietly faded into the background wasn't that. It was that Joyent's ex Sun people had an annoying elitism that made them not care about working with the community.

itsanaccount

3 hours ago

I mean when you're that far ahead of the class is it any wonder?

eduction

38 minutes ago

I use it for a home server. Zones provides a secure way to have (on one physical machine with one physical network interface) some stuff you can only get to on the local network and some things you can get to over the public internet and some things via internet if you have the right ssh key. Each contained natively from each other. Crossbow firewall provides a nice way to contain traffic securely as well. ZFS let me set up two big external usb drives as a raid array, the resulting zvol can (iirc) have multiple filesystems for use by multiple zones although I only use it from one right now for the lan only zone. That zone shares via SMB to my network so I can use it for backups and media streaming.

I’ve been able to do almost everything in native zones. I had a bhyve zone set up to run a photo related GitHub code base that really needed Linux.

SMF is a joy to use for services and package management with pkgsrc is great. The whole thing just feels very thoughtfully put together.

You can probably achieve all this on Linux with docker and the right iptables (or whatever succeeded it) config I imagine? But on smartos I am using facilities that are integrated deeply into the os going back like 20 years now. I also just prefer the old sun stuff.

tombert

3 hours ago

Genuine question: in 2026, what does SmartOS (or any other Illumos/Solaris OS) buy you over something like Linux or FreeBSD?

__tyler__

2 hours ago

Oxide uses Helios, their own illumos-based distro: https://github.com/oxidecomputer/helios

They’ve written up their reasoning in this RFD: https://rfd.shared.oxide.computer/rfd/0026#_comparison_illum...

stonogo

2 hours ago

After reading that document twice, I'm still not sure why they based it on Illumos. I strongly suspect it's just down to the personal preference of the founders, which is a perfectly valid reason. This document very much reads like "here are the pieces we will use, let's work our way back to why"

EvanAnderson

2 hours ago

SmartOS has grown a web UI in the last couple years, too. I haven't gotten around to trying it out on my last remaining SmartOS homelab box. I enjoy the CLI tooling very much. For some, though, the web UI might be worthwhile: https://docs.smartos.org/web-interface/

ofrzeta

4 hours ago

I was intrigued by the idea that in the Manta object store you could schedule computations on the storage nodes. However I am not sure how much improvement that brings in practice. Any practical experience with this?

https://apidocs.tritondatacenter.com/manta/index.html

cmdrk

2 hours ago

bcantrill gave a great talk many years ago about compute-data locality. would be nice to know if those ideas panned out for some customers, but it seems the world has by-and-large continued to schlep data back and forth.

it's too bad too. The concepts behind Manta were such a great idea. I still want tools that combine traditional unix pipes with services that can map-reduce over a big farm of hyperconverged compute/storage. I'm somewhat surprised that the kubernetes/cncf-adjacent world didn't reinvent it.

cyberpunk

4 hours ago

I did use it on a project, it was meh, alright? In the end the main cost of our processing wasn’t storage latency but code, and this quite arcane scheduler was a barrier too much for most of our team.

I believe it was removed shortly after i left the project..

gr4vityWall

an hour ago

I know someone who runs SmartOS for their home server. They only had good things to say about it. It's been working well for a few years now.

jama211

3 hours ago

I’m confused by the wording “without wasting disks for the base OS” - I wouldn’t normally consider this a “waste”, would anyone else? There are big downsides to running off of a USB key all the time unless I’m missing something

zja

3 hours ago

> This architecture has a variety of advantages including increased security, no need for patching, fast upgrades and recovery.

SmartOS was developed by Joyent for their cloud computing product, it's primary use case isn't desktop computing. I think the advantages mentioned above were probably a bigger factor than the disk space. I would also guess that PXE would be the standard way to boot in a datacenter, not USB.

keeganpoppen

4 hours ago

wait this seems totally awesome? i hadnt remembered until reading the comments now that this was a joyent thing, and that somehow it has largely disappeared despite seeming like an awesome way to do all sorts of things.

nicolasjungers

3 hours ago

An opportunity for a SmartOS successor is IncusOS.

ekropotin

2 hours ago

Curious why the separate OS should exist. NixOS + Incus sounds like a good solution for declarative provisioning of hypervisor machines.

sneak

4 hours ago

So, Solaris > OpenSolaris > Illumos > SmartOS? Do I have that right?

0x457

2 hours ago

OpenSolaris was an official OSS version of Solaris which was essentially Solaris, but developed in the open by Sun.

Illumos started as "remove all close source bits and replace with OSS", after Oracle closed down OpenSolaris, Illumos became a full-on fork and Solaris-like rather than another version of Solaris.

From there, multiple distros were born (because Illumos didn't want to be distro), notably OpenIndiana and SmartOS. OpenIndiana being a general purpose distro of Illumos. While SmartOS went with something like "OS for HCI datacenters"

So it's Solaris > OpenSolaris > Illumos.

linolevan

4 hours ago

I believe SmartOS is a distro of Illumos (in the same way that debian is a distro of linux).

calvinmorrison

3 hours ago

great product. sadly dead! bought up by Samsung and now the briantrust has left to go work at a much cooler place

ptribble

2 minutes ago

Not dead, still going strong under new ownership (MNX).