Est-il possible de partager un lien symbolique vers un emplacement réseau en tant que partage réseau sous Windows? PAR EXEMPLE:
D:\folder\Shared\foo
sur \\server
est partagé en tant que \\server\foo
, où D:\folder\Shared\foo
est en fait un lien symbolique de répertoire vers \\other\server\bar
.
Ou est-ce un problème XY ?
Nous avons une machine virtuelle Windows Server 2008 R2 *, fs1
, avec 2 disques virtuels. C:
est bien sûr le lecteur système et D:
est un lecteur de données. Nous partageons plusieurs dossiers sur D:
via SMB sous Windows Gestion du partage et du stockage . Par exemple:
D:\Shares\Shared\Engineering
est partagé en tant que \\fs1\Engineering
C:\Shares\Shared\Admin
est partagé en tant que \\fs1\Admin
Ces partages sont généralement mappés en tant que lecteurs réseau sur les postes de travail des utilisateurs. E:\
peut être mappé sur \\fs1\Engineering
, par exemple.
Je souhaite déplacer ces partages hors de ce disque virtuel et vers notre nouvel emplacement de stockage \\abc\def
, et je veux le faire de manière transparente pour l'utilisateur final (au moins pour l'instant - le chemin d'origine finira par disparaître, mais cela sort du cadre de la question).
* Mise à niveau vers 2016 ou 2019 cette année.
Certains sous-dossiers des dossiers partagés sont d'abord migrés en copiant les données vers l'emplacement cible (\\abc\def
) en utilisant RoboCopy, puis en renommant le chemin d'origine en chemin de sauvegarde et enfin en créant un lien symbolique de répertoire vers la nouvelle cible. Le processus ressemble à peu près à cela (certains indicateurs/options supplémentaires sont omis par souci de concision):
robocopy D:\Shares\Shared\Admin\Finance \\abc\def\Finance /mir
ren D:\Shares\Shared\Admin\Finance D:\Shares\Shared\Admin\Finance_old
mklink /D D:\Shares\Shared\Admin\Finance \\abc\def\Finance
Puis le Finance_old
le dossier obtient les autorisations modifiées et finalement supprimées une fois que nous avons vérifié que tout fonctionne bien.
Notez que le dossier partagé racine,
D:\Shares\Shared\Admin
, est toujours un dossier réel et non un lien symbolique.
Cela fonctionne très bien - cela peut être fait avec moins d'une seconde de temps d'arrêt, et tous les programmes d'utilisateur final continuent de fonctionner.
À part: Autorisations SymLink de Windows
J'ai déjà configuré un GPO pour autoriser
Remote Link to Remote Target
liens symboliques. source1 , source2
Il y a trop de sous-dossiers pour créer des liens symboliques pour chacun, donc je voudrais plutôt créer un seul lien symbolique pour chaque dossier racine partagé.
Je peux créer avec succès un lien symbolique dans le D:\Shares\Shared
répertoire:
mklink /D D:\Shares\Shared\symlink_test \\abc\def\target
Je peux ensuite l'ajouter avec succès à Share and Storage Management:
Et le partage s'affiche lors de la navigation \\fs1
dans l'Explorateur Windows.
Mais lorsque j'essaie d'accéder à l'emplacement partagé \\fs1\symlink_test
, J'obtiens une erreur "Appareil non prêt":
J'ai vérifié toutes les autorisations, l'emplacement doit être lisible.
\\abc\def\symlink_test
directement.D:\Shares\Shared\symlink_test
et il m'emmène correctement à l'emplacement cible.Je ne pense donc pas que ce soit un problème de permission.
fs1
exécute Windows Server 2008 R2\\abc\def
est en fait un espace de noms du système de fichiers distribués\\abc\def\foo
est un dossier dans l'espace de noms DFS avec une cible sur un Synology NAS \\nas1\foo
Je vous encourage à jeter un œil à DFS. Je n'ai pas effectué la configuration moi-même, mais j'ai vu des administrateurs réussir à migrer un partage d'un serveur Windows CIFS avec un autre.
Cela ressemble un peu à ceci: