Mike, Adam and I were the co-creators of DTrace, and each of us was invaluable in its creation. But it is also true that the original ideas at the core of DTrace were actually mine, and they pre-date my arrival at Sun: when I was an undergraduate, I sketched out my thinking for dynamic kernel instrumentation to my undergraduate advisor. His reaction (and, it must be said, my thinking as well) was that there must be some reason that this was impossible; if it could be done, it would have been done by then! When I went out to interview with Sun, I sketched out the same ideas for Jeff Bonwick, wondering why they were impossible to implement. What happened next was so important to me personally that I know exactly where I was at that moment: in Bart Smaalders' old blue van on Willow Road crossing the 101 coming back from a very nice lunch in Palo Alto. At that moment, Jeff said: "Yeah, that's a good idea, actually. You should come here and do it!" I did indeed come out to Sun to work with Jeff -- and the next year I went back to school to recruit Mike (who had been my classmate and who had stayed for a one-year Masters degree). Once at Sun, we agreed that we would work together on two big ideas: we would first work together on the debugger that Mike wanted to write (which became MDB and remains an invaluable tool that I use every day) and we would then work together on my dynamic tracing idea.
So Mike is the father of MDB even though I did a lot of important work on it; I am the father of DTrace even though Mike and Adam did a lot of important work on it. (With my apologies for the wordy response; it's very important to me that credit goes where it's due, and that I don't leave the impression that I was in any way solely responsible for DTrace!)
If you are looking for something to toy around with you may want to check out SmartOS. Native ZFS, you gain dtrace functionality into Linux guests, and you can run KVM.
Another option to consider would be to get more RAM and run SmartOS off a USB drive. I've got it running on my TS140 with 16 GB RAM, and it works great. I have a Gentoo VM running on top of it for Linux-only stuff. I'm serving NFS out of the global zone, and I have another zone running Samba for file sharing with Windows. I can easily spin up additional Windows/Linux VMs for other purposes, if necessary. I highly recommend this setup, if it meets your requirements!
Hey, no problem :)
SmartOS is an operating system designed specifically to be a hypervisor meant to run as a headless servers. It is based on the illumos kernel (fork of Open Solaris) and provides a really simple way to create and manage virtual machines using JSON manifest files. In my blog post, I created a zone (think like a jail on FreeBSD, or a container on Linux) so bitcoind
can run in complete isolation, with its own networking stack and service management framework.
It's a really cool OS and is definitely worth checking out if you like messing around with Unix operating systems :). It's worth stating that I am currently employed the company that makes SmartOS so i'm almost certainly biased, but I was a fan of SmartOS before working there, and in fact wanted to work there specifically because I liked the tech.
The good news is that the Solaris code base lives on after Oracle. The illumos project is a fork of OpenSolaris from before Oracle shut it down, and is the heart of a number of distributions including OmniOS from OmniTI, and SmartOS from Joyent. There are also a number of community distributions, as well as vendors like Nexenta and Delphix that ship appliances for various tasks on top of illumos.
ZFS, Zones, and DTrace, are all alive and well and being actively maintained by a vibrant community of contributors and companies.
If you are a ZFS fan and you're looking to move to containers, SmartOS may be exactly what you are looking for. It's going to be much more hands-on though. As a Unix you'll have to spend more time in the CLI than a GUI tool but the advantage there is it favors being administered from other Unixes — little know fact: OS X is actually a certified and registered UNIX. No more Windows for management.
SmartOS also has full support for Docker containers as well as native Zones.
It may not be the exact right solution for your NAS though. Give it a look and see if it can be what you need.
You wanna tell that to the guys over at SmartOS? I'm sure they'd love to hear your argument.
It can be done, you just need to be mindful of ZFS memory requirements and tune to your needs.
Check out SmartOS. It's Unix (Illumos/Solaris)-based, has both KVM as well as something called "zones" which is a Solaris equivalent to Linux containers (actually predates them by a couple years).
Other than that, RHEV/oVirt and Proxmox are as "enterprise" as you get and still be open-source. In a practical sense, any 2 Linux boxes can be made into a hypervisor/client KVM setup; what RH brings to the table is C&C features that you won't find in standard desktop repos. Proxmox is okay but the implementation is unlike anything else you're likely to encounter in the field.
Hi, If you love containerization you should take a look at a Illumos distribution called Smartos you'll get ZFS, Dtrace, crossbow and zones (https://www.joyent.com/smartos), it's really simple to create zones (containers) using kvm or native, linux is supported using lxzones. https://wiki.smartos.org/display/DOC/How+to+create+a+zone+%28+OS+virtualized+machine+%29+in+SmartOS.
I use it in a lenovo TS150, the vmadm tool is wonderful https://smartos.org/man/1m/vmadm.
I love SmartOS, I have a couple of game servers using the lxbrand and they are working great(ArK,Enemy Territory, Neverwinter nights). For FreeBSD you could take a look at https://github.com/churchers/vm-bhyve, it seems to be inspired on SmartOS vmadm tool https://smartos.org/man/1m/vmadm. Now for creating a Centos 7 jail in FreeBSD this seems like a good start https://bluehatrecord.wordpress.com/2015/09/19/the-midnight-oil-jailing-centos6-in-freebsd-10-2/.
I've been running SmartOS on my TS140, and it's fantastic for NAS + KVM. VMs are a bit harder to set up initially (involves editing a JSON config file) than in Hyper-V, but it's really not too bad. If you need Samba, just do something like this and pass through any datasets you want to share using LOFS as shown here. NFS can be served from the global zone as well.
I've just switched from years of Parallels to Fusion.
Parallels has really good Windows support and is plenty good enough for most other things. It's struggling a lot with the whole container thing though.
I switched to Fusion for SmartOS development because the other two were having a real shit time booting it. I don't see it being any better for any reason other than it actually works for what I need it for. It is therefore worth it's frankly ridiculous price tag.
VirtualBox is nowhere near as bad as it used to be but is still prone to running VM's very slowly under some as-yet undefined conditions. It is absolutely the only tool you need for container development and everything else is a bigger pain in the arse. I've had some thoroughly unpleasant experiences with VirtualBox and Windows but that was at least one major version ago.
All three have horrendously bad UI's: Parallels's is condescending and stupid; VMWare are competing hard but somehow manage to hold on to a shred of professionalism; VirtualBox has by far the best UI, but hideous and still not actually any good.
Xhyve looks good but it's going to be a long time before anyone really cares about Windows performance.
> The way I understand it, with virtual servers you can have one server with vmware images or whatever for dns, email, etc.
That is correct.
> Is this as simple as having a server running these vms?
In a nutshell, yes. A poor-man's solution would be to install ordinary VMWare or some other desktop-oriented VM solution, but it's almost always much better to go with a proper server-oriented hypervisor. I personally use Joyent's SmartOS for my own stuff, but Hyper-V, Xen, and VMWare vSphere/ESXi are also popular for this.
> Where would you guys say I should start with learning more?
I'd personally recommend you check out SmartOS, for one. It's basically a turn-key ready-to-run OS specifically designed for the purpose, and would be a good introduction.
If you're running a mostly-Windows environment, you should also check out Microsoft's Hyper-V, which can be used to convert an existing Windows Server installation into a VM host. If you're interested in using VMWare stuff specifically, VMWare vSphere is quite popular in the enterprise world.
And then, of course, there's Xen, which is what a lot of Linux-focused shops use for their hypervisor needs. It's also popular among hosting companies (particularly Amazon and Rackspace) for their "cloud" server offerings. While there are certainly pre-packaged Xen-based solutions out there (Citrix XenServer and Oracle VM come to mind), most Xen deployments are custom and quite do-it-yourself in nature and spirit. If you want to go that route, there are some guides out there on getting started with it (that one in particular uses NetBSD as the "dom0"; while the guide is a bit dated, it should still be more-or-less applicable).
If it's any help the illumos logo is available here in different size, versions and vector http://wiki.illumos.org/display/illumos/The+illumos+Logo
Didn't find any great sources for the SmartOS-logo but at least there's an mid res raster version here https://smartos.org/2012/04/02/introducing-our-new-smartos-logo-and-look/
OpenIndiana is available here http://wiki.openindiana.org/pages/viewpageattachments.action?pageId=1474779
OpenSolaris is dead anyway so might not be worth bothering with that one and Solaris post Oracle is what it is.
I would argue that people should switch to an Illumos-based *NIX distribution. As far as servers go, SmartOS is an excellent platform and OpenIndiana seems to be doing pretty well on the desktop.
I'm running SmartOS with a 3 x 3TB RAID-Z pool and an old Vertex 3(?) SSD for ZIL and L2ARC. There's a small ZIL partition and a large L2ARC one. I'm very happy with this setup, and it allows me to use KVM to run a Gentoo Linux VM for the few Linux-only things I need. NFS is served from the global zone, and I also have a SmartOS zone that runs a Samba and Subsonic server. (note: KVM virtual machines are only supported on Intel processors)
With RAID-Z, you do give up the ability to add drives one at a time, but if you slowly replace your 1.5 TB drives with 2 TB drives, once all your drives are 2 TB, ZFS can expand and use the free space. Additionally, you can add additional vdevs to your pool, so I could add another 3 x 3 TB RAID-Z to my current pool and double the amount of space. The pool would then be effectively be striped across 2 RAID-Zs.
The one setup you're considering that I would definitely not recommend is putting ZFS on MD raid. ZFS expects to be talking directly to the hardware and managing the RAID itself, and you'll give up some features such as self-healing and faster resilvering (because it only resyncs the actual data instead of the entire disk).
No, only VT-x. It runs VMs fine, as long as you don't need to pass a HBA to a VM. My solution is to use a hypervisor with ZFS support - SmartOS. Not for everyone, but it is a viable solution.
Edit: another consideration, the Xeon supports Intel Manageability KVM - the i3 only supports the basic stuff, no KVM.