Saturday, February 4, 2017

Filename too long

While recovering data from an old NAS, I encounter a folder that would not delete after being restored on a USB Drive.  The error Windows was throwing was:

The filename would be too long for the destination folder.   You can shorten the file name and try again...

After a bit of research, the following workaround was used to successfully delete the folder.

  • open a command prompt
  • cd into the nested directory folder (i went about half way down)
  • subst m: .
  • j:
  • rmdir /s remaining_folder_name
  • c:
  • subst /d m:
This effectively assigns part of the large nested directory folder to the m: drive, and allows you to switch to that drive and delete the remaining nested folder.

Friday, February 3, 2017

Backup Sonos Playlists

As great as the Sonos system is, it has one major shortcoming - there is no way to backup your playlists.  Why this is, I have no idea - I can think of absolutely no reason why you would not want to provide this kind of basic functionality. Luckily, someone has created a workaround for this.  Listed below are the basic steps on setting up a Mac running OS X to run the spl utility.

First, add some utilities:

  • sudo easy_install pip
  • sudo pip install soco

Then pull the spl master from GitHub, located at the following location:

Once installed you can run playlist backups with either of the following commands
  • ./spl.py -x MYPLAYLIST
    • this will export a specific playlist
  • ./spl.py -X
    • this will export all playlists

The utility exports XML files (one per playlist), with each track listed by name along with its associated location.

Wednesday, February 1, 2017

Synology DS716+II NAS File Transfer Slowness from Windows 10

With the Synology DS716+II NAS fully set up for link aggregation (a 2Gbps pipe to the home network), I was expecting great things for my first file transfer.  I used a single album music folder (mp4 files, about a dozen songs) as a test upload, and dragged/dropped it onto the network share, then waited... and waited some more - it was horrendous.  After 5 minutes, I cancelled the copy and began my usual ritual of cursing technology and every IT commercial vendor that came to mind. Per the Windows file transfer window, I was getting just around a 150Kb/s transfer rate.

The Synology Knowledge Base was fairly useless, and basically instructed you to make sure that your device was plugged in and you were not running any software which would consume CPU on your NAS.

I am not a network engineer by trade, but have played around with it enough to know that its just as much black magic and voodoo as it is science.  There are so many variables in play and parts that can go wrong, that its always a time consuming effort to track a problem to ground, and this was no exception.  I spent a number of hours working different combinations of switch settings (with/without link aggregation, MTU sizing, etc, etc), swapping out cables, rebooting devices, and if had a goat in my possession, the poor fella would have been sacrificed as well in attempts to appease the network gods.

Ultimately, the problem was traced to Windows 10.

Your mileage may vary, but for my network and workstation configuration, this configuration completely resolved my issue and pushed my transfer speeds from 100 Kb/s up to the neighborhood of 90 MB/s.

Control Panel | Network and Sharing Center | Change Adapter Settings | Ethernet (or your NIC here), then click Properties:


Then click Configure...:


Then switch to the Advanced tab:


Change Speed & Duplex from "auto negotiation" to "1.0 Gbps Full Duplex".  This instantly fixed my transfer speed issue (not even a reboot required).  The new transfer speeds can be seen below, and are much more in line with what I was expecting from a modern NAS.


Synology DS716+II NAS using Link Aggregation

With the new Synology NAS set up and running with a default configuration, it was time to move on to a bit of customization.
First up was to address the networking.  The DS716 comes with two NICs, but with the default configuration, both are addressed separately using DHCP.  The network switch we have supports link aggregation, so that was implemented first on the switch, then on the NAS.

Mileage may vary depending on your switch, but for the Cisco SG200-26, the settings below can be used to convert two ports on the switch into a Link Aggregation Group (LAG).





On the NAS, converting to a static IP and bonding the ports was a two step process.  For step 1, using the Synology console (Control Panel | Network | Network Interface) for network management, modify the first link, unchecking DHCP and selecting your desired static IP address.  For the second step, choose the option Create | Create Bond and chose the option for IEEE 802.3ad dynamic link aggregation.  After applying, this will grind for a bit, then you should be successfully setup for a link aggregated connection (see below).


Now on the network with a 2 Gbps pipe, the NAS should have been cruising, but was actually moving at a snails pace.  The solution to this is documented in the next post.

Setup of a new Synology DS716+II NAS

After many years of good service, the Western Digital DX4000 NAS on our network decided it was ready for retirement:



Yes, this NAS has dual-NICs, and yes, both of them decided to quit on the same day.  More on that and the upcoming recovery in another post (at least the hard drives are still good)...

After a bit of research, a new NAS was selected, the Synology DS716+II:



After many years in RAID5, we are moving back to RAID1 (mirroring) using Seagate 8TB Ironwolf NAS SATA drives, with a local backup to a WD USB 8TB drive, as well as a cloud backup to Amazon (which is natively supported by the Synology).  This will help keep the drive count down (as well as cost), will be easier to recover (if the chassis fails, only one drive to recover), and the local USB plus cloud backup should be more than ample for fault tolerance.

Setup went fine, and was fairly uneventful for out-of-the-box configuration.  I will document the network configuration (link aggregation) as well as some Windows oddities in the next post.