So, now... let's take a look under the hood - I'll start with SW...
Before we get too deep - check out the
QTS 4.1 overview along with the
Virtualization Station article...
I'm not going to go too deep here, as those aspects have been well covered...
1) Linux - it's a fairly modern kernel, 3.12.6... but here's where things are a bit scary, and suggests the build-environment/toolchain used...
Linux version 3.12.6 (root@BuildServer48-1) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Wed Apr 8 04:32:08 CST 2015
Yep, it's the Devil's Compiler... Not a bad thing perhaps, but it's pretty lenient on a lot of things that older/newer versions wouldn't let thru - which build-runners like
as builds generally work on the nightly build, but it's really, really dependent on developers not making unintentional mistakes... those compiler warnings are there for a reason. The other concern, it's an old compiler... yeah, it builds ARMv5/v7 and LPIA, but 2007 called, and they want their compiler back... I'm assuming that QNAP has back-ported some of the arch changes and bug-fixes, but perhaps it's time to move forward.
2) Jumping into the shell, it's a weird space - not quite embedded linux, and not quite a full-on distro that many linux folks on x86 are used to - so if one is used to the RedHat or Debian ways, things are strange here... some of the goodies are there, some ain't, but the env parameters for the default shell make it interesting...
[~] # php -v
-sh: php: command not found
[~] # perl -v
-sh: perl: command not found
[~] # gcc -v
-sh: gcc: command not found
see what I mean? It's like being in busybox to some degree...
Basically, the ssh login is for
debug/troubleshooting only, which is fair - just don't count on this distro to be a leading edge or even basic development environment...
Actually, to guys like me, it's an environment to just stay away from... it's a tell-tale that "danger, there be dragons and things you might not know how we did things, so next firmware release, things could, and likely will, go ker-blammo"...
3) Server Daemons - they're all pretty current, recent enough to work for what one expects from a microserver with this feature set- leave things alone, and they'll likely run forever...
Again - resist the urge to change things on the shell, the risk just ain't worth it...
4) That being said - what is the power of the QTS 4.1.3 platform on the TS-x53 (and perhaps the x51 and x63) - KVM/QEMU... sorry ARM guys, this is an intel club...
In the FOSS community, there's a couple of ways to do VM's - one is Xen, the other common way is KVM, the difference is how they're implemented, and compatibility with the guest OS's... they're both good, and there's quite a bit of overlap, but... QNAP, I think, made the right choice going with KVM/QEMU - Xen can host Linux machines, just like KVM, but KVM can do Windows hosts much better, and less headaches... I've done both in different environments, along with VMWare ESX and desktops. IMHO, the approach taken here is the right one... KVM isn't VMWare, but it's pretty damn good...
Since it is KVM, most newer Linux installs know it right from the get-go as a paravirtualized guest, and install the virtio drivers without having to pull them in for IO/Memory management...
Some KVM thoughts - remember - these are virtual CPU's, QNAP has wisely not pinned a CPU slice to a physical core... which might take some explaining...
Let's take an Intel Core i7-4790 - it has four physical core, 8 logical cores, and with KVM and enough memory, I can host 32 or more virtual CPU's... IBM has a few great articles on KVM and resource management, it's more than I can summarize here...
For my case - I'm running QTS on base metal, and an Ubutnu 14.04LTS running on two "cores" in QNAP speak on the KVM - which means that in actuality my Ubuntu VM instance is limited half of the total resources in the physical CPU resource pool... pretty cool, as my VM instance is basically hosting an internal Web Server running a DokuWiki instance, along with an internal Wordpress install... as a LAMP installation.. all contained within a container... and rather than dealing with the risk and weird stuff inside QTS, I've got a full-blown linux that I'm comfortable with.
And doing some profiling, QNAP ensures that Bare Metal for their apps takes precedence, the VM's get what's left over, which in many cases, is quite a bit...
5) Not sure what else to add here - but I've said this a couple of times earlier, and I'll say it again, just because QNAP exposes the shell to QTS, it doesn't mean one should get into the gubbins and start doing stuff - the QTS platform and all the servers/services it offers, it's not very forgiving, and it doesn't take much to blow things up. If one is intent on playing in that sandbox, do it on a spare box, not on your primary NAS if you want to protect your files...
6) one more thing... I wouldn't expose any NAS box to the public internet - not to share files, host a VPN client/server, not even for SSH - the risk is just too much - with the KVM/QEMU capabilities of the platform that QNAP offers, it's another story, as the VM's use a dedicated ethernet port, and there's clear separation between the host and the guest VM's...