VMWare ESXi 6.5ハイパーバイザーに、cifs-utilsがVMとしてインストールされたUbuntu Server 16.04.3 LTS 64ビットを実行しています。
Windows Server 2016で定期的にネットワーク共有をセットアップしています。
目的は、Veeam Linuxエージェントを使用して、このLinuxをバックアップすることですVM CIFS経由でWindows共有に。
問題:
CIFSを使用するようにVeeamを構成しているとき(ログを表示)、veeamは次のコマンドを実行してネットワーク共有に接続します。
mount -t cifs -o username=MyUsername,password=*,rw,soft //MyServerIP/MyShare /tmp/veeam/MyServerIPMyShare
それは私にエラーを与えます:mount error(112):Host is down。
コマンドを手動で実行すると、同じことが行われます。
しかし、私がこのようなコマンドを実行すると:
mount -t cifs -o vers=3.0,username=MyUsername,password=*,rw,soft //MyServerIP/MyShare /tmp/veeam/MyServerIPMyShare
2.0を使用しても問題なくマウントされます。
問題は、Veeamにバージョン3.0を強制する方法がないことです。それで、私はLinuxでこれを何らかの方法で強制できるようにする必要があります。
他にもこの問題が発生しているのを見てきましたが、解決策は提示されていません。
私が見つけたものに基づいて、次のことを試みました:
/etc/samba/smb.confに次の行を追加しました
server min protocol = SMB2
server max protocol = SMB3
client min protocol = SMB2
client max protocol = SMB3
min protocol = SMB2
max protocol = SMB3
client ipc min protocol = SMB2
バリエーションを混ぜてリブートと一致させましたが、役に立ちませんでした。
特定のmount.cifs
バージョンについて、vers=3.0
をコマンドライン(または/etc/fstab
)に追加する以外の方法を知りません。 mount.cifs
ドライバはsmb.conf
を無視します。歴史的には、mount.cifs
は自動ネゴシエーションできなかったようで、1つのプロトコルバージョンを試しただけです- 2017年7月までは1.0、その後は3. 。 (2017年7月は、cifs 4.13へのコード変更の日付であり、以前のバージョンは実行時にその日付を参照していませんでした!) 2017年9月はオートネゴシエーションできるように見えます 、デフォルトは2.1以降(最高のものはサーバーが提供できるものです)。
したがって、cifsのバージョンをアップグレードできる場合は、明示的にバージョンを指定しなくても、異なるプロトコルバージョンを取得できるはずです。
以下は、mount.cifs、smb.conf、およびWindowsプロトコルバージョンのマッピングです。
vers = 3.0はSMB3、つまりWindows 8、Windows Server 2012
vers = 2.1はSMB2_10です。つまり、Windows 7、Windows Server 2008 R2です。
vers = 2.0はSMB2_02、つまりVista SP1、Windows Server 2008
vers = 1.0はNT1、つまりWindows 95、NT 4.0です