以下を使用してWindows Server 2012共有を作成しました。
PS C:\Windows\system32> nfsshare testshare2=C:\testshare2 -o anon=yes anonuid=0 anongid=0 rw=uuu.uuu.uuu.uuu
testshare2 was shared successfully
ここでuuu.uuu.uuu.uuuは私のUbuntuシステムのIPです。
次に、UbuntuマシンからWindows NFS共有を次のようにマウントしました。
Sudo mount -t nfs xxx.xxx.xxx.xxx:/testshare2 /mnt/testshare2
xxx.xxx.xxx.xxxは、Windows Server 2012マシンのIPです。
マウント時にエラーは表示されませんが、マウントされたディレクトリをls
すると、次のように表示されます。
ls: cannot open directory /mnt/testshare2/: Input/output error
Ubuntuのsyslogにエラーが表示されません。
編集1:RHEL7マシンからServer 2012 NFS共有をマウントしようとすると、同じ入出力エラーが発生します。マウントは正常に機能します。lsディレクトリやtouchファイルは使用できません。
編集2:Server 2012では、NFSログにUbuntuマシンとRHELマシンの両方への正常なマウントが示されます。
これは解決されました。 OnServer 2012:
Server Manager -> Shares
を開いた
既存の共有を削除しました
以前に共有したフォルダを削除しました
NFS Share - Quick
を選択し、[次へ]をクリックしました。 Type a custom path
で共有する新しいフォルダを選択し、[次へ]をクリックしました。 Share name
、local path
、remote paths
を確認して、[次へ]をクリックします。 No server authentication (AUTH_SYS)
を選択し、次にEnable unmapped user access by UID/GID
を選択して、Allow unmapped user acess by UID/GID
ラジオボタンが選択されていることを確認しました。次に[次へ]をクリックしました。 [共有権限]ウィンドウで、[Add
]をクリックしました。
Add Permissions
ウィンドウがポップアップしました。ここで、Host
の横に、マウントするリモートLinuxコンピューターのIPを入力し、Language encoding
をANSI
のままにして、Share permissions
をRead/Write
に設定しました。次に、下部にあるAdd
をクリックしてAdd Permissions
ウィンドウを閉じました。
Confirm selections
ウィンドウで設定を確認し、Create
ボタンをクリックしました。 次に、私が発行した私のRHEL7システムから:
mount -t nfs sss.sss.sss.sss:/somedata /mnt/somedata/
ここで、sss.sss.sss.sss
はServer 2012システムのIPです。
RHEL7マシンから、発行して書き込みアクセスを確認しました
date >> /mnt/somedata/date.txt
次に、ファイルがServer 2012から存在することを確認しました。
Windows Server 2016からNFS共有を作成する場合、上記の指示は多くの助けとなりました。重要なことの1つは、ファイルサーバーリソースマネージャーの役割もインストールすることです。それ以前は、入出力エラーのみが発生し、linuxはマウントをnfsバージョン3として報告しました。その後、linuxはnfsバージョン4.1を報告し、マウントは機能しました。