クライアントでnfsネストマウントが失敗する

クライアントでnfsネストマウントが失敗する

他のfstabマウントドライブを含むNFSとフォルダを共有しますが、クライアントnfsは最も深いマウントしか通過できません。

つまり: /ホーム/ユーザー/写真以下を含む通常のディレクトリです。/カメラ1

/home/user/pictures/camera1 は GPT 形式の 3TiB ドライブで、通常はサーバーの /etc/fstab に ext4 としてインストールされます。

現在はSambaと共有されていますが、共存し、サーバーとクライアントの両方でうまく機能しているように見え、競合が発生する可能性があります。

ただし、NFSを使用してマウントした後に/ camera1を表示すると、異常な問題が発生しました。まったくマウントされていないようです。代わりに、サーバーのプレインストールが表示されます。空のディレクトリNFS 接続されたクライアントから見たとき。

私が見つけた -アル字型mount(前の「r」を参照) - すべての例で提案されている --mount とは異なり、サーバー NFS エクスポート ディレクトリ (/mnt/nfs/...) が /camera1 に正しく移動するようにします。ただし、クライアントはまだ/camera1をマウントしません。 /~pictures は問題なくマウントされますが、/camera1 は空のフォルダとして扱われます。これは、/camera1がサーバーからマウント解除されているのと同じです。

デモ目的でインストールする前に、サーバーディレクトリ~/pictures/camera1/にUNMOUNTED.txtがあります。したがって、ドライブをマウントすると、UNMOUNTED.txt がサーバー上の Camera1 ドライブの正しいディレクトリのリストに置き換えられます。予想通り。

**しかし*クライアントにはまだ.../camera1/UNMOUNTED.txtが表示されます。

メモ:

/ - ドライブダ

/家- 2番目のドライブです

/ホーム/ユーザー/写真- /home ドライブのフォルダです。

/ホーム/ユーザー/写真/カメラ1- 3番目のドライブです。

サーバーの通常のext4 fstabマウントでは、すべてが期待どおりに機能しますが、NFSを介してリモートで表示したときに「camera1」マウントにのみ問題があります。

間違いの場合に備えて設定を実行します。

仕える人(クバンツ14.10)

個人や団体が存在しないので...

# mkdir -p /mnt/nfs/pictures
# chown -R nobody:nogroup /mnt/nfs
# chmod 777 /mnt
# chmod 777 /mnt/nfs
# chmod 777 /mnt/nfs/pictures

いいね

# mount --bind /home/user/pictures /mnt/nfs/pictures

/mnt/nfs/pictures はマウントしますが、/mnt/nfs/pictures/ はマウントしません。カメラ1空いた。これが問題の核心です。

# mount --rbind /home/user/pictures /mnt/nfs/pictures

アル字型今回はバインディング)が期待どおりに機能し、/mnt/nfs/pictures/カメラ1すでに人が住んでいる

だから...

/etc/idmapd.conf正しいマッピングが行われ、両方のコンピュータですべてが同じであることを確認しました。

編集しました/etc/export:

/mnt/nfs/ <SERVER-IP>(rw,fsid=root,no_subtree_check)

/mnt/nfs/pictures <SERVER-IP>(rw,no_subtree_check,sync,no_root_squash)

いいね

sudo exportfs -rav

いいね

sudo service nfs-kernel-server restart

それも大丈夫です。

その後、次のステップは...

顧客(クバントゥ16.04)

(SSHを使用しますが、物理的にアクセスしても結果は同じです)

$ showmount -e <SERVER-IP>
Export list for <SERVER-IP>:
/mnt/nfs/pictures    <SERVER-IP>
/mnt/nfs    <SERVER-IP>

共有を正しく表示

それから

$ ls -al /home/user/pictures
total 8
drwxr-xr-x  2 user user 4096 Aug 23 23:47 .
drwxr-xr-x 36 user user 4096 Aug 23 23:49 ..

ディレクトリが存在し、空であることを確認して共有をマウントします。

# mount -t nfs <SERVER-IP>:/pictures /home/user/pictures
or 
# mount -t nfs <SERVER-IP>:/mnt/nfs/pictures /home/user/pictures
....same diff

いいね

...しかし...

$ ls -al ~/pictures/camera1
total 16
drwxrwxr-x 2 user user 4096 Nov 12  2015 .
drwxrwxrwx 6 user user 4096 Aug 24 12:31 ..
-rw-rw-r-- 1 user user   21 Nov 12  2015 UNMOUNTED.txt
-rwxr-xr-x 1 user user  213 Nov 12  2015 .directory

もちろんしなければならない別の方法で取り付けられ、動作する「camera1」ドライブマウントの内容で完全に埋められます。

なぜなら--アル字型バインディングはサーバー側に役立ちます。クライアント側で活用しようとしましたが、

# mount --rbind -t nfs <SERVER-IP>:/pictures /home/user/pictures

--rbindが機能しているので、ヘルプ/マニュアルに記載されていますが、私の構文が間違っているというメッセージが表示されます。

助ける?

関連情報