 evening to talk to us about SmartOS, sorry, Illumos SmartOS, which is a specialised hypervisor distribution is Thomas. So, thanks a lot. Give him a hand. Yeah, let's talk a bit about Illumos. So, it's more or less a specialised hypervisor as already said, but let's see a bit about the agenda. So, I will share a bit about myself and share a bit about how all that Illumos stuff happened and what are the difference to Linux and BSD. What makes SmartOS itself really special besides other operating systems and share a bit how to use it and based on that I hope I prepared a bit of demo so we can log into in-term servers and random commands and beside that at the end I share a bit about the community itself, how it's organised and how you get additional information about it and then you're for sure you can ask a lot of questions. So, about of myself, so I'm Thomas, I more or less work as a server ninja for Skyline. We provide SmartOS based hosting and cloud solutions with our current brand and I bring UNIX and Linux consultancy for around, well I would say, 15 years or maybe a bit longer and I more or less focus on system administration and automation and so-called the cloud and maybe interesting for people who well think a bit about Solaris. I not started with the Solaris background so I came from Linux to SmartOS. So then we already started with what is Illumus itself, what are the difference a bit to Linux and BSD. It might be really hard to read but the most important part is that Illumus itself came from OpenArist so we at a point for Sun Microsystems created Solaris and then they open sourced it which was quite great for lots of people and for the community and I think for Sun itself as well but then Sun got acquired by Oracle and Oracle closed sourced it again so and at that point in time Illumus get forked based on the Sun code and the Open Solaris code and continued with the code, improved it and did a lot of stuff as well. It's still different to Oracle Solaris but some parts may stay the same so you can say more or less Oracle Solaris 10 is more or less equivalent to Illumus with different feature sets. So what itself is a SmartOS. SmartOS is Illumus based distributions. There are a couple of more distributions out there but for today we will focus on SmartOS because I like it really much. So it's originally developed by Joi and they are also well there were a cloud hosting company. They got acquired a couple of years ago by Samsung because they would like to use their technology especially SmartOS and 3-store object storage for their selves more to say and I think it's now two months ago or maybe three when SmartOS as a brand and including them data center features as to M&X which is also a cloud hosting provider based in the US. SmartOS itself provides Solaris features for example zones, Alex branded zones, Crossbow, Open, ZFS and de-trace. Later on I will go more a bit into the details. SmartOS itself focus a lot about virtualization so you boot from a USB stick or net boot and can use your complete disks for storing the virtual machines. The configuration itself is really minimalistic and it also provides some kind of management tools to manage these virtual machines or zones. It supports additional zones itself. It supports Beehive and KVM so you can run more or less every operating system on top of SmartOS. So two zones, zones provides OS virtualization layer. It's more or less a self-managed container for example like Docker but I would say a bit better but that depends. It provides some kind of isolation so zone only see itself. The global zone so more or less the SmartOS hypervisor thing can monitor the local zone. It provides an own network and isolated file system. The resources can be controlled so memory disk, network IO and CPO course. You can also configure them firewall settings in the global zone or for the user can configure them itself in his own zone. The zone provides a minimal overhead because it's more or less running bare metal on your hardware so no hardware emulation layer is in between. You can use services to monitor your zone from the global zone itself. For example you can run detray script in the global zone to monitor all your customer zones and services inside that. There's some really nice branded zone out there. It's called the Linux branded zone. It provides this translation layer so you can run linux binaries on top of SmartOS. These calls get translated to the Illumus kernel itself. It feels and looks like a normal zone so you can use the same tools to manage both zone types and there are already pre-installed images so to say available for example for DBN, SandOS, void linux and so on and it's also possible to run Docker on top of SmartOS based on these linux branded zones. There is also crossbow. It could also be seen as virtual nix management tool and driver so you can create and manage virtual network interfaces and switches for your zone. Interconnect the zones itself. Use some kind of anti-spoofing tools to run the MAC filtering or IP filtering or especially DCP package filtering so a zone will only be able to run the SAP and receive an IP address or can only use a specified IP address which you have configured. You can also use some kind of bandwidth tools to limit a bandwidth or provide some kind of tooling around of that. Luckily, base hits on OpenZolaris and we have ZFS so a copy-on-write file system with pool storage partitions are not required and you have a management layer which maybe lots of people already know from FreeBSD or now also from linux. Based on that you are able to run set quotas easily for the zone and you have for sure different rate sets so from rate one some kind of mirroring to rate and the rate two and so on or rate zero for striping. I will not go into much of detail of ZFS. I think it could be a complete other talk but some additional small features which I think might be interesting so it provides some kind of compression, deduplication and snapshot cloning support and also now for sure encryption so you can yeah if you have a zone you can run a snapshot based on that do them changes and if it doesn't work you will roll back the complete operating well the complete content of the zone for your customer. Because we have p-hive and KVM support, p-hive support has been ported I think it's now one year ago or so which provides much more performance instead of KVM you will be able to run yeah lots of other operating systems on top of smarts so linux bsd windows plan 9 is also working and the really cool stuff is you can use the same tools for zones and also for p-hive branded zones for elix branded zones they are all the same and well look and feel is also the same based on that. So how to use it you easily download the usb image for example boot yourself up with a usb stick follow the installer which will run them pre-configuration and ask them questions about network how you would like to configure a set pool and maybe a hostname and password are also required and after that you also boot smarts based on that usb stick but you will also be able to well since now two years that's already you can run pre-i rdm to install it permanently on your disks but I personally prefer to well use the usb stick or use net-boot-to-boot boot all the machines which can easily be then updated and the complete disk pool can be used for virtualization or for the virtual stuff a short note about the global zone itself which is the zone you well it's the first zone you boot or basically the operating system it's a minimal RAM disk which yeah well copied from the usb stick into the memory it's yeah only for zone management so you do not have much tooling around besides the soon management so to install something could be a bit harder because well etc and root and other stuff is not permanent user couldn't be written because it's in the memory and it's read only mounted the only parts where you can write data is an opt and var for permanent storage and for sure you have a zone pool which you can use for virtualization of all the zones itself the basic configuration is started on the slash usb stick which is not the usb stick itself so which is in the zone pool which is a bit confusing and well in that basic configuration it's a basic configuration text file which you can configure more or less the stuff you have configured already in the installer then there are well kinds of data sets around there and then we can also see that as images they are pre-configured zones elixpren zones be hive or kvm images they will probably provide you with already done running services or with a complete operating system what you already need there are well official images from smart as itself they are more or less proof well provided by now from mnx before that they are provided from joined they can be reached from images.smart as.org but there are also community-based images which are shared with the data sets at so for example as a list you already see well and you wouldn't do image for example or netpst image which you more or less see that it contains elix so it's a line experience zone a set wall says it will be could be used for kvm and p hive and well there's the zone data sets which is a real running zone and you also see for example based on the naming there are them based zones around there them there are them mx zone which provides mx those mail services and there are also lots of more based on the community as to to create a zone first you need to import that image all images are well more or less named by a new uid which or address by a new uid they also contains names but that's mostly how you fetch it so you run emg rdm import and the uid and you get the image which then locally be stored on your server then for the zone creation itself you well use a chase and configuration files which provides already of information which are required for the zone there are a couple of more this is only a short out cut based on the minimal needs so for example how the zone will be aliased how the hostname is configured how the network of the zone is configured and which and how much memory it will use and what type of zone it is because it's developed by joint the joint zone is the originals zone so not not the elx branded zone and then you run vm idm create and the chase and configuration file and this will probably create the zone for you and then it will be reachable hopefully and yeah and then you can also yeah as you can see you can list the zones as well for for example yeah you run a vm adm list and then you see the current running zones are probably all zones which are existing on the server vm adm provides a lot of more well sub commands and filtering options for the list command to only see the running zone to only see zones which well have a memory of 200 or which aliases are starting with whatever letter and or what which type it will be or which ip address it will have as already said there are lots of sub commands for example one of the important is vm adm get and you get all the details of the zone so if it have an autostart which brand it is which well version type which memory which quota and so on there are some kind of a bit special stuff especially for b- and kvm because b- and kvm supports vc information to connect well to a vm vnc server a vc client to that server and it provide the details of the hostname the port and the display and if configured also a password for that vnc session then you can easily log in with well with set log in you easily can log in into existing zones and then you receive a shell there well if you have configured ssh you probably can also use that but that provided quite easy management functionality and you can also use that log in which then be a bit rapid to be hive zones as well because they are already well we talked a lot about commands itself they are also some kind of yeah web uis orchestration software on top of smart s so the origin one firstly developed by joint is these mothers strident data center which provides well all the data center functionality you need from from kind of master server to manage the yeah your zones or your virtual machines with an api and so on but they are also well now two kinds of community projects for example there's project five four which is well starting with the top one smart s strident data centers more or less written in no jays project five was written in erlang and for danu cloud i'm pretty not sure what it is it's a kind of also i think based on triton data center but i'm really not sure but yeah all of them provides a well different kind of web interfaces to manage these zones or provide a bigger cluster on top of that well basically a data center well then yeah i more or less prepared i i hopefully you might hopefully see it maybe a bit um i've had a kind of demo or well would like to show you a bit around so um yeah i currently have installed smart s um there are below use while i running in in my local environment so you're more or less running and seeing console um yeah but there we have a shell which more or less hopefully can be go read and i have all written down types which i would like to show you around um as as i said you you're more or less have vm adm to list the zones itself so pretty to get everything um um yeah you have e m g adm avail for example to see the available available um yeah zones maybe yeah the network is working so um yeah for example there are some kind of pre-configured zones you have some basic zones um yeah based on the naming they provide um yeah different tooling inside everything on smart os itself or especially the smartest branded zones are managed provide software packages via package source and yeah and there are also some kind of lts images which more or less provides longer support of package source packages there so you do not need to to update it itself so if we're going back to vm adm um we currently as you have seen we have two os branded zones which which are um well native zones and we have one elix branded zone i as i said i'm a local setup i will not be high because it's required a bit of more ram so if you for example log in into uh well elix branded zone so well doing a bit of file user bin file for example and um you you more or less see that's a really linux command which exists there and can be easily used on top of that and um one might be some interesting stuff there's a slash native which provides native commands from outside this zone so for example if i run a set fs list well currently no data set is available inside that but that's a native command which is based on from the outside smartest global zone so if we log out we can also easily update some kind of quota if we for example need more or make it smaller and it's update live so for example if we're going for net quota we more or see that's only five and if we're going into ten we also got that and i currently need to see which time we currently have so we might have a bit of time left so if we log in here again i can also show you how the chasen files looks like so maybe interesting for for the elix print itself if it can be yeah um we need to provide a kernel version this kernel version is more or less um for elumos and or for smart as itself to know how which type of syscall translation error should be used so if nothing changed into the line in the linux kernel and it doesn't match 100% you can also choose a different kernel version depends a bit on your needs also with detrace you will be able to um yeah check the syscalls in in linux branded zone if the syscall works or not and if it's implemented in smart ways and really working or not most of the syscalls for regular commands and for regular programs i guess it's working so for for example i an open air a so i read a lot server in top of void linux because it's a hell to get mono working on smart as at the moment and as you currently see um yeah mostly we have network configuration there nothing more is provided um if we go into another example you can provide them more details which is called meta data which are auto well which you can read out in indict the zone and well run on top of that dumb commands or well pre-configure the zone and you can also use user script which is a well probably a shell script or whatever type of script which you can put in here and it will be executed automatically on the star own yeah probably that's mostly all a bit about the community itself um yeah we have ilumous.org which provides well basic ilumous information also some kind of information to the other distributions out there and which more or less featured they provide for smart as um i can really recommend the wiki page which provides mostly all information about smart as and how to use it and additional commands itself on github you will find the code currently moved from join to trident data center as a naming and um yeah for smart as itself it's modest life there is also um ilumous modest which is a well a fork of the ilumous code to provide maybe additional features or upstream that the community itself is more less organized um well on irc and i think they also provide a matrix bridge somehow but i'm i'm really not familiar with it um yeah and it's also good organized in well in different lists and mailing lists which which also helps a lot yeah that's probably all from my side so if you have any questions awesome thanks so much um we've got plenty of time so any questions please take it away yeah um ben you were doing the demo you were always or also in the slides you were always using the full id of the zone which was pretty long and uh i am sure when the system is small scale it's easy to oversee okay that's zone one two and three but can you also use the alias uh to use the zone admin commands or are they not unique yes yes you can also use the alias and use um well top top and then it will translate the alias into the well uu id and then the uu id is well used for the addressing itself then okay so you end up with the id but you can use the alias to translate yeah okay thanks okay it says no more questions uh then that's it for us this evening so uh thank you once again thanks as well