symlinkをWindowsのネットワーク共有としてネットワークの場所に共有することはできますか?例えば:
D:\folder\Shared\foo
の\\server
は\\server\foo
として共有されます。ここで、D:\folder\Shared\foo
は実際には\\other\server\bar
へのディレクトリシンボリックリンクです。
それとも XY問題 ですか?
2つの仮想ディスクを備えたWindows Server 2008 R2 *仮想マシンfs1
があります。 C:
はもちろんシステムドライブであり、D:
はデータドライブです。 SMB WindowsShare and Storage Managementを使用して、D:
で複数のフォルダを共有します。次に例を示します。
D:\Shares\Shared\Engineering
は\\fs1\Engineering
として共有されますC:\Shares\Shared\Admin
は\\fs1\Admin
として共有されますこれらの共有は通常、ユーザーワークステーション上のネットワークドライブとしてマップされます。たとえば、E:\
は\\fs1\Engineering
にマップされる場合があります。
これらの共有をこの仮想ディスクから新しいストレージロケーション\\abc\def
に移動したいと思います。これをエンドユーザーに対して透過的に実行したいのです(少なくとも現時点では、最終的に元のパスはなくなりますが、それはなくなります)質問の範囲)。
* 2016年または2019年にアップグレードします。
共有フォルダーの特定のサブフォルダーは、最初にRoboCopyを使用してデータをターゲットの場所(\\abc\def
)にコピーし、次に元のパスの名前をバックアップパスに変更することで移行されます、そして最後に新しいターゲットへのディレクトリシンボリックリンクを作成します。プロセスは大体同じように見えます(いくつかの追加のフラグ/オプションは簡潔にするために省略されています):
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
次に、Finance_old
フォルダーの権限が変更され、正常に機能していることが確認されると、最終的に削除されます。
ルート共有フォルダー
D:\Shares\Shared\Admin
は、実際のフォルダーであり、シンボリックリンクではないことに注意してください。
これは非常にうまく機能します。1秒未満のダウンタイムで実行でき、すべてのエンドユーザープログラムは引き続き機能します。
脇:Windows SymLink権限
私はすでにGPO
Remote Link to Remote Target
シンボリックリンクを許可するように設定しています。 source1 、 source2
サブフォルダーが多すぎてそれぞれにシンボリックリンクを作成できないため、代わりに、共有ルートフォルダーごとに1つのシンボリックリンクを作成します。
D:\Shares\Shared
ディレクトリにシンボリックリンクを正常に作成できます。
mklink /D D:\Shares\Shared\symlink_test \\abc\def\target
その後、それを共有およびストレージ管理に正常に追加できます。
そして、Windows Explorerで\\fs1
を閲覧すると、共有が表示されます。
しかし、共有場所\\fs1\symlink_test
にアクセスしようとすると、「デバイスの準備ができていません」というエラーが表示されます。
すべての権限を確認しましたが、場所は読み取り可能である必要があります。
\\abc\def\symlink_test
に直接アクセスできます。D:\Shares\Shared\symlink_test
にアクセスでき、目的の場所に正しく移動できます。だから私はそれが許可の問題だとは思わない。
fs1
はWindows Server 2008 R2を実行しています\\abc\def
は実際には分散ファイルシステムの名前空間です\\abc\def\foo
は、Synology上のターゲットを持つDFS名前空間内のフォルダですNAS \\nas1\foo
DFSをご覧になることをお勧めします。私は自分で設定を行っていませんが、管理者がWindows CIFSサーバーから別のWindows CIFSサーバーに共有を正常に移行するのを見てきました。
次のようになります。