Ask HN: Hackable external wireless SSD storage?

49 points by kencausey 5 years ago

I've been looking at the Western Digital My Passport SSD Wireless devices with the idea of setting this up for a client for local server backup.

I already have the client setup for backup to remote storage (rsync.net) but for redundancy and speedier access in the case of an emergency I would like them to have access to a local backup. However, through prior experience, I've learned that if any effort is required then eventually good practice stops.

So my thought is to have a small box that the user takes home (to avoid loss due to fire or other catastrophe at the office) and then at least once a week brings in to the office for the day and then takes home again. The 'box' would automatically connect to the local wireless network and would be able to use something like rsync and would have access to the server necessary to make a full backup hopefully before the user leaves for the day. I'm thinking SSD is a better choice than a spinning disk for reliability while being carried around regularly.

A little research on the Western Digital wireless storage devices suggests linux is running underneath and that it is possible to enable SSH, login as root, and start hacking.

I guess my question is has anyone here actually done that and can you provide any additional details? As far as I can tell this is not something that is officially supported by Western Digital.

Alternatively is anyone aware of a similar device (mostly closed box, rechargable internal battery, wireless accessible) that either has internal SSD storage or into which an SD card can be installed that also has a *nix filesystem underneath?

Access to a solid ZFS implementation would be a plus.

orev 5 years ago

This sounds over-engineered. Why not just setup something the user can leave connected to their home Internet connection and do the backups through there? In an emergency the user could simply drive home to get it.

If you’re already thinking SSD, it’s probably not that much data. Then they don’t need to do anything other than set it up once. I think your plan of having them transport it to the office once a week has the same flaw you already mentioned (any effort needed on their part and it doesn’t happen). And if they don’t have to transport it, you can use an HDD and get a lot more space. Syncthing could handle the syncing.

wolrah 5 years ago

For the level of customization you're looking for, it sounds like what you're looking for here is called a "laptop computer"

Failing that, I'm pretty sure a few of the NAS brands support WiFi adapters being installed in to M.2 slots or USB ports. Couldn't help you with your battery requirement, but I'm not really seeing why it'd be useful in this application.

Personally, I'd just do it with a normal wired NAS if the only time it needs to be on a network is at the office. Have a defined station for it where there's always a wire and a power cord locked down. Hell, in a lot of cases a USB drive works just as well.

  • InvaderFizz 5 years ago

    > For the level of customization you're looking for, it sounds like what you're looking for here is called a "laptop computer"

    Yep, and it also won't end up working how OP envisions.

    Any backup solution that requires manual intervention(like weekly transportation and plugging in) is doomed to failure.

    Since you are already using ZFS, setup your offsite NAS, replicate snapshots, and bring it on site for a restore. This way everything is set and forget.

    You can use something like sanoid/syncoid to manage your snapshots and syncing. Setup email alerts on either side if there has not been a sync in a while, and setup the target to be a samba/nfs share with those services turned off. That way recovery is bringing it back on site and turning on the share.

  • new299 5 years ago

    This seems like a good solution. Hacking around with a NAS is probably going to be problematic. If I were to go the NAS route I'd probably go with a Synology or something similar, which seem somewhat more hackable/scriptable.

    Another option, might be a normal workstation with a removable USB HD. Setup scripts to automatically backup to the USB drive and the user just unplugs it and takes it home every day.

dangus 5 years ago

So rsync.net is your cloud storage backup solution, and you also want something local that can be customized. But you want to...have the user carry it to and from work?

They'll never use that. That sounds incredibly annoying.

You've already got cloud storage. Add alerting for yourself if the user hasn't backed up within an acceptable period of time. Your user will always connect to the Internet wherever they are, so the backup will keep happening as long as you've set it up right.

Then, hook up a spinning USB drive to their laptop dock at work or whatever, and enable Time Machine/Windows Backup.

Anything more than that is:

1. An indicator that the primary place for this important data to live on shouldn't be a portable workstation, it belongs on a well-engineered server in multiple data centers getting professionally backed up.

2. Over-engineered and prone to break anyway

3. Impossible to maintain once you stop being their provider

Finally, the most important part of backups besides backing up is to test your restoration solution. If you've never tried to restore your backup you don't really know that it's a backup at all.

  • rsync 5 years ago

    "You've already got cloud storage. Add alerting for yourself if the user hasn't backed up within an acceptable period of time."

    To wit: rsync.net has user-customizable "idle alerts" (or, inactivity alerts) that you can set at any threshold you like and which will generate any combination of emails, SMS, pushovers or webhooks.

    "Then, hook up a spinning USB drive to their laptop dock at work or whatever, and enable Time Machine/Windows Backup."

    ... and although I am certain the OP knows this, just in case, let me point out that your .zfs/snapshot directory contains user-configurable "snapshots" of your entire account that are live, browseable and immutable. So whatever you set up with Time Machine, you can set up in your rsync.net account with ZFS snapshots.[1]

    [1] By default, 7 daily, but configurable to any combination of days/weeks/months/quarters/years ...

peterburkimsher 5 years ago

I've made a rather hacky system that I carry everywhere, and allows up to 1 TB of backup in my pocket. It's not SSD-based though, it's only SD card, so it's slower. For backups I don't really worry though, because the incremental size is small.

I've got a SanDisk 512 GB SDXC card, into an SD female to microSD male ribbon, into a PQI Air Card (same firmware as Transcend, hackable with Ubuntu [1]), into an iFlash Dual, into an iPod 5.5G.

Usually I just use it for listening to music, but I can also use it as an SD-to-WiFi adaptor. Airport security thinks it just looks like a normal iPod.

Photo on Reddit. [2]

[1] https://dmitry.gr/?r=05.Projects&proj=15.%20Transcend%20WiFi...

[2] https://www.reddit.com/r/ipod/comments/9ldj8g/wipod_ipod_vid...

mceachen 5 years ago

If you want backups from one system to another, I've been really impressed with Resilio Sync, which is commercial software, and Syncthing, which is open source. They've both got win/Mac/Linux/iOS/Android ports, and don't require either the client or the server to have publicly available ports open.

Odroid makes a couple "home cloud" variants of their single board computer, which lets you plug a 2.5" SSD (or a larger variant that support 3.5" spinning rust) into a SBC mounted onto a solid aluminum heatsink. https://www.hardkernel.com/shop/odroid-hc1-home-cloud-one/

You'd run Ubuntu server on the odroid, so BTRFS and ZFS would be available.

Whenever the odroid was powered up and had network, the sync client would connect and send deltas.

Disclaimer: I don't have any financial interests in the above companies. In building PhotoStructure, though, I get asked frequently how to back up photos and videos on people's smartphones, and personally needed a solution that could come with me and my family on trips, and also run PhotoStructure locally on the odroid. This is the setup we use. BTW: It's super convenient to sync at 50mb/s even when your internet WAN speed is something abysmally slow and has high packet loss.

dewey 5 years ago

You don’t say anything about the client machines but in general I’d very much avoid trying to reinvent the wheel especially for critical systems like backups. It’s hard enough to do right so adding another layer of hacked and glued together software is not what you want.

Can’t you use Carbon Copy Cloned or TimeMachine and set them to start the backup as soon as the disk is attached? Just add a calendar event to notify the user to bring the disk home from time to time.

anotherhue 5 years ago

Wrote this up some time ago, might suit your needs: RPi based encrypted ZFS mirror on external storage.

https://github.com/hughobrien/zfs-remote-mirror

  • dbtx 5 years ago

    +1 for the Pi.

    I'm in the middle of tweaking BackupPC [1] on Slackware in one of these so it will regularly pull updated files from the handful of Windows machines, and ransomware won't be able to know it exists. The only thing on each Win box is a cygwin-powered rsync daemon; it doesn't need write access to any outside filesystems or services.

    In the back of my mind, I think it could be used to set up a sort of tripwire for the presence of ransomware-- lots of files would be changed in a short time (unless said RW also decrypts them all silently and transparently on access, until the time comes to drop the ax on you-- that would only defeat the tripwire and most if not all of the files would be still saved in old backup sets anyway). Since it only stores identical files once, the change in space required for a single full backup will suddenly jump, and all you'd need is one automated email alert like the others.

    Sorry that the thing doesn't actually do its job yet and I haven't likewise written anything up :(

    [1] https://backuppc.github.io/backuppc

    • dbtx 5 years ago

      At the same time, there's a 'hosts allow' directive with the Pi's IP in the rsync config stored on each Win box, so it's not really invisible. Also, someone might save the password to the BPC web frontend in their browser, so a sufficiently clever RW could still wreck everything here. I hope it's just that the web server needs some 2FA/OTP.

  • anotherhue 5 years ago

    Although honestly for smaller data sets I use restic with backblaze b2. It's too cheap not to.

rsync 5 years ago

We (rsync.net) are happy to ship you a bare SATA drive with any or all of your account on it. It's a standard part of our offering and we do it all the time[1].

No funny business - just our actual cost for the drive + our actual fedex costs + $150.

So that's one option.

The second thing that comes to mind is that, as you already know, any tool that runs over SSH/SFTP will connect to your rsync.net account. So, in a pinch, you could just use our drive mapper (or filezilla or WinSCP or sshfs on Mac or whatever) and let the client poke along at WAN speeds for a day or three.

Finally, I disagree with some of the comments that suggest this is overkill or unnecessary - I think it's a decent line of thought - but why not just add a line item to your clients' bill for "local DR service" and just dump the rsync.net account back to yourself on any old drive that you control and if there is indeed a catastrophe you just drive it over there ?

Happy to discuss this further over email, etc.

[1] Almost always for DR drills - thank goodness ...

techntoke 5 years ago

Checkout CrashPlan for Small Business. You get unlimited versioned storage for $10 a month, and you can backup to multiple devices as well if you want to setup an offsite backup, like a home computer or laptop. I personally run it in a Docker image (which can be used with Synology or unRAID), since I use Linux for my desktop:

https://hub.docker.com/r/jlesage/crashplan-pro/

bronco21016 5 years ago

I too was looking at the My Passport drive and although it does seem to be hackable I decided to go a DIY route. Primarily I just didn’t want to have to keep tinkering with software and likely compiling from source constantly. I also wanted the ability to encrypt the volume and there was no clear path to doing that on the My Passport.

My use case is slightly different than yours though. My goal is to make a travel portable NAS. I can connect SD cards, any wireless device, or any USB device. I have access to my media on my server but public/hotel WiFi can make accessing video a pain. I’m editing on an older iPad that is storage limited as well. I just wanted to be able to have local copies of media accessible over WiFi for use on phones/tablets.

My solution was a NanoPC-T4 with a 1 TB m.2 SSD. Using hostapd it acts as a hotspot and using samba it shares files. My todo list includes adding encryption and a web interface for configuration as well as some kind of battery power.

Anyway, from what I’ve gathered playing with all of this, a single board computer with storage might cover your needs. The battery aspect doesn’t seem to be a requirement in your case so just setting up a board would be easy.

jaclaz 5 years ago

>Alternatively is anyone aware of a similar device (mostly closed box, rechargable internal battery, wireless accessible) that either has internal SSD storage or into which an SD card can be installed that also has a *nix filesystem underneath?

I am not sure to understand the rechargeable battery requirement.

I mean, the thingy needs to be connected to mains anyway to recharge the battery and - before or later - it will happen to exhaust the battery mid-backup.

Personally I would either get a "normal" UPS (that stays always in the office) and connect to it any of the "common" mini-pc's, sometimes called "brick pc's", like (example only) the Ibtel NUC's:

https://www.intel.com/content/www/us/en/products/boards-kits...

But really, why do you want to carry with you BOTH the data AND the hardware?

Once upon a time those kinds of backups were made using ZIP disk, there was a "backup" machine on the network with a ZIP drive and what was carried home at night was just the ZIP disk (at the time the policy was "integral" backup every two days and there were three disks, labeled "Monday", "Wednesday" and "Friday" - and yes, all the non-replaceable data did fit into 100 MB).

Nowadays all you need is either a USB disk in a case or a "cartridge like" disk, example:

https://www.addonics.com/category/removable_drive_system.php

tbyehl 5 years ago

Datto, StorageCraft, Veeam, others have offerings that would allow you to have an on-site backup appliance that replicates to your own cloud or someone else's. I know Datto provides actual physical appliances, their lowest-end model is a NUC-like thing that they basically give away with their service.

For something more roll-your-own, Urbackup's commercial offering can replicate between appliances or to AWS / Azure. Free for up to 10 clients and 20TB.

https://www.infscape.com/2019/03/07/community-edition-free-f...

vmurthy 5 years ago

I do love the technical parts of the discussion here but do allow a slightly different perspective: You say it is for a client and you (presumably) can bill the client for this extra service. That being the case, aren't you better off using a commercial solution like others mentioned below (CrashPlan/rsync etc) and charge the client for the same? This way you have a level of support and accountability than being liable for everything that can go wrong with the hacks.

I would, of course, encourage your quest for a hackable Wireless SSD for your personal projects :-)

viraptor 5 years ago

I'd stay away from things like drive-producer-specific solutions. There are many NAS solutions which will take any drives and support raid configs. For simple setup, check what can you run FreeNAS on. For very cheap, custom solution, have a look at something like odroid-hc1.

boris 5 years ago

I would look into pcengines. It has everything you have described (or a port to plug it to) except for the battery. This is my go-to device for anything specialized (router, backup).

antman 5 years ago

Raspberry pi with openmedia vault or with Nextcloud. Easy to setup, update.