Khadas as home server, is it a viable product?


#1

Hello,

After some research about the currents single board computer availables I just encountered Khadas today and was wondering if you can tell me more about the product than I’ve just discovered on the main site by browsing.

Here is my situation:
I currently run an Odroid-XU4Q as a home server for 6 month now and am pretty happy with it for now, but it start to be a bit full and I want to get him a little brother or a replacement with a little more power and a better passive cooling (like the Vim2 may seem to have?).
For now I run a DNS (bind), a few intra/extranet website (apache), a VPN (openVPN), some google drive-like storage (seafile), a few databases (MySQL and MongoDB), a mail server (Postfix and Dovecot), a SIP server in progress (Kamailio) and all the classics tools for a server system under a Debian Stretch OS. Already pretty loaded as you see, but everything work well and smoothly up until now if I forget the heat issue that reach 80°C some time.

Do you think a Vim2 can handle everything without any issues? I saw that there is not really an official or third party build of Debian for it, but I assume Armbian, Archlinux or even just Ubuntu can be a nice replacement even if I know them a little less. What are the good and bad points of the board in your opinion? Compared to the Odroid if you know/use it?

Thanks in advance for your answers!


#2

There is literally no way that the Vim2 will perform better than the XU4Q.

Shoog


#3

Nothing of this except OpenVPN requires any computing power, the databases want to sit on storage with high random performance (read as: if USB attached storage then UAS is a must, better choose something with native or PCIe attached SATA – it’s important to understand the difference between sequential and random IO (MB/s vs. IOPS). Numbers here: https://forum.armbian.com/topic/1925-some-storage-benchmarks-on-sbcs/?do=findComment&comment=51350)

Wrt OpenVPN: If AES is used SoCs that can make use of ARMv8 Crypto Extensions have a real advantage: https://forum.armbian.com/topic/4583-rock64/?do=findComment&comment=37829 (S912 supports those ARMv8 Crypto Extensions, performance on all A53 is the same and depends on clockspeeds, so with Vim2 you most probably end up with 1 GHz, see here for details: S912 limited to 1200 MHz with multithreaded loads)


#4

IMHO it will cope with all listed tasks. If all your data is less than 50 GB in size, you won’t need any external storage devices. Useful nuances. For VIM2, a set of radiator+fan is available (for automatic fan control there is support in the main kernel). There is a Wake-up mode from LAN. There are several ready-made variants of Debian Ubuntu ArchLinux systems (servers and desktops). If you wish, you can use an interesting feature of VIM2 - the ability to install and use u-boot in SPI (in this mode, you can use the internal eMMC as a normal disk). But please note-in order to take advantage of all these features, requires certain skills and knowledge from the user. On the basis of this model (in the presence of direct hands) it is possible to collect the good home server capable to work in a mode 24\7 with a small power consumption.


#5

Whilst Khadas can do all these things, its failing is purely that of support.

Could be months or years if a critical vulnerability in Linux kernel is discovered that khadas is updated to fix it. However this could also be possible with many if not all of the Arm derivatives out there.

Some of the key things to consider:

  1. If the tasks are simple and can stay entirely in memory (DNS+cache (Unbound); squid/guard; DHCP) then fine probably. Benefit is not thrashing a SD card and having it fail. The onboard memory is probably sufficient for a Kernel and those tasks though.

  2. SQL/Storage will thrash a SD and it will fail. If you use an external USB HDD then you will be limited to quite crap speeds for transfer.

  3. Speaking of ; regardless of the blurb, I have yet to see decent transfer speeds from eth0, let alone wlan0 on either the VIM1 or VIM2. So as a file server, it sucks.

For processor, something Intel (Atom perhaps) is probably much better supported. They have (fortunately or unfortunately) positioned themselves for this well and they are properly active in Linux Kernel. Amtel are not. So for bug fix/vun fix x86/amd64 is where you need to be.

UDOO perhaps?

(Sort by price - they start about $150USD)
Atom boards example

https://www.digikey.com.au/en/resources/development-tools/sbc

There are plenty of alternates to those.

{{
Also just how much dicking around do you want to do before you start using real tools (it happens!!)

If you buy one new decent PC (good motherboard with excellent thermal and excellent ‘power saving’ modes with a ‘correct/appropriate’ CPU (not a gaming cpu for example) and run ESXi (free) then you can just spin up as many virtual machines as you want. Isolate each task as much as you want (one VM runs pfsense; one VM is PLEX server; one VM for web server; one for SIP).
ESX shares the load, all VMs are using Linux (well it doesnt matter anymore now!!) You could even use a NAS (synology for example) for all storage including iSCSI for the VMs.

Initial outlay is a little more, but you wont be faffing about in the longer run.

I have something similar to this, and I have enough spare CPU cycles/RAM to run several VM different desktop environments (ubu 16.04/18, arch, deb, win10 and XP), one for programming and testing — all just on one bare metal machine!
}}


#6

Thanks to all for your replies!

I can’t deny that in processing power shoog, but with my current setup, location and season (governor set to onDemande with the max at 1200Mhz big/600Mhz little, under a roof and with 35/40°C outside), even if i’d like too, it’s just too hot at home for now to push the processor at it maximum capacity with only the heatsink and no active cooling. But on the memory side I was finding the supplemental GB of RAM and the fact that’s in DDR4 instead of 3 for the Odroid could be a nice improvement too. That’s one of the reasons why I stopped here to ask for your opinions.

Thanks for the 3 topics tkaiser, I didn’t knew that for the encryption the CPU and it’s extension could have so much impact, that’s interesting to know, for the disk performances, I was hoping that using the eMMC as the main “drive” would help with theses issues since the SD card option is just… Not even an option except for backup purpose, but I guess it’s not as good as I imagined since none of you except balbes150 seem to refere to it? Not sure about the u-boot in SPI part since I have never done something like this, but if I understand well using the eMMC as a main disk for booting/system is not a native option like in the Odroid?

I can’t deny that for now it’s mostly for play and learning that I do that on an Odroid/Maybe Vim2 freeasinbeer, even if I will cry a little if my mail server and it’s content die one day, but I really want to believe that single board computer can be used as home servers in the future instead of a “real” complete computer, because they are for the most part cheap, totally silent in there fanless form and cost something like 2€/year while running 24/7. Theses are all good selling point for popularize small home server just for hosting personal website or other small services. And that’s something I try to sell to friends and people from time to time (decentralization of the internet FTW \o/) because I think it’s a fun experience to try, cost almost nothing, apache/nginx isn’t the hardest thing to install, require almost no maintenance and configure and just because I think it’s a nice feeling to have it’s own system at home.

Also it’s true that x86 board become more common now, and they are globally well supported by linux kernel I will take a look in that direction too, thanks!


#7

Look at the Vorke V1 +, this is not much more than a VIM2 when you add in the PSU, heatsink and fan. It has massively more horsepower - has a CPU controlled fan, a real SSD onboard disk of 64GB and can take USB3 and SATA disks from the get go. It will outperform any ARM solution by a huge margin.

You cannot really run a VIM2 fanless and expect a long and happy life, but like all of these boards a 12V fan run off the 5V GPIO header will be a silent solution. In fact I would do exactly the same with the UX4Q - simply add a quiet 12V fan, glue it to the top of the heatsink.

My point about the XU4 vs the VIM2 is that the VIM2 will not clock at higher than 1.2mhz despite what the advertising blurb says, a XU4 is not crippled by design in the same way. I believe the xU4 also has USB3 which automatically puts it head and shoulders above the VIM2’s USB2.

Its just a sad fact that AML just don’t respect their customers as much as Samsung and so just about everything that comes out of AML is fundamentally flawed/broken. I am not that sad since all I use mine for is as a media center and the Coreelec team saved the day in getting adequate hardware support on the VIM2. Having said that i will never buy an AMLogic product again, I will be going Intel every time.

Shoog


#8

Intel and VPN are mutually exclusive things.


#9

I use a VPN on my Intel based Laptop every day of the week.

Shoog


#10

You can use anything you want , it’s your own business.


#11

Numbers are available. Do a quick web search for ‘tinymembench vim2’ and ‘tinymembench odroid xu4’. But I have no idea why people think more DRAM would ‘improve’ things. If your use case doesn’t need more RAM then more RAM just means larger filesystem buffers/caches.

I’m currently documenting/monitoring the IT landscape of a customer and the first thing I’m doing is downsizing all servers wrt memory (they’re all virtualized of course).

BTW: No idea why people interested in server use cases want to use ARM boards relying on CPUs made for TV boxes or smartphones. For your use case I would choose an Espressobin or maybe if high IO bandwidth isn’t important even an el cheapo Allwinner H5 thingy with an UAS attached SSD for storage. Something in between would be a Rock64 (ok-ish USB3 implementation that’s also UAS capable, slightly faster than XU4)


#12

Care to name a reason?


#13

The Intel Management Engine (ME)

p/s/ AMD is no better.


#14

??
if you mean where I said “bug fix/vun”, I mean vulnerability.

No one mentioned VPN, but you. But speaking of, ethernet speeds will suck for VPN if you are trying to do desktop or VPM filesharing etc. (assuming you have good internet in the first place!)


#15

Well…

OpenVPN while being single threaded would perform pretty well with a S912 device due to ARMv8 Crypto Extensions being useable (the only two 64-bit SBC lacking those extensions are ODROID-C2 and Raspberry Pi 3/3+)

The ARMv8 AES acceleration (most probably GCHQ backdoored) might even outperform entry level AES-NI implementations (Intel’s variant most probably being backdoored by the NSA instead): https://www.cnx-software.com/2017/10/26/linux-benchmarks-intel-j3455-apollo-lake-vs-z3735f-bay-trail-vs-rk3399-and-other-arm-platforms/#comment-547276


#16

Read carefully the conditions of the problem.

I don’t know for what purpose is using a VPN the author of a topic, but for me , the concept of VPN = network protection from ALL outsiders.

About bugs. For reference. VIM\VIM2 is one of the few models that have direct support in the core. And have working images of systems with kernel “4.1x” (including the server and the Debian\Armbian desktop).
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic
Plus, it has working systems and its sources for the kernel “3.14\4.9”.

From the VIM1 = 100Mb network. Have VIM2 = 1GB network. And when using the appropriate switch and cable network, they work out their parameters.

These statements contradict each other. Or high quality, but much more expensive, or shit, for a comparable price. :slight_smile:


#17

But with ‘server use cases’ you most probably also want decent IO capabilities which is a joke on every Amlogic device around today (since they’ve all only USB2 and most of them with crippled topology --> all receptacles behind an internal USB2 hub so they share bandwidth).

This might change with S922 later this year but for now using any Amlogic SBC to combine it with fast storage is simply impossible if it’s not eMMC.

Amlogic does TV boxes not servers :slight_smile:


#18

If we are concerned about Backdooring, it seems extremely naive to believe that any SOC hasn’t been backdoored in some way and I have no doubt that AML would be as guilty as Intel since they are both US based companies.
Lets be honest though - if backdooring is a concern for you then best look for some more exotic hardware since the NSA has strongarmed just about everyone at this stage.

In short this is a complete RED HERRING for any normal use case.

I think though in this case the conclusion would have to be:
-UX4Q will perform better in this situation than the VIM2 so the VIM2 would be a step backwards. Any advantage offered by DDR4 vs DDR3 will disappear in the peak processing power advantage the UX4 has over the VIMs. USB3 vs USB2 should make it a no brainer since this will be the bottleneck for server duty.
-an Intel chip will have advantages in every department and has ample resources to perform the necessary VPN encryption/decryption even with poorer SOC support built in.

i would stick with the UX4Q but add a 12V fan for extra stability.

Shoog


#19

The author did not write specific parameters about the size of his data (10Gb, 100GB, 1TB ??? ), so can discuss a lot without a useful result … :slight_smile:

By the way, they can also be different. For example, you can have a huge collection of music or video for home (personal) use in several TB on USB and a quick search system in eMMC. Then the USB bandwidth is not so critical.


#20

Of course. If there’s already an XU4 in the house there’s no need to get anything different. Few things to consider:

  • Hardkernel managed many times to ship devices that lacked proper contact between SoC and heatsink (I experienced this with an HC1 and a HC2, gently massaging the PCB helped but with XU4 I would remove the heatsink and check directly)
  • The Exynos SoC on XU4 while not providing ARMv8 Crypto Extensions supports crypto acceleration. Prerequisit is an image with at least kernel 4.14 and checking Hardkernel’s wiki how to make use of (it’s not just ‘it works’ as with all recent 64-bit ARM SoCs RPi 3/3+ and ODROID-C2 excluded)
  • Approx. 99.9% of Linux users are not familiar with the concept of ‘average load’ which is a real problem especially on SBC running off crappy SD cards. I/O wait counts as load on Linux so if your mini server has a constant high load you better call ‘iostat 5’ and look at the %iowait percentage. If this is high you most probably suffer from storage being too slow (random IO performance, don’t look at bandwidth, it’s tps/IOPS that are important)

That said both Hardkernel’s eMMC modules and any recent A1 rated SD card (I recommend SanDisk Extreme A1 or SanDisk Extreme Plus A1) can turn a lagging mini server into something running totally smooth again. Since the I/O bottleneck responsible for a permanent high load and the system being stuck in I/O is gone.

But if there’s not already an XU4 I would better look at any RK3328 device today (since crypto acceleration, fast enough and due to USB3 great I/O bandwidth and also low latency which is way more important with server use cases than bandwidth). Or as already said a Marvell based SBC. I love both my EspressoBin and my Clearfog Pro for such use cases. As fast as Intel boxes but consuming only fractions of them.