
次の ZFS 構造があります。
% sudo zfs list 16:03:46
NAME USED AVAIL REFER MOUNTPOINT
zpool1 1.18T 5.86T 544K legacy
zpool1/home 1.18T 5.86T 96K legacy
zpool1/home/alice 12.6G 5.86T 12.6G /zshare/zpool1/home/alice
zpool1/home/bob 1.17T 5.86T 1.02T /zshare/zpool1/home/bob
zpool2 2.22T 4.82T 188K legacy
zpool2/media 1.13T 4.82T 1.13T /zshare/zpool1/home/media_root
パフォーマンスとストレージ上の理由から、zpool1
ディスクzpool2
を共有しないでください。ボブとアリスの両方がアクセスできるようにしたいのですmedia_root
が、ボブとアリスはお互いのファイルにアクセスすることはできません。
- /zshare/zpool1/home はルート パーティションに属しているため、フォルダーとして共有できません。ルート パーティションは小さく、アリスまたはボブが 60 GB を超えるものをフォルダーにコピーしようとすると、ホーム フォルダーに容量があっても「容量不足」で失敗します (Windows は SMB 共有フォルダーをホストしているドライブから容量を計算します)。
- Windows では同じ IP アドレスから複数のネットワーク ドライブをマウントできないため、2 つのフォルダーを両方のユーザーのワークステーションで共有することはできません...
- Windows ではシンボリックリンクが追跡されないため、シンボリックリンク
media_root
を作成できません。/alice
また、Z ファイルシステム間でハードリンクを機能させることができないようです。/bob
アリスとボブの両方のサブフォルダーにすべてのファイルを複製しmedia_root
、crontab スタイルの rsync を使用して、両方を相互に更新し、zpool2 上で更新し続けることは本当に望んでいませんが、他にどのようなオプションがありますか?
Ubuntu 20.04 の ZFS でこれを実現する方法がいくつかあることは確かですが、どうやって実現するのでしょうか?
編集: 問題のネットワークには DNS がありません。
答え1
Windows では同じ IP アドレスから複数のネットワーク ドライブをマウントできないため、2 つのフォルダーを両方のユーザーのワークステーションで共有することはできません...
これは正しくありません。ネットワークドライブをいくつでもマウントできます(そして空き文字があるので、同じマシンに共有することもできます。プレーンな UNC パスを使用したり、深いパス名 ( などnet use t: \\server\share\bobs\eyes\only
) をマウントしたりすることもできます。必要な共有を作成し、それに応じて使用してください。
ただし、ボブとアリスはお互いのファイルにアクセスすることはできません。
これはファイル/フォルダの権限の問題です。
答え2
これを行う 1 つの方法は、共有フォルダーへのアクセス権を持つユーザーのグループを設定し、そのグループのメンバーだけがアクセスできるように共有フォルダーの権限を設定することだと思います。
たとえば、「media_access」というグループを作成し、Alice と Bob の両方をそのグループに追加することができます。次に、media_root フォルダーの権限を設定して、media_access グループのメンバーだけがアクセスできるようにします。これを行うには、次のコマンドを実行します。
chgrp media_access /zshare/zpool1/home/media_root
chmod g+rwx /zshare/zpool1/home/media_root
これにより、media_root フォルダーのグループ所有権が media_access グループに変更され、そのグループのメンバーにフォルダーに対する読み取り、書き込み、および実行権限が付与されます。
権限を設定すると、Alice と Bob の両方のワークステーションから共有フォルダーにアクセスできるようになります。ただし、アクセスできるのは共有フォルダー内のファイルのみであり、それぞれのホーム ディレクトリにある互いのファイルにはアクセスできません。
答え3
結局、ネットワークを動作させるには DNS を有効にしてホストする必要がありました。
例:
Windows で 2 つのネットワーク ドライブを以下のようにマッピングする
\\192.168.11.1\share001
\\192.168.11.1\share002
ただし、DNSを使用する場合は失敗します
\\alice\share001
\\bob\share002
^ 上記は、alice
&bob
が に解決されても機能します192.168.11.1
。