If you’re like me and use a Synology NAS as an NFS or iSCSI datastore for your VMware environment, you want to optimize it as much as possible to reduce any hardware resource utilization.
Specifically we want to disable any services that we aren’t using which may use CPU or memory resources. On my DS1813+ I was having issues with a bug that was causing memory overflows (the post is here), and while dealing with that, I decided to take it a step further and optimize my unit.
Optimize the NAS
In my case, I don’t use any file services, and only use my Synology NAS (Synology DS1813+) as an NFS and iSCSI datastore. Specifically I use multipath for NFSv4.1 and iSCSI.
If you don’t use SMB (Samba / Windows File Shares), you can make some optimizations which will free up substantial system resources.
Disable and/or uninstall unneeded packages
First step, open up the “Package Center” in the web GUI and either disable, or uninstall all the packages that you don’t need, require, or use.
To disable a package, select the package in Package Center, then click on the arrow beside “Open”. A drop down will open up, and “Disable” or “Stop” will appear if you can turn off the service. This may or may not be persistent on a fresh boot.
To uninstall a package, select the packet in Package Center, then click on the arrow beside “Open”. A drop down will open up, and “Uninstall” will appear. Selecting this will uninstall the package.
Disable the indexing service
As mentioned here, the indexing service can consume quite a bit of RAM/memory and CPU on your Synology unit.
To stop this service, SSH in to the unit as admin, then us the command “sudo su” to get a root shell, and finally run this command.
synoservice --disable pkgctl-SynoFinder
The above command will probably not persist on boot, and needs to be ran each fresh boot. You can however uninstall the package with the command below to completely remove it.
synopkg uninstall SynoFinder
Doing this will free up substantial resources.
Disable SMB (Samba), and NMBD
I noticed that both smbd and nmbd (Samba/Windows File Share Services) were consuming quite a bit of CPU and memory as well. I don’t use these, so I can disable them.
To disable them, I ran the following command in an SSH session (remember to “sudo su” from admin to root).
synoservice --disable nmbd
synoservice --disable samba
Keep in mind that while this should be persistent on boot, it wasn’t on my system. Please see the section below on how to make it persistent on booth.
Disable thumbnail generation (thumbd)
When viewing processes on the Synology NAS and sorting by memory, there are numerous “thumbd” processes (sometimes over 10). These processes deal with thumbnail generation for the filestation viewer.
Since I’m not using this, I can disable it. To do this, we either have to rename or delete the following file. I do recommend making a backup of the file.
/var/packages/FileStation/target/etc/conf/thumbd.conf
I’m going to rename it so that the service daemon can’t find it when it initializes, which causes the process not to start on boot.
cd /var/packages/FileStation/target/etc/conf/
mv thumbd.conf thumbd.conf.bak
Doing the above will stop it from running on boot.
Make the optimizations persistent on boot
In this section, I will show you how to make all the settings above persistent on boot. Even though I have removed the SynoFinder package, I still will create a startup script on the Synology NAS to “disable” it just to be safe.
First, SSH in to the unit, and run “sudo su” to get a root shell.
Run the following commands to change directory to the startup script, and open a text editor to create a startup script.
cd /usr/local/etc/rc.d/
vi speedup.sh
While in the vi file editor, press “i” to enter insert mode. Copy and paste the code below:
case "$1" in
start)
echo "Turning off memory garbage"
synoservice --disable nmbd
synoservice --disable samba
synoservice --disable pkgctl-SynoFinder
;;
stop)
echo "Pertend we care and are turning something on"
;;
*)
echo "Usage: $1 {start|stop}"
exit 1
esac
exit 0
Now press escape, then type “:wq” and hit enter to save and close the vi text editor. Run the following command to make the script executable.
chmod 755 speedup.sh
That’s it!
Conclusion
After making the above changes, you should see a substantial performance increase and reduction in system resources!
In the future I plan on digging deeper in to optimization as I still see other services I may be able to trim down, after confirming they aren’t essential to the function of the NAS.
Feel like you can add anything? Leave a comment!