Autofsを使用して、フォルダー/ mnt/iso内のいくつかのisoファイルをマウントします。
Fedora-13-x86_64-DVD.iso
Fedora-14-x86_64-DVD.iso
Fedora-15-x86_64-DVD.iso
Autofsは正常に動作しており、isoファイルの内容を確認できます。
# ls /mnt/iso/Fedora.13/
# ls /mnt/iso/Fedora.14/
# ls /mnt/iso/Fedora.15/
Autofsテストが終了した後。すべてのisoフォルダーを強制的にアンマウントします。
# umount -l /mnt/iso/*
次に、/ etc/exportsに/ mnt/isoをエクスポートします。
/mnt/iso 192.168.0.0/24(ro,insecure,crossmnt,all_squash)
NFSサービスも正常に動作しています。 nfsクライアントを介して別のマシンから/ mnt/isoをマウントできます。
# mount -t nfs4 <nfs-server>:/mnt/iso /mnt
/ mnt /フォルダーにあるすべてのisoマウントを確認できます。
# ls /mnt
dr-xr-xr-x 15 nobody nobody 4096 2011-06-11 10:23 .
drwxr-xr-x 24 root root 4096 2011-02-08 08:45 ..
drwxr-sr-x 7 nobody nobody 4096 2010-05-13 09:06 Fedora.13
drwxr-sr-x 7 nobody nobody 4096 2010-10-22 02:32 Fedora.14
drwxrwsr-x 7 nobody nobody 4096 2011-05-14 03:50 Fedora.15
ただし、各フォルダの内容を一覧表示しようとすると、次のようになります。
# ls /mnt/Fedora.13
画面には何も表示されません。このようなコマンドを使用する
# ls /mnt/Fedora.13/*
促す
ls: cannot access /mnt/Fedora.13/*: No such file or directory
Nfsクライアントマシンのisoフォルダーのコンテンツを一覧表示できる唯一のケースは、次の手順を使用することです。
クライアントマシンからNFS共有をアンマウントします。
# umount /mnt
lsを使用してnfsサーバーの/ mnt/isoのすべてのサブツリーを表示します。
# ls /mnt/iso/*
AutofsはすべてのISOファイルを自動的にマウントします。
クライアントマシンにnfsフォルダーをマウントします。
# mount -t nfs4 <nfs-server>:/mnt/iso /mnt
/ mntのサブツリーを一覧表示します。
# ls /mnt/*
その後、nfsクライアントマシンですべてのコンテンツを表示できます。
ただし、最初にautofsマシンでコンテンツを一度表示する必要があるため、これはautofsの目的を無効にします。
誰かアイデアはありますか?私は以下を使用しています:
NFSを使用してファイルシステムをエクスポートすると、ソースディレクトリにロックされるという点で、馬の問題の前にカートを持っていると思います。その時点でそのソースディレクトリを利用できないようにして、後でマウントを介して何かを配置しようとしています。
これは機能しません。NFSに共有するもののハンドルを与えると、マウントのレイヤーの下にある場合でも、常にそのことを共有するからです。
ファイル「frog」を使用してディレクトリを設定し、nfsを使用してエクスポートするとします。
[server] $ mkdir /mnt/test && touch /mnt/test/frog
[server] $ echo '/mnt/test *(ro)' >> /etc/exports
[server] $ exportfs -a
それをクライアントのどこかにマウントすると、ファイルカエルが期待どおりに表示されます。
[client] $ mkdir /mnt/test
[client] $ mount -t nfs server:/mnt/test /mnt/test
[client] $ ls $/mnt/test
frog
ここで、サーバー上のそのフォルダーの上に何か他のものをマウントするとします。
[server] $ mkdir /mnt/test2 && touch /mnt/test2/fish
[server] $ mount -o bind /mnt/test2 /mnt/test
[server] $ ls /mnt/test
fish
スパイフィー。しかし、nfsは何を提供していますか?
[client] $ ls /mnt/test
frog
サーバー上に別のものがマウントされているため、サーバー上のそのファイルカエルに到達することさえできませんが、NFSはその下のレイヤーを提供しています!
簡単に言うとファイルシステムをNFS経由でエクスポートする場合は、NFSの起動時にファイルシステムを適切にマウントしてエクスポートする必要があり、ファイルシステムを維持する必要があります。それ自体がautofsを使用してマウントされているファイルシステムのエクスポートは、正しく機能しません。 NFSを介してエクスポートするには、これらのISOを永続的にマウントする必要があります。