# Synology DS220+: The best humble aboad of all thing Digital (Review)



## Vyom (Jun 19, 2021)

_This review is part of the Synology NAS contest posted here: CONTEST ALERT - Synology-Digit NAS Review Contest - Win NAS units and HDDs
Thanks to digit and all it's staff for giving me the opportunity to write about it._



*Nostalgia:*
Over the course of childhood to what we are now (adult child, maybe), we tend to loose a ton of things. WWF (or Pokemon?) cards, audio cassettes, those physical letters we use to post in letter box! No? Maybe I am just a 90s kid. Well, these days we have all things digital. And the safety of these binary data is in our hands. We can’t let them slip away from us!

While we can do nothing about the things we have already lost, one good thing about digital information is that it can be backed up safely for eternity and generations to come can rejoice the previous moments that we want to share. But digital data is only truly eternal if we so choose to do so!

*Scenario:*
So you came back from a holiday. You have hoards of pictures and videos that you want to show to your friends.


> You copy them in your PC.  > Find a pen drive with enough capacity to store those media. > Hook up a pen drive to PC. > Copy the media onto the drive. > Then pop the drive in your TV to watch them.


Lets see the alternative if you had a Synology NAS.


> You let the media files sync with NAS. > You turn on the TV and start viewing! Just two steps. Life made simple and accessible! Plus, your stuff is backed up now. That’s the beauty of a NAS device. And it’s just one of many.



*So, What is a NAS?*
The standard definition from Synology (and is really good) is Network Attached Storage (NAS), is a storage device connected to your home or office network. You can store all your family and colleagues’ files on the NAS, from important documents to precious photos, music and video collections. By using a web browser or mobile apps, you can access files and use various services provided by the NAS via the Internet. It’s simple, and it’s effective.

And as I like to call it:
_Your personal and private cloud! Your own server!




_

*Who is a NAS for?*


> Anyone who is fed up with managing their data on multiple devices like PCs, Mobiles, Tablets etc. Multiply these devices with the members in your family, and the fragmentation quickly adds up.
> Anyone who wants to stop using pen drives to transfer data. It’s time we move to better technology.
> Anyone who value their privacy and don’t want to store data on “someone else’s” computer.
> Anyone who wants to “own” their data and keep it secure.



*Some of the uses of a NAS box is:*


> Automatic syncing of media on phone (of all family members) at one place.
> Sync the data with coud services like Google Drive or One drive (for offsite backup).
> Ability to stream media on a phone or a TV. Your personal Netflix with as many users as your hardware allows!
> Mirroring the data one one or more drives so that in case one drive fails, data can be restored.



For more technical users, you can even:


> Backup your Operating system like Linuux Mint or Windows 10.
> Host your own Jellyfin server using docker.
> Host your own password manager like Bitwarden, again using docker.
> Have your own Apache server or MediaWiki or a full fledge wordpress host using third party apps!



The list is quite exhaustive.

*Unboxing:*

The package came with a cardboard box. The NAS was nicely wrapped in a bag while the accesories were kept in a saparate compartment in it’s own mini box. Right out of the box, the NAS was so lightweight you could mistake it for an empty plastic box. The accesories included a charger (with a detachable charging brick, like the ones which comes with laptops), two LAN cables, and a few screws.

 


*Hardware:*
The NAS came with two drive bays and each bay was capable of holding a drive of atleast 10 TB, although even 16 TB drives are compatible as per this page.

For complete sepcs of the DS220+ NAS you can view this page (DS220+ | Synology Incorporated), but here it is in brief:



> CPU Model: Intel Celeron J4025, 64 bit
> CPU Frequency: 2-core 2.0 (base) / 2.9 (burst) GHz
> System Memory (RAM): 2 GB DDR4 non-ECC
> Maximum Memory Capacity: 6 GB (2 GB + 4 GB)
> ...



On the front of the NAS were two hot swabble bays, power on button, copy button (will discuss about it soon), and indicators such as Status, LAN1, LAN2, Disk1 and Disk2 and a USB3.0 port.





On the back of the NAS, there was another USB 3.0 port, 2 RJ-45 (LAN) ports, power cable input and a slot you can use to lock your NAS in place.





Inside the NAS we can see there are two SATA connectors.






*Installing and Setting up the NAS:*
To set it up, I needed to find a place where the NAS could be kept with good ventilation in the back (to allow the fan to throw the hot air out) and in a place where the power supply can be provided along with LAN cables as an input.

Although since I am from India I needed to get a 3 pin converter since the power plus is humongous and wouldn’t fit in your regular socket. This needed to be bought separately as it isn’t shipped along with the NAS. Costed me Rs 100 from a local store.





One thing which I totally admired was the ease of installing the NAS. After placing the NAS and connecting the power cable and a LAN, it was ready to set up. All I had to do was open the following address in a browser on a PC or a laptop connected to the same router:



> find.synology.com



And it automatically fetched the IP address to which the NAS was connected to. In my case the NAS was connected to the local IP address, 192.168.0.107, and it automatically connected to that.
After accepting the EULA and the privacy terms the setup process opened a “Web assistant” to go through the installation.



https://imgur.com/a/Pl08lp4


First thing which got installed was the DiskStation Manager (DSM), the operating system of the NAS which Synology provides. It’s a custom version of Linux operating system. _(This site is a good read on it’s Bootloader.)_

Once the OS was installed it took around 10 min for a reboot to complete, after which I was greeted with the options to setup Server Name, Username and a password.

On this screen I was asked to provide a QuickConnect name using which I can connect with my NAS over the internet.

Once that was done, finally the home screen of NAS opened up. It was something like following:

*i.imgur.com/rrm6kwO.png

The first thing to note here were the widgets which tells the health status of NAS along with CPU and Memory usage. Then on the top left is the Menu button from where we can access various applications. On the right side, were the icon for Notifications and an icon to edit profile details like description of NAS, changing password etc.

Before I could move on to installing packages (applications), I was required to setup storage. To do that I opened the “Storage Manager” from the top left menu button.



https://imgur.com/a/CLDAc17


First I created Volume from the Volume section. If you know anything about me I would always choose “Custom” given the option. On the next screen there was just one option preselected, “Create a new storage pool”.

On the “Configure storage pool property”, I was required to select the RAID type. In my case I only had one disk so I went with Basic, otherwise if I had two disks, I could have went for:



> RAID 0, which would mean that data would be divided among both disks for better performance, but in case one disk fails in future, that could prove catastrophic. Total data loss. OR, I could choose,
> RAID 1, which would allow both disks to run in parallel and data would be duplicated in both of them. In this case even if one disk fails, we could just replace it with a new disk, thereby providing more reliability.



On the next screen, I needed to selecte the drive. In my case since I only had one, I selected Drive 1.

I was just required to click “Continue” in this scary looking confirmation box, which told me that the disk I am using isn’t a “NAS specialized” disk and so performance and power usage might not be optimal. I was using a Baraccuda drive instead of IronWolf disk. That’s just ok. _Moving on._

Again a warning, that entire data would be erased. If this is you setting up the NAS for the first time on a new disk, I just needed to click OK.

*i.imgur.com/L2YYG0u.png

*File System:*
Now this is a good part. File system. Without a doubt there was only one option to go for: *Brtfs*. It’s a better file system than ext4 as it has many features which age old ext4 doesn’t like checksum, snapshot ability, deduplication (saves disk space) and compression and more.

On the next screens I just clicked Next and Apply.

*i.imgur.com/cGuwbhx.png

Creating the Volume 1 took it’s time. So this was a good time to take that break as I so much required after hours of tinkering with the NAS!
Once that was done in like an hour, I could see the Volume and the Storage Pool.

On the HDD/SSD section, I checked the disk performance. The screen also had the temperature and S.M.A.R.T. statistics.

One can also do S.M.A.R.T. test here. I did run a Quick test and the result was that the drive was “healthy”.

Moving on to the Control Panel, one of the first thing I did was to click “Advanced Mode”, and voila... I got much more options.

*i.imgur.com/Q7Z1dNT.png

*i.imgur.com/qEO59I4.png

Now that the drives were setup, next thing to do was to create shared folder. On the Control Panel I clicked “Shared Folder”, and there I got the option to “Create” one.

*i.imgur.com/04Qz1dq.png

I entered the name of the shared folder and clicked Next.

On the “Encryption” screen I could choose if I wanted to “encrypt” the folder, which means data wouldn’t be recoverable if I forget the key (password).

On the “Configure advanced settings”, I could choose to “enable data checksum for advanced data integrity” and what it would do is to have greater tolerance of data loss from an unexpected shutdown due to power outages. (one of the feature of btrfs!).

On the final screen clicking on Apply, it asked if I really want to “encrypt” the folder since data would be unrecoverable if I forgot the key.

Now that shared folder was created, I could click the Permissions tab to set the permissions.

There were also Advanced Permissions and NFS permissions tab, which I required to use later.


*SMB Share:*
Now I will create SMB share so that I can browse files of NAS on an external device like a PC, phone and even a TV. To do this, I went to “File services” under control panel and checked mark, “Enable SMB Service”.

This created a Workgroup and I was able to open the folder using the following path:


> smb://ipaddress (in Linux or MAC) and,
> \\ipaddress (in windows)



Which was this in my case:



> smb://192.168.0.107


or


> \\192.168.0.107



I could even choose to open using NAS name, which would be this in my case:


> smb://VyomNAS



Now as I could see there were hoards of options that we could configure in Control panel. To name some of them:


> FTP/SFTP
> rsync
> users (we can have different users access to different folders)
> ability to force password strengths for every user
> ...



The list was quite overwhelming and by no ordinary means. And that’s a good thing!

*Package Center:*
Finally we have reached to even better part! Package Center lets us install and setup tons of services! Let’s get started!
By default I could see that following packages were already installed (arranged as per usefulness):



> USB Copy
> File Station
> Universal Search
> OAuth Service



FIle Station is a file explorer, using which I could browse the files on my NAS. Very useful.

*USB Copy:*
Let’s talk about the feature USB Copy. This is an amazing feature. I needed to have the service running. So I enabled it:

*i.imgur.com/bOEX3P4.png

Now I just need to pop in a USB drive in the front USB 3.0 port of the NAS, and when it beeps, just need to press the physical “Copy” button on the front of the NAS. The NAS automatically copies the entire contents of the USB drive on NAS. It will do a long beep once the copy process is finished at which point I could remove the USB drive from NAS.
I belive it’s a very thoughtful feature of the NAS, which could prove extremely useful, in cases where you don’t want a PC/laptop to copy the files from the USB. Seemless and intuitive process!

Other packages:



> Text Editor: For cases where I may want to edit text files right from the DSM interface.
> Cloud Sync: In case I want to sync files from Cloud server like Google drive or One drive.
> Hyper Backup: To backup NAS files to any destination like local folder, USB, rsync to a server or ven Dropbox and Google drive.
> Moments: If I want to leverage Artificial Intelligence to sort out your photos. We’ll see.
> ...


And most importantly:


> Docker: Let’s me install apps which don’t have a native client for Synology. Like Jellyfin (open source media server) and Bitwarden (self hosted password manager).







I plan to write about using Docket soon, but for now we will leave it at that.

*Conclusion:*
While a desktop PC or a spare laptop can do most of the things which a NAS can do, a dedicated NAS makes so much sense and is so much better for anyone to set up a home server with limited knowledge. Synology seems to have made the entire process smooth and user friendly. A dedicated NAS after setting up correctly with appropriate NAS specific drives would serve so many purposes and most importantly give what everyone deserves, a peace of mind and a good night’s sleep.





_Disclaimer: Even though I received the NAS from Synology for review, the views are entirely mine and doesn’t impact my thought process._


----------



## Vyom (Jun 19, 2021)

*Known issues and resolutions:*

*Issue 1:*
We need to turn on the NAS if a powercut occurs. It’s better to provide the NAS a backup like UPS.
*Solution: *There’s a setting which when turn on, would turn the device on whenever power is supplied. Although there shouldn’t be a power disruption in the first place, so a UPS or inverter is suggested.
Goto Control Panel -> General -> Check mark, "Restart automatically when power supply issue is fixed".

*i.imgur.com/wqQZ8J8.png

*Issue 2:*
IP address keeps changing whenever device is restarted.
*Solution: *Just set up a fixed IP Address in the settings.
Goto Control Panel -> Network.
For each LAN 1/2, change the IP address(es) under "Use manual configuration". Make sure that this IP address(es) is not assigned to some other device by your router.

*i.imgur.com/MkgdpNx.png

*Issue 3:*
Upload speeds to the NAS were very slow like in the range of 1 MBps.
*Solution: *There could be many factors. In my case it was the LAN splitter that I was using to toggle between my PC and laptop. Once I removed the splitter, my speeds started to reach 11 MBps. Now even this speed is less. But the reason could be the LAN cable which I was using or the router which is not a gigabit router. I plan to upgrade to fiber internet soon, and we will see if it helps the speeds!

*Wallpaper bug:*
So this is a pretty weird bug that I think Synology should fix.

To change the wallpaper you need to open Personal settings:
*i.imgur.com/3ZJfUwW.png

Now under the Desktop tab of Personal window, you can choose "Select Image" and it will pop up a window to let you select the new wallpaper:
*i.imgur.com/uvb9USU.png

If you select any image and click "Select", this will change the wallpaper. But when you click "Ok" to apply the change, following error will be thrown:

*i.imgur.com/148bFGI.png

This error have come up since the "Personal" window doesn't consider the wallpaper change a "change". You got to change some setting before you can apply.
If you goto 'Account" tab just now, you will also see that following fields are highlighted red:

*i.imgur.com/LMkgIY3.png

This probably means that it's forcing me to change password too, which is weird considering I only want the wallpaper to get change.
Now if I cancel, the wallpaper is reverted back to old one, since the change isn't saved.


----------



## Vyom (Jun 19, 2021)

*Setting up firewall:*
Securing your NAS is of utmost importance, hence firewall should be on and only required ports should be open.

From Control Panel -> Security -> Firewall
Click "Enable Firewall"
Then click, "Edit Rules"
Here add the ports which you want to enable.

Rules are triggered from top to bottom. So if no rule matches the last rule should be deny all.
*i.imgur.com/01af9tr.png
In my case, I have opened 8096 for Jellyfin server and port 445 to let SMB share work.

*Auto Block and Account protection:*
Setting up DDos protection is important. It also protects from someone brute forcing passwords to get in your NAS.
Goto Control Panel -> Security -> Check mark "Enable auto block" and "Enable Account protection".

*i.imgur.com/4Jz94gS.png

*2 FA Authentication:*
2 FA allows you to only login to the NAS, if you have the 2 FA code generated from an app. This secures your NAS from any intrusion trying to hack into your device.
To enable this, goto Control Panel -> User -> Check mark, "Enforce 2-step verification for the following users".
Then a wizard will open up to setup 2FA:
Follow the same and finally click "Apply" in Control panel.
Now every time you login from a new device, you will need to enter the code from your authentication app on your phone, providing extra layer of protection.

*i.imgur.com/Pl2UZaj.png

*SSH Service:*

Once SSH Service is enabled from Control Panel, you can access the NAS via a Terminal! You could use the terminal to do batch file operations like moving files using wildcards. If you have firewall enabled before enabling SSH Service, once you enable SSH Service, firewall notification would remind you to enable the port required for SSH to function. I found this pretty neat feature!

*i.imgur.com/EOlsOu0.png

I also had fun performing some commands to see the output. Following are some of the commands I used:

htop command output in terminal:
*i.imgur.com/qBf61a8.png

```
$uname -a
Linux VyomNAS 4.4.59+ #25556 SMP PREEMPT Thu Mar 18 13:00:34 CST 2021 x86_64 GNU/Linux synology_geminilake_220+
```


```
$df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0        2.3G  979M  1.3G  45% /
none            874M     0  874M   0% /dev
/tmp            877M  2.0M  875M   1% /tmp
/run            877M  7.9M  870M   1% /run
/dev/shm        877M   12K  877M   1% /dev/shm
none            4.0K     0  4.0K   0% /sys/fs/cgroup
cgmfs           100K     0  100K   0% /run/cgmanager/fs
/dev/md2        890G   78G  813G   9% /volume1
```


```
$cat /proc/cpuinfo

processor    : 0
vendor_id    : GenuineIntel
cpu family    : 6
model        : 122
model name    : Intel(R) Celeron(R) J4025 CPU @ 2.00GHz
stepping    : 8
microcode    : 0x16
cpu MHz        : 2001.000
cache size    : 4096 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 2
apicid        : 0
initial apicid    : 0
fpu        : yes
fpu_exception    : yes
cpuid level    : 24
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch intel_pt ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdseed smap clflushopt sha_ni xsaveopt xsavec xgetbv1 dtherm ida arat pln pts md_clear arch_capabilities
bugs        : spectre_v1 spectre_v2 spec_store_bypass
bogomips    : 3993.40
clflush size    : 64
cache_alignment    : 64
address sizes    : 39 bits physical, 48 bits virtual
power management:

processor    : 1
vendor_id    : GenuineIntel
cpu family    : 6
model        : 122
model name    : Intel(R) Celeron(R) J4025 CPU @ 2.00GHz
stepping    : 8
microcode    : 0x16
cpu MHz        : 2001.000
cache size    : 4096 KB
physical id    : 0
siblings    : 2
core id        : 1
cpu cores    : 2
apicid        : 2
initial apicid    : 2
fpu        : yes
fpu_exception    : yes
cpuid level    : 24
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch intel_pt ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdseed smap clflushopt sha_ni xsaveopt xsavec xgetbv1 dtherm ida arat pln pts md_clear arch_capabilities
bugs        : spectre_v1 spectre_v2 spec_store_bypass
bogomips    : 3993.40
clflush size    : 64
cache_alignment    : 64
address sizes    : 39 bits physical, 48 bits virtual
power management:
```

I ran following commands too and all of them works:


```
$ sudo dmidecode -t memory
$ sudo dmidecode -q
$ sudo fdisk -l
$ ip addr
$ ifconfig -a
$ netstat -a
```


----------



## Cool Buddy (Jun 21, 2021)

Good thought on highlighting the USB copy features. It's a life saver. I'm anticipating migrating from my existing Raspberry Pi based NAS solution to this. It should be no hassle copying my close to 2 terabytes of data, thanks to the USB ports. I can directly connect my existing external hard drive to it and just copy the entire thing in one go.
What's the destination of the files though, in case you use the copy button? I didn't try that, only tried copying using File Station.


----------



## Vyom (Jun 22, 2021)

The destination can be set in the settings of USB Copy app. In the below screenshot you can see that every time I insert USB drive and initiate copy, it makes a new folder in the destination I defined:
*i.imgur.com/0eHYDFp.png


----------



## Vyom (Jul 12, 2021)

I added following information to my review, in 2nd and 3rd reserved posts:

*Known issues and resolutions,
Wallpaper bug,
Setting up firewall,
Auto Block and Account protection,
2 FA Authentication,
SSH Service.*


----------



## senpaidev (Aug 23, 2021)

Does it allow docker to be run on it? I would like to run a pihole or something for ad blocking. Currently my raspi 4 seems to be handling these duties and overall this looks like it could handle it?


----------



## Nerevarine (Aug 23, 2021)

senpaidev said:


> Does it allow docker to be run on it? I would like to run a pihole or something for ad blocking. Currently my raspi 4 seems to be handling these duties and overall this looks like it could handle it?


yes it does, no cli needed. all possible from dashboard.


----------



## Vyom (Aug 24, 2021)

senpaidev said:


> Does it allow docker to be run on it? I would like to run a pihole or something for ad blocking. Currently my raspi 4 seems to be handling these duties and overall this looks like it could handle it?


Well read my review or any for that matter. 
We have mentioned how we can use docker to install apps and ways to configure few of them.


----------

