Forum archive
Media Server for Stability
Hi everyone, and thanks for maintaining this interesting and useful project :)
I turned up here, as I've been using OpenMediaVault as a home media server now for a few years, using hardware that I put together myself. Unfortunately, it hasn't been very stable over that time, especially this last year. It's made me very sad and depressed. To the point that recently, I can't even seem to install OMV and boot into it at all.
My machine is a simple tower with 4 large sata drives. Running a simple Intel i3 CPU, with 8gb of ram and also have a Hauppauge dual tuner in there and spare NIC. I run the OS via USB. This last bit has been my main problem maybe...but I didn't want to run an OS drive for a lightweight OS.
I've finally had to give up with OMV, as it just won't boot, and I've spent countless hours trying to reinstall and boot (i couldn't make any headway on the forum there). So i tried installing Linux Mint and now Turnkey Fileserver and neither had any issues, so I'm having to determine that OMV just won't install properly on my machine for Some reason...
Since TKL is still Debian, I'm hoping to utilise some of my existing knowledge. But since it was very hands off, it's going to be a learning curve it seems. I've installed and booted in, looks good as a start!
Some of the things I need to figure out:
- how to add my existing drives from the webmin, or do I need to mount them via command prompt?
- how to merge the FS into one big blob. OMV used mergerfs in the GUI, I can see LVM here is that the way to go?
- implementing SnapRaid for redundancy, OMV did this via the GUI too...
- installing Docker, I ran a few things like Plex...so would like to keep doing that.
- automating some scripts I've written (I used the server primarily for home movies and photos, so had a script to upload and organise the files)
- maybe getting my Hauppauge dual tuner working again...one day.
I think these are the main things, if anyone has any advice for where to start, that'd be appreciated. After a while battling with OMV, I'm feeling overwhelmed having to start again. I just want to get my data available for the kids, as they like going through their old memories...that's my main focus at this stage.
I am wondering, if there is a way to limit writes to the USB...as OMV had a plugin for that? Or is that not something that has been of need with TKL?
Cheers, and thanks again, Im really hoping to building something stable and reliable with TKL :)
I know nothing of OMV, so I can't comment too much on that, but I'll do my best to answer your questions. It's also worth noting, that most TurnKey users run it in VMs, so whilst install to hardware should work fine, it's not something that I've ever done. FWIW I run vanilla Debian (currently Stretch) on my work laptop, Debian Sid on my desktop and Proxmox (a Debian based hypervisor) on my server. All my TurnKey servers (including my fileserver/media server) run as LXC containers (mostly) or KVM VMs. I don't think I've personally ever done a bare metal install of TurnKey?!
Also, I'm a commandline guy. I find it much quicker and easier and generally gives much better feedback re what is going on. So I can't really speak with any authority on how to do stuff via Webmin. But hopefully I can point you in the right direction.
Unless you're using USB3 I would imagine that running the OS from USB would be a bottleneck. Although I note that you're trying to limit writes to it, which would certainly help. Personally how I'd do it would be to install the OS to the first disk (on LVM) then shrink the root LV to the desired size, then add the rest of the first drive and all the other disks to a new single LV. But I'm not so familiar with LVM that I could give you the instructions OTTOMH. FWIW when I do stuff like that I usually consult the man page and/or just google.
As you note, TKL is Debian under the hood, so anything Debian should "just work", although as we slim it down as much as possible, some default packages you're used to/expecting may need to be installed.
AFAIK you should be able to do that via Webmin, although TBH I'm not sure how that goes. The Webmin docs on Disk and Network Filesystems and Partitions on Local Disks might get you headed in the right direction?
As I noted above I'd use LVM for this. Webmin has an LVM module, but again, I've never used it, so not sure how intuitive it is.
Although you'll need to do that before you mount and partition the drives (i.e. your previous question). FWIW if you use LVM, you don't even need to partition the drives (assuming that you want to add the whole drive as a "Physical Volume" (the lowest layer of an LVM setup).
I've never heard of it. I just had a read and it sounds interesting. Although on a drive that is being written to lots, I'm not convinced on how useful it would be in reality (unless you constantly run lots of snapshots, which would add a lot of IO overhead). It'd be fantastic for volumes where very little data changes though (e.g. media storage)! I'm also not sure how it interacts with LVM? If you intend to use it (and are using LVM) then please be sure to research that.
Also, whilst it does provide some degree of redundancy, I can't stress enough that it's NOT A BACKUP! If you have important stuff that you don't want to risk losing, don't rely on snapRAID, do a proper backup!
FWIW LVM can mirror volumes which would give you full redundancy (almost like a backup, but not really...). But that's more like RAID1 so you lose half your storage space, so probably not what you are after...
I personally don't use Docker much myself (as per my note above about using LXC and Docker and LXC rely on similar backend functionality so they don't really play well together). But as per any Debian system following the Docker docs should "just work".
I assume that you mean via cron jobs? If so, you can do that in Webmin too. Just be a little wary of the fact that cron runs in a minimalist environment, so some environment variables may not be set. As a general rule to avoid issues, use absolute paths when calling commands, your scripts and any other files. Otherwise they may not run.
There is also a cool cron like system called incron. Instead of being triggered by time, it's triggered by filesystem events (e.g. when a file is created). I'm not super experienced with it, but it's possibly worth a look? Not sure if Webmin can handle that though? So you may need to use CLI.
I have no idea there, but assuming that there are suitable drivers that work with Debian, should be doable. Again I can't speak with any authority though.
Re wanting to limit writes to the USB, there are a few ways to do that, but none of them are really ideal in your situation IMO. They would all rely on either mount binding or using an overlay filesystem. And mount an alternate location over the top (e.g. from your HDD or RAM) of the filesystem locations which are often written to (e.g. /var/log, /var/cache, probably some subdirs of /var/lib, etc). You'd need to probably want to have a bit of a google on which dirs should be covered by this (I know that method is often used by Raspbian guys running RaspberryPis with OS installed to an SD card - which have similar issues as you're experiencing with USB sticks).
Using your HDD somewhat defeats the point of installing your OS to the USB IMO (although not completely). Using RAM is possibly better, but that has 2 downsides; you'd have to sacrifice some of your RAM for the purpose and you risk losing your logs if your system crashes (which would likely make troubleshooting really hard). You could occasionally write all these to the USB on a schedule, but there's still potential for issues if something goes wrong between writes (and knowing Murphy's law...).
I just had a quick google of the OMV forums and found your thread there re problems with your USB install. I can't help but think that your issues are related to your USB and/or the USB setup. I know that you stated that booting with Mint or TurnKey works, but have you tried a full install? (Sorry if you said and I missed it; I only quickly scanned through your posts). Without knowing more about how you set it up and/or what (if any) customisations OMV make to the install routine, I can't really provide any explanation, but my guess is that you may well hit similar issues once you actually install (assuming you haven't yet).
Bottom line is that I'm not convinced that TurnKey is going to be a really great fit for you in your current circumstance and your current knowledge. It's certainly capable of what you want, but you're probably going to need to dig in deeper than you'd probably really like right now...
Despite your recent run of pain with OMV, if you're relatively familiar with it already, happy with it until recently and just want to get up and running ASAP, I think it's possibly your best bet.
Personally, if I were you, I'd be inclined to go buy a small (~100GB) cheap SSD for the OS (should be able to get one ~$100 or less). Not only will that give you a much better experience re the functioning of the OS, it'll also be much more reliable than a USB (unlike USBs, they're designed to be written to lots). Then unplug your existing drives (so you don't risk overwriting anything) then do a clean install of OMV to the SSD. Then power off, plug in your old drives and reboot. If you have any issues booting, make sure that you're booting from the SSD (might require adjustments in BIOS). Then mount/re-add your data drives and configure the other bits. I'm sure the peeps over at OMV will be able to assist with that stuff if you struggle.
If you want to push ahead with TurnKey, I'm happy to assist as best I can, but you'll need to hone your google-fu and the CLI learning curve might be a bit steep. Plus I suspect that you'll likely end up in a similar situation eventually (assuming you keep running from a USB).
Sorry I don't have something better for you...