August 29th, 2014
So, my article about building a low power Linux home NAS got quite a lot of attention, and several commenters wanted information about the performance.
I/O performance was something that I was curious about it when I built it, especially if using encrypted disks (LUKS) with such a low-power machine, so I did some very basic tests and the results are below. All tests are done with a large (3.5GB) file/data, intentionally larger than the memory. They involve writing to an ext4 filesystem (default configuration with RHEL6) sitting over a RAID0 MD array. Disks are 2 x Seagate SpinPoint M8/ST1000LM024 1TB 2.5″.
I’ve got to emphasise that these are quick and dirty initial results to give an idea; I’ve not analysed them deeply and there might be methodological flaws (e.g. I didn’t force caching off)
Sequential read/write (dd)
|Block size (bytes)
October 23rd, 2013
As part of my low power mini Linux NAS project, I wanted to be able to share photos and videos simply to other devices on the local network, specifically a TV (it’s nice to be able to browse photos there).
- Runs as a service on a Linux server (no GUI)
- Simple to configure (so I can forget about it)
- Works with a Samsung Smart TV
I can live without transcoding and fancy stuff, so after looking at Servio (full-featured, nice – tested it on Windows too) and ushare (looks good but less maintained currently), I came to the conclusion that ReadyMedia (formerly minidlna) looked like the simplest and best solution. (It’s incidentally developed by Netgear for their ReadyNAS products)
Installing ReadyMedia/minidlna on RHEL6
Unfortunately, (due to some of the media libraries it depends on not being available in RHEL/EPEL, presumably due to patent or licensing issues), ReadyShare is not available in the “usual” repositories such as EPEL. However, I found a package over on the li.nux.ro site which I’m not familiar with. The version wasn’t current, and a couple of things needed fixing (including the init file), so I updated the package and rebuilt – the built packages are below:
Configuring ReadyMedia is extremely simple – it suffices in the first instance to just define where your media are located with one or more media_dir directives:
I also set friendly_name (to specify a name that will be shown up on other devices) and shrank notify_interval (to try to pick up newly-added files faster).
Then, start the service (service minidlna start) and browse from another device on the network that supports DLNA (e.g. TV). Works!