Jump to content

[SOLVED] need advice on howto migrate symlinks from NAS to unRAID


Recommended Posts

Hi folks,

 

I have now build my first unRAID box (on a plus lic.) and ran into

an issue when trying to migrate my data.

I have an openfiler NAS running which I want to retire as soon as

the data has been migrated onto unRAID.

Now I learned the hard way, that unRAID does not support symlinks  :o

 

Is there a recommended way to either

 

- overcome the problem (i.e. while migrating - by automagically

doubling the files instead of creating symlinks)

- or to enable a symlink feature

 

TIA,

fred

 

Link to comment

unraid supports symlinks on the disk shares.

 

If the links are created on the disk shares, they will be readable and accessible on the user shares.

creating links on the user shares is not supported at this time.

 

root@Atlas /mnt/disk1/boot #touch source

root@Atlas /mnt/disk1/boot #ln -s source dest

root@Atlas /mnt/disk1/boot #ls -l source dest

lrwxrwxrwx 1 root root 6 May 24 05:03 dest -> source

-rw-r--r-- 1 root root 0 May 24 05:03 source

root@Atlas /mnt/disk1/boot #cd /mnt/user/boot

root@Atlas /mnt/user/boot #ls -l source dest

lrwxrwxrwx 1 root root 6 May 24 05:03 dest -> source

-rw-r--r-- 1 root root 0 May 24 05:03 source

root@Atlas /mnt/user/boot #echo testing >> dest

root@Atlas /mnt/user/boot #ls -l source dest

lrwxrwxrwx 1 root root 6 May 24 05:03 dest -> source

-rw-r--r-- 1 root root 8 May 24 05:04 source

root@Atlas /mnt/user/boot #more source dest

::::::::::::::

source

::::::::::::::

testing

::::::::::::::

dest

 

 

root@Atlas /mnt/user/boot #rm dest

root@Atlas /mnt/user/boot #ln -s source dest

ln: creating symbolic link `dest': No such file or directory

 

Link to comment

Interesting situation.

I could not get user shares to work correctly. Reset my security model to user.

Restarted the array.

 

Now symlinks work on the user shares.

 

root@unraid /mnt/user/test #echo testing > source

root@unraid /mnt/user/test #ln -s source dest

root@unraid /mnt/user/test #ls -l

total 4

lrwxrwxrwx 1 root root 6 May 24 05:22 dest -> source

-rw-r--r-- 1 root root 8 May 24 05:22 source

 

root@unraid /mnt/disk2/test #find /mnt -name source -ls

   11    4 -rw-r--r--   1 root     root            8 May 24 05:22 /mnt/user/test/source

    5    4 -rw-r--r--   1 root     root            8 May 24 05:22 /mnt/disk2/test/source

 

root@unraid /mnt/disk2/test #cd /mnt/disk2/test

root@unraid /mnt/disk2/test #ls -l

total 4

lrwxrwxrwx 1 root root 6 May 24 05:22 dest -> source

-rw-r--r-- 1 root root 8 May 24 05:22 source

root@unraid /mnt/disk2/test #

 

So it looks like it is supported.

Link to comment

Interesting situation.

I could not get user shares to work correctly. Reset my security model to user.

Restarted the array.

 

Now symlinks work on the user shares.

 

root@unraid /mnt/user/test #echo testing > source

root@unraid /mnt/user/test #ln -s source dest

root@unraid /mnt/user/test #ls -l

total 4

lrwxrwxrwx 1 root root 6 May 24 05:22 dest -> source

-rw-r--r-- 1 root root 8 May 24 05:22 source

 

root@unraid /mnt/disk2/test #find /mnt -name source -ls

   11    4 -rw-r--r--   1 root     root            8 May 24 05:22 /mnt/user/test/source

    5    4 -rw-r--r--   1 root     root            8 May 24 05:22 /mnt/disk2/test/source

 

root@unraid /mnt/disk2/test #cd /mnt/disk2/test

root@unraid /mnt/disk2/test #ls -l

total 4

lrwxrwxrwx 1 root root 6 May 24 05:22 dest -> source

-rw-r--r-- 1 root root 8 May 24 05:22 source

root@unraid /mnt/disk2/test #

 

So it looks like it is supported.

 

Thanks for the fast reply WeeboTech!

Sorry for not being specific enough in the first place.

When I mount the share via smb/cifs from a Gnome client and

then try to copy over some directories from my openfiler, via that client

I get the response "symlinks not supported by backend" for each symbolic link

in the source-Dirwhen copying reaches the file.

 

...I can replay what you did, locally on my unRaid box though.

So I would be happy to declare that symlinks are supported, if only I knew

how to achieve the above from a client (linux-based) PC.

Link to comment

Is there any specific reason why you mount shares from a Linux box (unRaid) on another Linux/Gnome box via Samba? Just wondering why don't you use NFS and then rsync or tar?

 

You have a good point there, starcat.

The linux/gnome box in question is a laptop and I am connected via WiFi,

which in turn is controlled by the NetworkManager.

The reason is, upon shutdown, gnome/X11 gets shutdown first

and with it the NetworkManager and with it the WiFi link...letting

nfs mounts hang in the air, which in turn prevents the box

from a proper and fast shutdown.

With nfs I tried to change boot- and stop-orders and automounts

but to no permanent success.

smb/cifs mounts are accessible from the Gnome panel

and they seem to be unmounted prior to shutdown as well.

...at least they are not giving any problems.

 

And symlinks with my openfiler NAS worked without issues (the DIR in question is a

slackware-13.0 mirror, made with a linux mirror script and which obviously

contains links).

I actually never suffered from the mounts being smb/cifs and performance

with nfs was just 10percent higher, so I was happy with that solution and was trying to

keep it that way when moving over to unRAID.

Link to comment

See this post.   you might need to enable the following of symbolic links in the samba configuration on the server you are copying from:

https://bugs.launchpad.net/ubuntu/+source/samba/+bug/134716

 

Samba does not follow symbolic links by default.  It does support them if enabled.

 

Thanks for the hint Joe L.

My Source-Server seems to be fine (it is an up2date openfiler NAS).

The DIR in question has been created with a linux client,

mounting the OF-NAS via cifs, by running a slackware mirror script

with the mountpoint being the target of that script.

Link to comment

When I mount the share via smb/cifs from a Gnome client

 

I don't know that symlinks are supported via smb/cifs.

I'm sure symlinks are supported via NFS and I'm sure that it would work with disk shares.

 

OK, than my strategy would be to migrate locally - possibly using mc - on unRAID

to a disk share and fix/rollut nfs mounts for my linux-clients instead of smb/cifs.

Link to comment

You can use rsync over ssh or rsync to an rsync server.

it would mean configuring an rsyncd.conf file on the machine to be the server and using syntax as in

 

on unraid server if rsync --server is running on openfiler

rsync -avx rsync://remotersynchost/rsyncshare/path /mnt/disk?/sharename

 

or the otherway around if logged into openfile and rsync --server running on unraid.

rsync -avx localpath/ rsync://remotersynchost/rsyncshare/path

 

if you have ssh on unRAID or vica versa, you can do it that way too.

rsync preserves the timestamps and symlinks.

 

There's also ways of tar'ing over ssh and piping the output back to tar for extracting.

I prefer rsync as it will only copy missing or newer files.

 

 

 

Link to comment

You can use rsync over ssh or rsync to an rsync server.

it would mean configuring an rsyncd.conf file on the machine to be the server and using syntax as in

 

on unraid server if rsync --server is running on openfiler

rsync -avx rsync://remotersynchost/rsyncshare/path /mnt/disk?/sharename

 

or the otherway around if logged into openfile and rsync --server running on unraid.

rsync -avx localpath/ rsync://remotersynchost/rsyncshare/path

 

if you have ssh on unRAID or vica versa, you can do it that way too.

rsync preserves the timestamps and symlinks.

 

There's also ways of tar'ing over ssh and piping the output back to tar for extracting.

I prefer rsync as it will only copy missing or newer files.

 

 

Thanks WeeboTech,

 

this worked flawlessly!

Sorry for the late response...had to change & setup my full slackware build, first

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...