7

I'm running Ubuntu Server 16.04.3 LTS 64-Bit with cifs-utils installed, as a VM, on a VMWare ESXi 6.5 hyper-visor.

I have a regular network share setup on Windows Server 2016.

The objective is to utilize Veeam Linux Agent to Backup this Linux VM to a Windows Share via CIFS.

The Problem:

When I am configuring Veeam to use CIFS, (viewing the logs) veeam is executing this command to connect to the network share:

mount -t cifs -o username=MyUsername,password=*,rw,soft //MyServerIP/MyShare /tmp/veeam/MyServerIPMyShare

It gives me the error: mount error(112): Host is down.

When I run the command manually, it does the same thing.

However when I run the command like this:

mount -t cifs -o vers=3.0,username=MyUsername,password=*,rw,soft //MyServerIP/MyShare /tmp/veeam/MyServerIPMyShare

It mounts without issue same if I use 2.0 as well.

The problem is, there is no way to force version 3.0 in Veeam. So, I need to be able to force this in Linux some how.

I've seen others have ran into this issue as well, but no solution was presented.

I've attempted the following (based on what I found):

Added the following lines to /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

I mixed and matched variations with reboots, to no avail.

2 Answers 2

8

I realize this is quite old, but I was brought here in my search for the same thing: Using veeam (free agent for linux 4.0) on Ubuntu 16.04 to backup to a modern SMB share hosted on Windows Server 2016. Same as the OP, the configuration was failing via the veeam wizard, and also when I would test a mount command, however adding "vers=3.02" to the mount command works (as expected).

This was frustrating because my 18.04 machines connect fine, and from reading it seems that the newer versions of cifs-utils have SMB3 set as the default.

I did find a solution, however. I tried to find the mounting script veeam was using but they don't use any traditional types of scripts you could edit. I decided to try adding the "vers=3.02" option in one of the wizard fields for smb configuration, assuming that it was just taking my input and forming the mount command, and it worked! I added it right behind the username like "entered_username,vers=3.02".

enter image description here

1
  • 1
    For anyone else reading this, definitely try this 3.02. For me, the auto-detect/negotiate logic of cifs wasn't working and every other version including 3.0 fails, but 3.02 works. Connecting to a Windows 2019 Server box. Cheers @justus95
    – Farley
    Apr 23, 2021 at 4:17
7

For a given mount.cifs version, I don't know of a way other than adding vers=3.0 to the command line (or to /etc/fstab). The mount.cifs driver ignores smb.conf. Historically it seems mount.cifs could not auto-negotiate, and simply tried one protocol version - 1.0 until July 2017, and 3.0 after that. (July 2017 being the date of the code change to cifs 4.13, not that earlier versions looked at that date at runtime!) From September 2017 it looks like it can auto-negotiate, defaulting to 2.1 or later (whatever the highest is that the server can offer).

Thus if you can upgrade your version of cifs, you should be able to get a different resulting protocol version even without specifying one explicitly.

Here is the mapping of mount.cifs, smb.conf and Windows protocol versions:

  • vers=3.0 is SMB3 i.e. Windows 8, Windows Server 2012
  • vers=2.1 is SMB2_10 i.e. Windows 7, Windows Server 2008 R2
  • vers=2.0 is SMB2_02 i.e. Vista SP1, Windows Server 2008
  • vers=1.0 is NT1 i.e. Windows 95, NT 4.0
3
  • 5
    Importantly, "upgrade your version of cifs" means installing a new kernel version with a new cifs.ko module – not the cifs-utils package or the mount.cifs tool. (Also don't forget vers=3.1 for Windows 10.) May 17, 2018 at 13:50
  • @grawity - Also importantly, you need the matching mount.cifs to go with your new kernel. Without it, you can't pass in some of the new options (or new values for existing options). Oct 22, 2018 at 17:58
  • Anyone knows which version (vers=x) is faster when mounting from linux to linux ?
    – adrianTNT
    Apr 8, 2020 at 21:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .