Convalesco

Current revision: 0.5

Last update: 2018-11-04 07:56:26 +0000 UTC

I frame no hypothesis.

I. Newton , Mathematical Principles of Natural Philosophy - 1687 A.D.


eBox 5530MX as a home server

Date: 28/11/2012, 14:18

Category: technology



Introduction

I’ve been using the eBox 3350MX for almost 8 months now, as a home server. The last 3 months, I am using FreeBSD 9.0. Prior to FreeBSD I was using the eBox with Gentoo GNU/Linux.

Specifications

The ebox 3350MX is an RDC SoC. The cpu is a PMX-1000, Vortex86mx by DMP and the RAM is at 512MB. There is an HD Audio output and a VGA output, both build into the cpu. The ebox also has a 10/100 Mbps LAN output with PXE support, SDHC slot and 3xUSB 2.0 ports. It’s fanless, the design is pretty compact there are slots to mount the machine on walls or portable items easily.

Gentoo on the ebox

I had a good run with Gentoo, after a few headaches the kernel configuration. You can find my Gentoo kernel configuration file here, RDC support is properly added. The reason I switched to FreeBSD was the frequent updates. In such an underpowered system, having to compile a new packages every two days is not optimal. I could run a sort of scheduled updates at stable branch, but even that might fail. Gentoo doesn’t play well with systems that are not often updated. If you update your system once every month for example, you’ll most likely break it.

FreeBSD on the ebox

I was between Debian GNU/Linux and FreeBSD. Debian is an optimal choice because of it’s huge variety of precompiled packages. It’s package management tool is amazing. However I opted for FreeBSD because it’s cleaner, well documented and I already had a sort of experience with it.

Using FreeBSD is easy. The RDC chipset is officially supported in FreeBSD 9.0. The only thing I had to change was the ethernet device interface at /etc/rc.conf to vte0 like this: ifconfig_vte0="inet 10.0.0.4 netmask 255.255.255.0". The system is installed on a 16GB ADATA class 10 SD card.

FreeBSD perfomance

Perfomance wise the system is fine. You can see a top output here:

last pid: 84468;  load averages:  0.00,  0.00,  0.00    up 6+03:53:08  16:09:43
29 processes:  1 running, 28 sleeping
CPU:  0.4% user,  0.0% nice,  0.0% system,  0.4% interrupt, 99.3% idle
Mem: 89M Active, 280M Inact, 90M Wired, 5232K Cache, 59M Buf, 22M Free
Swap: 770M Total, 752K Used, 769M Free

The system runs the following daemons:

The daemons with the biggest memory footprint are “transmission-web”, “weechat-client” and the “tor relay”. In this little machine RAM matters so I try to avoid using the SWAP whenever possible. Some time ago I was running also the nginx along with unicorn without problems. Mind you the loads were less than 15 per day.

The throughput is optimal for an SD card. Here is the output command of diskinfo:

[root@comodino ~]# diskinfo -t /dev/ada0p2 
/dev/ada0p2
512           # sectorsize
15032320000 # mediasize in bytes (14G)
29360000                   # mediasize in sectors
0           # stripesize
82944       # s                 tripeoffset
29126       # Cylinders according to firmware.
16                     # Heads according to firmware.
63          # Sectors according to           firmware.
00010000000000000000# Disk ident.

Seek times:
    Full stroke:    250 iter in 0.186848 sec = 0.747 msec
    Half stroke:    250 iter in 0.173520 sec = 0.694 msec
    Quarter stroke: 500 iter in 0.341755 sec = 0.684 msec
    Short forward:  400 iter in 0.218267 sec = 0.546 msec
    Short backward: 400 iter in 0.217773 sec = 0.544 msec
    Seq outer:  2048 iter in 1.256504 sec = 0.614 msec
    Seq inner:  2048 iter in 1.167207 sec = 0.570 msec
Transfer rates:
    outside:       102400 kbytes in   4.957708 sec =    20655 kbytes/sec
    middle:        102400 kbytes in   4.978999 sec =    20566 kbytes/sec
    inside:        102400 kbytes in   4.941213 sec =    20724 kbytes/sec

Although read/write speed is approximately 20 MB/s, the maximum speed I am able to reach when downloading files over WiFi or ethernet is 2.3 MB/s. I use sshFS for file tranfers. The 2 MB/s are a nasty limit for a local fileserver. Some HD video will not stream very well and any practical attempt to use this little machine as a backup server is equally doomed. A backup of my Macbook air (150 GB) will take 21 hours to complete.

There 2 things to keep in mind here:

Problems along the way

The most difficult problem I faced, was a performance slow-down which made the box almost unusable and is well documented on superuser.com. Although I don’t know why, this issue is directly connected with my internet connection. If the server is connected to the internet, everything is fine, if not then you can’t use CLI promptly.

I think that this has something to do with the NTP server, making requests all the time. But I have no way to support the case. The fact is that, if the eBox is offline, it doesn’t work well. Gentoo didn’t had this problem.

Another very important thing to remember is the power plug. You need to buy the original. I had used 2 custom solution and gave all sorts of problems along the way. Do yourself a favor and buy the original power cable along with the ebox.

Final words

The ebox 3350mx is a really nice choice if you want an underpowered silent machine for home server. At the price range of 90 EUR, you really have too many choices these days. But works for me :-)