Moving to another Node

there is just one to select and thas stil the same as bevore. I saved it, nothing changed

i did not remove the old webserver yet, it sits on the old node but is turned off. maybe thats the point?

Did you change DNS to point to node2 for mail and roundcubemail FQDNs.

I assume it’s about the old mailserver but if it’s stopped and on another node it shouldn’t be an issue. 2 mailservers on one node are not possible as they would need to use port 25 for example.

EDIT:

Is the user domain already working?
Please also check the settings in the mail app to point to the right user domain.

a reboot of the nodes helped :smiley:

1 Like

next problem:
the mailserver lost its config. there is no domain anymore and adding a domain fails:

Is the user domain working? Are the users and groups there?

If samba is already restored:

Samba is still on the old node, I do it step by step


1 Like

Are the users shown correctly?

Maybe it helps to reconfigure mail by saving the settings.

nope, no users, no Addresses shown. trying to get the userss this error occours:

Postfix is’nt fully starting

P:S. after restarting postfox there are still no user nor email-addresses

runagent -m mail7 systemctl --user status postfix postfix.service - Postfix MTA/MSA server Loaded: loaded (/home/mail7/.config/systemd/user/postfix.service; enabled; preset: disabled) Active: activating (start-pre) since Sun 2025-01-26 17:19:15 UTC; 850ms ago Process: 241638 ExecStartPre=/bin/rm -f /run/user/1012/postfix.pid /run/user/1012/postfix.ctr-id (code=exited, status=0/SUCCESS) Process: 241639 ExecStartPre=/bin/mkdir -vp pcdb (code=exited, status=0/SUCCESS) Cntrl PID: 241640 (install-certifi) Tasks: 3 (limit: 100248) Memory: 20.8M CPU: 817ms CGroup: /user.slice/user-1012.slice/user@1012.service/app.slice/postfix.service ├─241640 /bin/bash /home/mail7/.config/bin/install-certificate postfix ├─241646 python3 /usr/local/agent/bin/redis-exec HGET module/traefik3/certificate/home.nemenz.at key └─241647 base64 -d

I think that samba isn’t working correctly and therefore there are no domains and mailboxes in the mail app.
Could you please check if samba shows the users on the “Domains and Users” page as shown here?

The users are there. I can also add a user and delte it.
I did’nt touch Samba yet. It’s still on the old node and working as always

From the error screenshots it seems that the database tables are not there.

Did you maybe stop the mail app before creating a backup and therefore the database backup didn’t work?

To check the database:

runagent -m mail1 podman exec postfix sqlite3 /srv/pcdb.sqlite 'SELECT * FROM userforwards;'

ahh, yes I stopped the Mail servieces to avaid loose mails wich could come in suring the backup process :innocent:

so do you suggest I restart the mail services on the old node, make a backup again, stop the services and then restore to the new node?

PS: the output:
EDIT: my mail ist mail7 so here the correct output

runagent -m mail7 podman exec postfix sqlite3 /srv/pcdb.sqlite 'SELECT * FROM userforwards;'
Error: no container with name or ID "postfix" found: no such container

OK, postfix doesn’t start at all.

Yes, I think that could help.

You could just point the port forwarding for SMTP etc to the second node which isn’t reachable for mail services until you restore the mail app. So no mails should get lost.

this time I’ll get an error restoring:

Details:

restic --option=rclone.program=/usr/local/bin/rclone-wrapper dump 4e5b08115be20736703cee9a995f2d6e9762c00fa43e7e13739b5bf7e8ab1e84 state/environment
Assertion failed
  File "/var/lib/nethserver/cluster/actions/restore-module/50restore_module", line 93, in <module>
    agent.assert_exp(restore_task_result['exit_code'] == 0)

and

restic --option=rclone.program=/usr/local/bin/rclone-wrapper restore --json 4e5b08115be20736703cee9a995f2d6e9762c00fa43e7e13739b5bf7e8ab1e84 --target . --exclude state/environment
Trying to pull ghcr.io/nethserver/restic:3.4.4...
Getting image source signatures
Copying blob sha256:993cf9c50bf4a10805d429d083bfb2ab1828fc59eea3a0168a7fc4919b3994f4
Copying blob sha256:3685f91b5ebb60fb1fba5e9bae10d7bccca10b6da3a10c938faac9ee6f27edf8
Copying config sha256:ac2bd7bbaf8ce17ac622369a24e65c899769f4766506f50b751995a0e867bf52
Writing manifest to image destination
Traceback (most recent call last):
  File "/home/mail8/.config/actions/restore-module/70configure_module", line 16, in <module>
    configure_retval = agent.tasks.run(agent_id=os.environ['AGENT_ID'], action='configure-module', data={
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/agent/pypkg/agent/tasks/run.py", line 39, in run
    results = runp([taskrq], **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/agent/pypkg/agent/tasks/run.py", line 50, in runp
    return asyncio.run(_runp(tasks, **kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/asyncio/base_events.py", line 654, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/usr/local/agent/pypkg/agent/tasks/run.py", line 120, in _runp
    return await asyncio.gather(*runners, return_exceptions=(len(tasks) > 1))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/agent/pypkg/agent/tasks/run.py", line 129, in _run_with_protocol
    return await run_apiclient(taskrq, **pconn)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/agent/pypkg/agent/tasks/apiclient.py", line 47, in run_apiclient
    taskctx['status_path'] = await _retry_request(_apost_task, taskrq, client=client, theaders=theaders, **kwargs)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/agent/pypkg/agent/tasks/apiclient.py", line 191, in _retry_request
    raise exhttp
  File "/usr/local/agent/pypkg/agent/tasks/apiclient.py", line 166, in _retry_request
    retval = await request_procedure(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/agent/pypkg/agent/tasks/apiclient.py", line 258, in _apost_task
    jresp = await resp.json()
            ^^^^^^^^^^^^^^^^^
  File "/usr/local/agent/pyenv/lib64/python3.11/site-packages/aiohttp/client_reqrep.py", line 1104, in json
    raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: ', url=URL('http://cluster-leader:9311/api/module/mail8/tasks')

Could it be that there are more mail apps on the second node and because of this configuration isn’t possible?
You can check it in the app drawer on the top right after a browser refresh.

Nope there where no other mail app on this node.
But when I checked the app drawer I saw that there was a new mail app on the 2nd node. When I opend it, it asked me for configuration (maildomain and hostname).
Now mail and roundcube work.

I don’t understand why there was an error and still then it works?

So last step I’ll start with moving Samba and then
 Wish me luck

1 Like

I somehow recall that Samba / AD cannot be “removed”. They must be destroyed.

How do I test if Samba works on the new node before I destroy it?

Hi

Try with a Win PC, login as Admin.
Then test with RSAT Tools.

You can “disconnect” one (from Proxmox) so as not to disturb (only the new one running)

:slight_smile:

My 2 cents
Andy