Configuration NAS Mnemosyne: Difference between revisions

From miki
Jump to navigation Jump to search
(→‎To Do: Removed section)
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
__TOC__
Here is the page dedicated to our home NAS (Synology NAS DS409+), called '''Mnemosyne'''.


== Reference Information ==
* Disk Station Manager: '''http://mnemosyne:5000'''
* Admin account: '''admin'''
* Device: '''Synology NAS DS409+'''
* Name: '''Mnemosyne'''
* Disk Station Manager: '''http://mnemosyne:5000''', log in with admin account '''admin'''
* SSH: '''root@mnemosyne''' (same password as admin account)
* Configuration files: '''<tt>/etc</tt>''', '''<tt>/usr/syno/etc/smb.conf</tt>'''


* uname
== First install ==
<source lang=bash>
uname -a
# Linux Mnemosyne 2.6.32.12 #3252 Thu Sep 4 13:54:10 CST 2014 ppc GNU/Linux
</source>

* Samba Version: '''3.0.20b'''
<source lang="bash">
smbd -V
# Version 3.0.20b
</source>
* Samba Configuration file: '''<tt>/usr/syno/etc/smb.conf</tt>'''
* Mount requires to add '''<tt>iocharset=utf8</tt>''' on the client side

* To access from mobile phone (SMB), use <code>guest</code> account (no password, read-only access, except in <code>public</code> folder).

* NFS version: supports version 2, 3, 4.
<source lang="bash">
nfsstat -o all -234
</source>

== Configuration ==
=== First install ===
* Mounted 4 harddrives Western Digital Caviar Green 2TB WD20EADS
* Mounted 4 harddrives Western Digital Caviar Green 2TB WD20EADS
* Plugged power & Ethernet (on home intranet), then power on.
* Plugged power & Ethernet (on home intranet), then power on.
Line 20: Line 46:
* Defined file sharing (windows,NFS)
* Defined file sharing (windows,NFS)


=== Web interface ===
== Configuration ==
* System
** Network
*** Server Name: '''[http://en.wikipedia.org/wiki/Mnemosyne Mnemosyne]'''
*** Network config: '''automatic (DHCP)'''
** Language
*** Display: '''English'''
** Time
*** Time zone: '''(UTC+01:00) Brussels, Copenhagen, Madrid, Paris'''
** Notification
*** SMTP server: '''smtp.scarlet.be'''
*** SMTP port: '''25'''
*** Primary mail: '''michael.peeters@scarlet.be'''
*** Secondary mail: '''michael.peeters@noekeon.be'''
** Power
*** Scheduled Power On: '''Weekdays''', '''17:30'''
*** Scheduled Power Off: '''Daily''', '''02:00'''
** Firmware Update:
*** Version: '''DSM 2.1-0844''' on '''2009/04/21''' (file '''synology_ppc853x_409+_0844.pat''')
* Privileges
** Users:
*** '''admin''' (admin user)
*** '''guest''' (enabled)
*** '''backup''' (User to create backup)
*** '''movies''' (store movies)
*** '''musics''' (store musics)
*** '''photos''' (Store photos)
*** '''videos''' (Store videos)
** Shared folder
*** '''backup''' (For PC backups) (group ''Users'': RO - user ''backup'': RW)
*** '''movies''' (DVD Movies, SVCD...) (group ''Users'': RO - user ''movies'': RW)
*** '''musics''' (Audio CD, mp3, ogg...) (group ''Users'': RO - user ''musics'': RW)
*** '''photos''' (Photos album) (group ''Users'': RO - user ''photos'': RW:)
*** '''public''' (Public folder) (group ''Users'': RW)
*** '''videos''' (Family videos...) (group ''Users'': RO - user ''videos'': RW:)
* Storage
** Volume
*** Volume 1: '''4''' disk volume, '''RAID 5''', '''Complete''' consistency check
* File Sharing
** Win/Mac OS
*** Enable Windows file service: '''enabled'''
**** '''Enable Windows file service'''
**** Workgroup: '''HELL'''
**** Optimize CIFS database operations: '''disabled''' (see [http://forum.synology.com/enu/viewtopic.php?f=111&t=11934])
**** Enable Local Master Broser: '''disabled'''
**** Enable CIFS Recycle Bin: '''disabled'''
*** Enable AppleTalk: '''disabled'''
** NFS
*** NFS Service: '''disabled'''
** Network Services
*** Terminal: enable '''SSH''' service


{| class=wikitable
|-
| System &mdash; Network
|
* Server Name: '''[http://en.wikipedia.org/wiki/Mnemosyne Mnemosyne]'''
* Network config: '''manual''' (because f*cking Belgacom BBox consistently loses my DHCP settings), IP:'''172.19.100.99''', DNS:'''172.19.3.1''' (2x)
|-
| System &mdash; Language
|
* Display: '''English'''
|-
| System &mdash; Time
|
* Time zone: '''(UTC+01:00) Brussels, Copenhagen, Madrid, Paris'''
|-
| System &mdash; Notification
|
* SMTP server: '''smtp.scarlet.be'''
* SMTP port: '''25'''
* Primary mail: '''michael.peeters@scarlet.be'''
* Secondary mail: '''michael.peeters@noekeon.be'''
|-
| System &mdash; Power
|
* Scheduled Power On: '''Weekdays''', '''17:30'''
* Scheduled Power Off: '''Daily''', '''02:00'''
|-
| System &mdash; Firmware Update:
|
* Version: '''DSM 2.1-0844''' on '''2009/04/21''' (file '''synology_ppc853x_409+_0844.pat''')
|-
| Privileges &mdash; Users:
|
* '''admin''' (admin user)
* '''guest''' (enabled)
* '''archives''' (Store archives)
* '''backup''' (User to create backup)
* '''movies''' (store movies)
* '''musics''' (store musics)
* '''photos''' (Store photos)
* '''videos''' (Store videos)
|-
| Privileges &mdash; Shared folders:
|
* '''archives''' (Archives SW, documents...) (group ''Users'': RO - user ''archives'': RW) (NFS RO: gryphon IP / Minimoy IP)
* '''backup''' (For PC backups) (group ''Users'': RO - user ''backup'': RW) (NFS RO: gryphon IP / Minimoy IP)
* '''movies''' (DVD Movies, SVCD...) (group ''Users'': RO - user ''movies'': RW) (NFS RO: gryphon IP / Minimoy IP)
* '''musics''' (Audio CD, mp3, ogg...) (group ''Users'': RO - user ''musics'': RW) (NFS RO: gryphon IP / Minimoy IP)
* '''photos''' (Photos album) (group ''Users'': RO - user ''photos'': RW:) (NFS RO: gryphon IP / Minimoy IP)
* '''public''' (Public folder) (group ''Users'': RW) (NFS RW: gryphon IP / RO: Minimoy IP)
* '''videos''' (Family videos...) (group ''Users'': RO - user ''videos'': RW:) (NFS RO: gryphon IP / Minimoy IP)
|-
| Storage &mdash; Volume
|
* Volume 1: '''4''' disk volume, '''RAID 5''', '''Complete''' consistency check
|-
| File Sharing &mdash; Win/Mac OS
|
* Enable Windows file service: '''enabled'''
** '''Enable Windows file service'''
** Workgroup: '''HELL'''
** Optimize CIFS database operations: '''disabled''' (see [http://forum.synology.com/enu/viewtopic.php?f=111&t=11934])
** Enable Local Master Broser: '''disabled'''
** Enable CIFS Recycle Bin: '''disabled'''
* Enable AppleTalk: '''disabled'''
|-
| File Sharing &mdash; NFS
|
* NFS Service: '''enabled'''
|-
| File Sharing &mdash; Network Services
|
* Terminal: enable '''SSH''' service
|}


=== Samba server ===
By default, directory created on shares have permissions 777. To change this, we disable CIFS extensions [http://mikebeach.org/2011/05/20/synology-diskstation-and-samba-mount-permissions/]:
<pre>
unix extensions=no
</pre>
To restart samba on the synology:
<source lang=bash>
/usr/syno/etc/rc.d/S80samba.sh restart
</source>


'''Old solution''' &mdash; Another solution is to enforce permissions on the server side. For this, edit {{file|/usr/syno/etc/smb.conf}}, and add to <code>[global]</code> section [http://simplescientist.net/2013/10/04/handing-unix-permissions-with-a-synology-file-server/]:
<pre>
create mask=644
security mask=644
directory mask=755
directory security mask=755
force create mode=644
force security mode=644
force directory mode=755
force directory security mode=755
</pre>
Note this might interfere with synology defaults [http://superuser.com/questions/659547/setting-synology-dsm-default-cifs-permissions]. We don't apply this configuration because we use unison to backup the shares on a remote server, and the easiest solution is to sync permissions and uses 777/766 permission settings.

=== Upgrade firmware ===
TBC

=== Install optware ===
TBC

=== Extra packages ===
To install via ipkg:
<source lang=bash>
ipkg install screen
ipkg install tmux
</source>

== How-To ==
=== Enable SSH ===
* Enable '''SSH''' service
* To have root access, log in as user '''root''', and use same password as '''admin''' account.

=== Mount NAS samba share on client ===
Client must explicitly specify charset '''utf8''' in the mount line:
<source lang="bash">
mount -t cifs //mnemosyne/photos /smb/mnemosyne/photos -o noperm,iocharset=utf8
</source>
If you get the error <code>mount error(13): Permission denied</code>, you need to add the option '''sec''':
<source lang="bash">
mount -t cifs //mnemosyne/photos /smb/mnemosyne/photos -o noperm,iocharset=utf8,sec=ntlm
</source>

=== Enable NFS ===
(See [http://www.linuxtopia.org/online_books/network_administration_guides/NFS_tutorial/index.html HOW-TO page here])
<ul>
<li> Enabled NFS service</li>
<li> Edited NFS privilege for share '''volume1/backup''', allow '''rw''', for client '''minimoy'''</li>
<li> Then from NFS client, tried</li>
<source lang="bash">
sudo mkdir -p /net/mnemosyne/backup
sudo mount mnemosyne:/volume1/backup /net/mnemosyne/backup
# mount.nfs: access denied by server while mounting mnemosyne:/volume1/backup
</source>
<li>Looking into NAS file <tt>/var/log/messages</tt> (need to ssh as root on the NAS), there is the line:</li>
<source lang="text">
... refused mount request from HOST00245402988d.HELL for /volume1/backup (/): no export entry
</source>
<li>So it seems that the connection is refused because the DNS name of the NFS client does not match the export line in file <tt>/etc/exports</tt></li>
<source lang="bash">
/volume1/backup minimoy.HELL(rw,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)
</source>
</ul>

Found a working recipe on [http://forum.synology.com/wiki/index.php/How_to_enable_NFS_on_the_Synology_Server this page]:
<ul>
<li> Content of file <tt>/etc/exports</tt></li>
<source lang="bash">
/volume1/backup 172.19.100.102(rw,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)
</source>
<li> Touched file <tt>/var/lib/nfs/rmtab</tt> (because non-existent) :</li>
<source lang="bash">
touch /var/lib/nfs/rmtab
cd /
/usr/sbin/exportfs -a # Update list of exported filesystem
</source>

<li>On NFS client, mount the NFS share with:</li>
<source lang="bash">
sudo mount mnemosyne:/volume1/backup /net/mnemosyne/backup
</source>
</ul>


Open issues:
* How to make it to work using '''hostname''' instead of IP addess?<br/>Additional problem is that at each boot DNS Relay table on the ADSL router is reset to 'HOSTxxxxxxxxxxx' for wired interface on the NFS client, hence making it not recognizable for the NFS server.
* How to deal with Access Control? I want '''root''' to be mapped to '''nobody''', and write access only allowed for one user (which requires password to login)?<br/>This can be done with the following export line:
<source lang="bash">
/volume1/backup minimoy.HELL(rw,no_wdelay,root_squash,insecure_locks)
</source>

=== Compile Unison ===
See [[Unison]].

== Command-line reference ==
TBC
== Statistics ==
== Statistics ==
Some statistics related to our NAS
Some statistics on NAS file transfer


{| class="wikitable"
{| class="wikitable"
Line 93: Line 247:
|DVD to NAS||Unicorn||3,65GB||11m23s||avg 5,612kB/s, peak 7,848kB/s
|DVD to NAS||Unicorn||3,65GB||11m23s||avg 5,612kB/s, peak 7,848kB/s
|}
|}

== How-To ==
=== SSH ===
* Enable '''SSH''' service
* To have root access, log in as user '''root''', and use same password as '''admin''' account.

=== NFS ===
(See [http://www.linuxtopia.org/online_books/network_administration_guides/NFS_tutorial/index.html HOW-TO page here])
* Enabled NFS service
* Edited NFS privilege for share '''volume1/backup''', allow '''rw''', for client '''minimoy'''

Then from NFS client, tried
<div style="padding-left:2em;"><source lang="bash">
$ sudo mkdir -p /net/mnemosyne/backup
$ sudo mount mnemosyne:/volume1/backup /net/mnemosyne/backup
mount.nfs: access denied by server while mounting mnemosyne:/volume1/backup
</source></div>
Looking into NAS file <tt>/var/log/messages</tt> (need to ssh as root on the NAS), there is the line:
... refused mount request from HOST00245402988d.HELL for /volume1/backup (/): no export entry
So it seems that the connection is refused because the DNS name of the NFS client does not match the export line in file <tt>/etc/exports</tt>
/volume1/backup minimoy.HELL(rw,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)
Found a working recipe on [http://forum.synology.com/wiki/index.php/How_to_enable_NFS_on_the_Synology_Server this page]:
* Content of file <tt>/etc/exports</tt>
/volume1/backup 172.19.100.102(rw,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)
* Touched file <tt>/var/lib/nfs/rmtab</tt> (because non-existent), :
<div style="padding-left:2em;"><source lang="bash">
$ touch /var/lib/nfs/rmtab
$ cd /
$ /usr/sbin/exportfs -a # Update list of exported filesystem
</source></div>
* On NFS client, mount the NFS share with:
<div style="padding-left:2em;"><source lang="bash">
$ sudo mount mnemosyne:/volume1/backup /net/mnemosyne/backup
</source></div>

Open issues:
* How to make it work using '''hostname''' instead of IP addess? Additional problem is that at each boot DNS Relay table on the ADSL router is reset to 'HOSTxxxxxxxxxxx' for wired interface on the NFS client, hence making it not recognizable for the NFS server.
* How to deal with Access Control? I want '''root''' to be mapped to '''nobody''', and write access only allowed for one user (which requires password to login)?
: &rarr; This can be done with the following export line:
<div style="padding-left:2em;">
/volume1/backup minimoy.HELL(rw,no_wdelay,root_squash,insecure_locks)
</div>

Latest revision as of 20:47, 9 September 2018

Reference Information

  • Device: Synology NAS DS409+
  • Name: Mnemosyne
  • Disk Station Manager: http://mnemosyne:5000, log in with admin account admin
  • SSH: root@mnemosyne (same password as admin account)
  • Configuration files: /etc, /usr/syno/etc/smb.conf
  • uname
uname -a
# Linux Mnemosyne 2.6.32.12 #3252 Thu Sep 4 13:54:10 CST 2014 ppc GNU/Linux
  • Samba Version: 3.0.20b
smbd -V
# Version 3.0.20b
  • Samba Configuration file: /usr/syno/etc/smb.conf
  • Mount requires to add iocharset=utf8 on the client side
  • To access from mobile phone (SMB), use guest account (no password, read-only access, except in public folder).
  • NFS version: supports version 2, 3, 4.
nfsstat -o all -234

Configuration

First install

  • Mounted 4 harddrives Western Digital Caviar Green 2TB WD20EADS
  • Plugged power & Ethernet (on home intranet), then power on.
  • (under Linux) Launched DSAssistant.i386... Server not found
  • (reboot in Windows) Launched Synology Assistant... found!
  • Step-by-step installation (see data below)
  • Disk formatting (system partition / data partition)
  • Logged into Disk Station Manager (see data below)
    • !!! login does not work with Internet Explorer (password not accepted) !!!
  • Set up language
  • Set up e-mail notification
  • Created volume
  • Created users
  • Created shared folders
  • Defined file sharing (windows,NFS)

Web interface

System — Network
  • Server Name: Mnemosyne
  • Network config: manual (because f*cking Belgacom BBox consistently loses my DHCP settings), IP:172.19.100.99, DNS:172.19.3.1 (2x)
System — Language
  • Display: English
System — Time
  • Time zone: (UTC+01:00) Brussels, Copenhagen, Madrid, Paris
System — Notification
  • SMTP server: smtp.scarlet.be
  • SMTP port: 25
  • Primary mail: michael.peeters@scarlet.be
  • Secondary mail: michael.peeters@noekeon.be
System — Power
  • Scheduled Power On: Weekdays, 17:30
  • Scheduled Power Off: Daily, 02:00
System — Firmware Update:
  • Version: DSM 2.1-0844 on 2009/04/21 (file synology_ppc853x_409+_0844.pat)
Privileges — Users:
  • admin (admin user)
  • guest (enabled)
  • archives (Store archives)
  • backup (User to create backup)
  • movies (store movies)
  • musics (store musics)
  • photos (Store photos)
  • videos (Store videos)
Privileges — Shared folders:
  • archives (Archives SW, documents...) (group Users: RO - user archives: RW) (NFS RO: gryphon IP / Minimoy IP)
  • backup (For PC backups) (group Users: RO - user backup: RW) (NFS RO: gryphon IP / Minimoy IP)
  • movies (DVD Movies, SVCD...) (group Users: RO - user movies: RW) (NFS RO: gryphon IP / Minimoy IP)
  • musics (Audio CD, mp3, ogg...) (group Users: RO - user musics: RW) (NFS RO: gryphon IP / Minimoy IP)
  • photos (Photos album) (group Users: RO - user photos: RW:) (NFS RO: gryphon IP / Minimoy IP)
  • public (Public folder) (group Users: RW) (NFS RW: gryphon IP / RO: Minimoy IP)
  • videos (Family videos...) (group Users: RO - user videos: RW:) (NFS RO: gryphon IP / Minimoy IP)
Storage — Volume
  • Volume 1: 4 disk volume, RAID 5, Complete consistency check
File Sharing — Win/Mac OS
  • Enable Windows file service: enabled
    • Enable Windows file service
    • Workgroup: HELL
    • Optimize CIFS database operations: disabled (see [1])
    • Enable Local Master Broser: disabled
    • Enable CIFS Recycle Bin: disabled
  • Enable AppleTalk: disabled
File Sharing — NFS
  • NFS Service: enabled
File Sharing — Network Services
  • Terminal: enable SSH service

Samba server

By default, directory created on shares have permissions 777. To change this, we disable CIFS extensions [2]:

unix extensions=no

To restart samba on the synology:

/usr/syno/etc/rc.d/S80samba.sh restart

Old solution — Another solution is to enforce permissions on the server side. For this, edit /usr/syno/etc/smb.conf, and add to [global] section [3]:

	create mask=644
	security mask=644
	directory mask=755
	directory security mask=755
	force create mode=644
	force security mode=644
	force directory mode=755
	force directory security mode=755

Note this might interfere with synology defaults [4]. We don't apply this configuration because we use unison to backup the shares on a remote server, and the easiest solution is to sync permissions and uses 777/766 permission settings.

Upgrade firmware

TBC

Install optware

TBC

Extra packages

To install via ipkg:

ipkg install screen
ipkg install tmux

How-To

Enable SSH

  • Enable SSH service
  • To have root access, log in as user root, and use same password as admin account.

Mount NAS samba share on client

Client must explicitly specify charset utf8 in the mount line:

mount -t cifs //mnemosyne/photos /smb/mnemosyne/photos -o noperm,iocharset=utf8

If you get the error mount error(13): Permission denied, you need to add the option sec:

mount -t cifs //mnemosyne/photos /smb/mnemosyne/photos -o noperm,iocharset=utf8,sec=ntlm

Enable NFS

(See HOW-TO page here)

  • Enabled NFS service
  • Edited NFS privilege for share volume1/backup, allow rw, for client minimoy
  • Then from NFS client, tried
  • sudo mkdir -p /net/mnemosyne/backup
    sudo mount mnemosyne:/volume1/backup /net/mnemosyne/backup
    # mount.nfs: access denied by server while mounting mnemosyne:/volume1/backup
    
  • Looking into NAS file /var/log/messages (need to ssh as root on the NAS), there is the line:
  • ... refused mount request from HOST00245402988d.HELL for /volume1/backup (/): no export entry
    
  • So it seems that the connection is refused because the DNS name of the NFS client does not match the export line in file /etc/exports
  • /volume1/backup minimoy.HELL(rw,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)
    


Found a working recipe on this page:

  • Content of file /etc/exports
  • /volume1/backup 172.19.100.102(rw,no_wdelay,no_root_squash,insecure_locks,anonuid=0,anongid=0)
    
  • Touched file /var/lib/nfs/rmtab (because non-existent) :
  • touch /var/lib/nfs/rmtab
    cd /
    /usr/sbin/exportfs -a            # Update list of exported filesystem
    
  • On NFS client, mount the NFS share with:
  • sudo mount mnemosyne:/volume1/backup /net/mnemosyne/backup
    


Open issues:

  • How to make it to work using hostname instead of IP addess?
    Additional problem is that at each boot DNS Relay table on the ADSL router is reset to 'HOSTxxxxxxxxxxx' for wired interface on the NFS client, hence making it not recognizable for the NFS server.
  • How to deal with Access Control? I want root to be mapped to nobody, and write access only allowed for one user (which requires password to login)?
    This can be done with the following export line:
/volume1/backup minimoy.HELL(rw,no_wdelay,root_squash,insecure_locks)

Compile Unison

See Unison.

Command-line reference

TBC

Statistics

Some statistics on NAS file transfer

Task Source Size Time Rate
DVD to NAS Unicorn 4,23GB 15m48s avg 4,687kB/s, peak 7,290kB/s
DVD to NAS Unicorn 4,32GB 16m03s avg 4,708kB/s, peak 7,701kB/s
DVD to NAS Unicorn 3,93GB 14m34s avg 4,717kB/s, peak 7,553kB/s
DVD to HDD Unicorn 3,65GB 4m49s avg 13,263kB/s, peak 19,393kB/s
HDD to NAS Unicorn 3,65GB ~7m00s avg 8,900kB/s
DVD to NAS Unicorn 3,65GB 11m23s avg 5,612kB/s, peak 7,848kB/s