Forums

Home / Forums

You need to log in to create posts and topics. Login · Register

CIFS fails after upgrade to 3.2.1 [Please help]

Pages: 1 2

I did have a look at this option, but there are a number of other packages that samba relies on which it's also trying to get from the petasan repo (it seems to prefer the petasan repo regardless of version). At first glace you'd need to remove at least samba, ctdb, libwbclient, winbind, samba-libs, libnss-winbind, libpam-winbind, samba-vfs-modules from your repo (or alternatively update them to match the dependencies they rely on from the unbuntu repos)

I was also unsure if there were customisations or fixes you'd made to samba in your repo, so was a little apprehensive to try forcing installing specific versions from the ubuntu repo.

Let me know once you've updated your repo and I'll try an update again and see how it goes.

I would certainly recommend that anyone using CIFS avoids updating for the time being, as since the ubuntu repo update of libldb it's certainly very broken

I've managed to get one node to have winbind and the associated packages updated where they can start and there are no dependency errors using "apt update"/"apt upgrade".

I had to uninstall the samba packages (which in turn removed petasan), and then do the following:

apt install libwbclient0=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install samba-libs=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install python3-samba=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install samba-common-bin=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install samba=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install winbind=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install ctdb=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install libnss-winbind=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install libpam-winbind=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install samba-vfs-modules=2:4.15.13+dfsg-0ubuntu0.20.04.5
apt install petasan

Winbind will now work (eg I can now do "winbindd -V" and get the version, and it will attempt to start). Although CTDB won't start as the other nodes are still on the old version, and I don't want to update the rest until I get some confirmation that this is the best way to proceed, and I'll not break things catastrophically)

 

nano /etc/apt/sources.list
change
# PetaSAN updates
deb http://archive.petasan.org/repo_v3/ petasan-v3 updates
to
# PetaSAN updates
deb http://archive.petasan.org/repo_v3_nosamba/ petasan-v3 updates

then
apt update
apt upgrade

This is a modified repo without samba version. this should fix the issue. Please confirm at your end.

If so, we would either remove all samba packages from our regular repo or fix the dependency error in samba-libs package from
libldb2 (>= 2:2.2.3-0ubuntu0.20.04.3)
to
libldb2 (= 2:2.2.3-0ubuntu0.20.04.3)
As the earlier allowed 2.4.4 to be downloaded from Ubuntu repo which proved incompatible

Thanks!

I've tried that one one nodes and the packages seem to have all updated perfectly - no longer showing dependency errors, and winbind works.

I'll wait till out of hours to do the remaining nodes as I don't want to bring samba back up fully just set - my temporary fix was to spool up a new linux box, and run standalone samba on it to get the CIFS shares working, but that meant joining that box to the domain as the same name as the SAN and re-pointing our internal DNS, so there's a little work to un-do it.

I will let you know how I get on once all the nodes are updated.

Another small question - what should be the official process for updating the nodes and keeping CIFS up, as it seems CTDB doesn't like to run different versions?

Oh - one more thing, I found that after updating the nodes and rebooting that the dm-writecaches were just filling and filing and not flushing like they were before, I found I had to run the following command to get them to flush out:

vgs | grep wc-osd | cut -d ' ' -f3 | xargs -I{} dmsetup message {}/main  0  pause_writeback 0

Just thought I'd mention it incase you wanted to add to the update script.

Thanks again for your assistance on this, and I shall let you know how I get on once the final nodes are updated.

ctdb is rather strict and will not allow different newer versions to join the cluster. Typically an upgraded ctdb node will not join the cluster until your last node gets upgraded and then all nodes join. Most clients will be ok with last node restarting, but better upgrade last node when there is least traffic.

Updates on the remaining nodes went well, and CTDB re-sync and the CIFS services came back up.

I had to manually re-join the SAN to the domain using /opt/petasan/scripts/cifs/cifs_ad.py join-ad (it was showing as already joined but it errored when I tried to leave). This was likely as I had joined another server with same name to serve CIFS requests while Petasan wasn't working, and then manually deleted that computer object from AD after I left the domain. After forcing a a re-join all worked okay.

CIFS is serving clients and seems okay.

The only issue I can see is that listing the CIFS active connections no longer works. I get get the following in the PetaSAN.log:

04/10/2023 00:21:25 ERROR Exception on /manage_cifs/check_conns_status/gl-san-02b/0 [GET]
Traceback (most recent call last):
 File "/usr/lib/python3/dist-packages/flask/app.py", line 2446, in wsgi_app
 response = self.full_dispatch_request()
 File "/usr/lib/python3/dist-packages/flask/app.py", line 1951, in full_dispatch_request
 rv = self.handle_user_exception(e)
 File "/usr/lib/python3/dist-packages/flask/app.py", line 1820, in handle_user_exception
 reraise(exc_type, exc_value, tb)
 File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
 raise value
 File "/usr/lib/python3/dist-packages/flask/app.py", line 1949, in full_dispatch_request
 rv = self.dispatch_request()
 File "/usr/lib/python3/dist-packages/flask/app.py", line 1935, in dispatch_request
 return self.view_functions[rule.endpoint](**req.view_args)
 File "/usr/lib/python3/dist-packages/PetaSAN/core/security/basic_auth.py", line 71, in decorated
 return f(*args, **kwargs)
 File "/usr/lib/python3/dist-packages/PetaSAN/core/security/basic_auth.py", line 91, in wrapped_function
 return fn(*args, **kwargs)
 File "/usr/lib/python3/dist-packages/PetaSAN/web/admin_controller/manage_cifs.py", line 482, in check_cifs_connections_status
 smbstatus = manage_cifs.get_smbstatus(node_name, ctdb_pnn)
 File "/usr/lib/python3/dist-packages/PetaSAN/backend/manage_cifs.py", line 325, in get_smbstatus
 raise CIFSException(CIFSException.CIFS_STATUS_FAILED, '')
PetaSAN.core.common.CustomException.CIFSException
 04/10/2023 00:21:30 INFO Call "get assignments stats" function.

Very good it is working now 🙂

We decided to remove the samba packages from our repository to avoid conflict with Ubuntu ones. We used to build them to have get latest Ceph support in samba, but now the upstream ones are up to date.

The UI link to show current connection info, yes it is not working as expected due to bug, it is fixed in upcoming 3.3 release.

Okay that’s great, thanks!

Should I change my apt sources config back to the original one now?

yes please change it back as we updated the original repository.

Pages: 1 2