数か月間、DebianJessieからリモートでWindows共有にいくつかのディレクトリをマウントしました。
過去数週間、私はマウントポイントからのランダムな切断についての不満を持ち続け、
をしなければなりませんでしたsudo mount -a
マウント接続を回復するために、数回(サーバーは週に1〜2回使用されます)。
例えばマウントは、使用されないまましばらくすると回復しないことがよくあります。
Windows管理者は、Windowsサーバーがしばらく再起動されていないことも教えてくれました。
今日、偶然にも mount -a
を実行するとき 繰り返しになりますが、2回目の試行でのみ機能しましたが、1回目の試行では次のエラーが発生しました:
sudo mount -a
mount error(104): Connection reset by peer
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
ディレクトリは/etc / fstab
からマウントされます そのようなもの:
//10.2.1.2 / XX / ZZ / YY / mnt / mount_point cifscredentials =/ root / .smbcredentials、iocharset =utf8、file_mode =0770、dir_mode =0770、uid =1001、gid =1001 0 0 コード>
マウントコマンドを実行すると、オプション echo_interval
も表示されます。 デフォルトでは60分でアクティブになります。
$ mount
//10.2.1.2/XX/ZZ/YY on / mnt / mount_point type cifs(rw、relatime、vers =1.0、cache =strict、username =someusername、domain =XXX、uid =1001、forceuid、gid =1001、forcegid、addr =10.2.1.2、file_mode =0770、dir_mode =0770、nounix、serverino、mapposix、rsize =61440、wsize =65536、echo_interval =60、actimeo =1)
どうすればいいですか?
承認された回答:
ここで興味深い関連記事を見つけました。cifsにマウントされたフォルダーが切断され続け(ubuntuサーバー)、同様の問題(同じエラー、Samba共有)について話します。
ここでの関連するヒントは、残りの答えに従うために、 mount
を発行して確認できるように、CIFSマウントはデフォルトでSMBv1.0プロトコルを使用するということです。 コマンド、および vers =1.0
に注意を払う フィールド。
$ mount
//10.2.1.2/XX/ZZ/YY on / mnt / mount_point type cifs(rw、relatime、 vers =1.0 、cache =strict、username =someusername、domain =XXX、uid =1001、forceuid、gid =1001、forcegid、addr =10.2.1.2、file_mode =0770、dir_mode =0770、nounix、serverino、mapposix、rsize =61440、wsize =65536、echo_interval =60、actimeo =1)
Stack Overflowでも、マウントCIFSホストがダウンしていることがわかりました
これは、プロトコルの不一致が原因である可能性もあります。 2017年、Microsoftは
Windows Serverにパッチを適用し、SMB1プロトコルを無効にするようアドバイスしました。今後、mount.cifsでプロトコルネゴシエーションに問題が発生する可能性があります。
表示されるエラーは「ホストがダウンしています」です。ただし、次のコマンドでデバッグする場合:
smbclient -L <server_ip> -U <username> -d 256
エラーが発生します:
protocol negotiation failed: NT_STATUS_CONNECTION_RESET
投稿には、プロトコル/ WannacryなどへのWindowsパッチが混乱している、またはより正確には、v1CIFSリクエスト機能を無効にしている人がいると記載されています。同様の問題がWindowsの前面でも発生しており、タイミングを考えると、問題が関連しているに違いないと思われます。
この特定のサーバーであるAFAIKでv1CIFSを無効にしていません(テストでこれを確認しています)が、MS Bulletinは、デフォルトのSMBv1の動作が(わずかに)変更されたことを示しています。
私は、前述のSambaの質問で提案された一般的な考え方に従うことになりました。男からmounts.cifs
:
vers =
SMBプロトコルバージョン。許可される値は次のとおりです。
1.0 –従来のCIFS/SMBv1プロトコル。これがデフォルトです。
2.0 –SMBv2.002プロトコル。これは、Windows Vista ServicePack1およびWindowsServer2008で最初に導入されました。
WindowsVistaの初期リリースバージョンは、サポートされていないわずかに異なる方言(2.000)を話していたことに注意してください。2.1 – MicrosoftWindows7およびWindowsServer2008R2で導入されたSMBv2.1プロトコル。
3.0 – MicrosoftWindows8およびWindowsServer2012で導入されたSMBv3.0プロトコル。
このオプションは使用されるプロトコルバージョンを管理しますが、各バージョンのすべての機能が利用できるわけではないことにも注意してください。
-verbose
マウントの追加のデバッグ情報を出力します。このパラメーターは、
-o
の前に指定する必要があることに注意してください。 。例:mount -t cifs //server/share /mnt --verbose -o user=username
マニュアルに示されているように、Windows8以降の最近のWindowsバージョンでは
少なくともvers =2.0
を使用しています もっと理にかなっているかもしれません。
コマンドラインの-verbose
を使用した代替構文 言及されているオプションは、
発生する可能性のある合併症をさらにデバッグするのにも役立ちます。
そのため、この質問でマウントしているWindowsサーバーはWindows Server 2008 R2であるため、 / etc / fstab
に配置します。 :
//10.2.1.2 / XX / ZZ / YY / mnt / mount_point cifscredentials =/ root / .smbcredentials、iocharset =utf8、file_mode =0770、dir_mode =0770、uid =1001、gid =1001、vers =2.1 0 0
次に、オプションを有効にするために再マウントします:
sudo mount -o remount /mnt/mount_point
次に、 mount
を使用して確認します 繰り返しますが、ネゴシエートされたプロトコルを確認するには:
$ mount
//10.2.1.2/XX/ZZ/YY on / mnt / mount_point type cifs(rw、relatime、 vers =2.1 、cache =strict、username =someusername、domain =XXX、uid =1001、forceuid、gid =1001、forcegid、addr =10.2.1.2、file_mode =0770、dir_mode =0770、nounix、serverino、mapposix、rsize =61440、wsize =65536、echo_interval =60、actimeo =1)
そして、使用されているSMBプロトコルを正常に変更したことを実際に確認できます。
また、CIFS v1.0は、廃止されているだけでなく、新しいバージョンのプロトコルと比較して、非常に非効率的で安全ではないことにも注意してください。
MSブログから–SMB1の使用をやめる
SMB1は最新でも効率的でもありません
SMB1を使用すると、エンドユーザーの主要な
パフォーマンスと生産性の最適化が失われます。
- より大きな読み取りと書き込み(2.02 +)–より高速なネットワークのより効率的な使用
またはより高い遅延のWAN。大規模なMTUサポート。- フォルダと
ファイルプロパティのピアキャッシュ(2.02 +)–クライアントはBranchCacheを介してフォルダと
ファイルのローカルコピーを保持します- 耐久性のあるハンドル(2.02、2.1)–
一時的な切断が発生した場合に、
接続がサーバーに透過的に再接続できるようにします- クライアントoplockリースモデル(2.02 +)–クライアントとサーバー間で転送されるデータを制限し、
高遅延ネットワークでのパフォーマンスを向上させ、
SMBサーバーのスケーラビリティを向上させます- マルチチャネルおよびSMBダイレクト(3.0以降)–ネットワークの集約
クライアントとサーバー間で複数のパスが利用可能な場合の帯域幅とフォールトトレランス、およびRDMA全体での最新の超高使用
インフラストラクチャ- ディレクトリリース(3.0以降)–キャッシュによるブランチオフィスでのアプリケーションの応答時間の改善
興味深いことに、この最後の記事は、プロトコル> =2.01を使用している場合、切断後に切断の問題が発生する可能性が低いことを示唆しています。したがって、CIFSv1.0の使用を継続しないことを再度強調します。 (例:1.0の場合、 echo_interval =60
接続を維持します。ネットワークの不具合やその他のサーバーの中断が発生した場合、CIFS v1.0を使用している間は、手動での介入なしにマウントが回復することはありません)
最後のアドバイスとして、 sudo mount -a
を実行しないでください 、実行を開始します:
sudo mount -o remount -a
私の質問も参照してください。CIFSは同じマウントポイントに同じ共有の複数のコピーをマウントします