Migration from one server to 2 new servers
Kishore Potnuru
kishore.reachme at gmail.com
Tue Jul 28 15:48:17 EEST 2020
Hi,
I have tried the same way as per your suggestion. But it's throwing the
below error.
-------------
[root at production2 log]# doveadm backup -a All -R -u kishore at test.ba.com
imapc:
dsync(kishore at test.ba.com): Info: imapc(production1.baplc.com:143):
Connected to 161.2.11.119:143 (local 161.2.12.152:45992)
dsync(kishore at test.ba.com): Warning: imapc(production1.baplc.com:143):
connect(161.2.11.119, 143) timed out after 30 seconds - reconnecting (delay
0 ms)
dsync(kishore at test.ba.com): Info: imapc(production1.baplc.com:143):
Connected to 161.2.11.119:143 (local 161.2.12.152:46014)
dsync(kishore at test.ba.com): Error: imapc(production1.baplc.com:143):
connect(161.2.11.119, 143) timed out after 30 seconds - disconnecting
dsync(kishore at test.ba.com): Error: User initialization failed: imapc: Login
to production1.baplc.com failed: Disconnected from server
[root at production2 log]#
--------------
I looked into the production1 (old server) logs. I see the below error.
===============
Jul 28 11:14:23 auth: Fatal: Master passdb can't have pass=yes if there are
no passdbs
Jul 28 11:14:23 master: Error: service(auth): command startup failed,
throttling
===============
After the above error, I have commented "pass=yes" in production1 (old
server) server, then I see the below error.
================
Jul 28 11:17:10 auth: Fatal: No passdbs specified in configuration file.
PLAIN mechanism needs one
Jul 28 11:17:10 master: Error: service(auth): command startup failed,
throttling
===============
Please suggest me on fixing the issue. I have also copied the dovecot.conf
from both the servers below.
=========================================
My old server dovecot.conf (production1):
=========================================
disable_plaintext_auth = no
listen = *
log_path = /var/log/dovecot.log
mail_location = maildir:/z1dev/mail/virtual/%d/%n/Maildir/
passdb {
args = /etc/dovecot/passwd
driver = passwd-file
master = yes
pass = yes
}
pop3_uidl_format = %g
protocols = pop3 imap
ssl = yes
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
userdb {
args = uid=vmail gid=vmail home=/z1dev/mail/virtual/%d/%n
driver = static
}
mail_debug = no
verbose_ssl = no
=========================================
My New server dovecot.conf(production2):
=========================================
disable_plaintext_auth = no
listen = *
log_path = /var/log/dovecot.log
mail_location = maildir:/z1devenv/mail/virtual/%d/%n/Maildir/
passdb {
args = /etc/dovecot/passwd
driver = passwd-file
}
pop3_uidl_format = %g
protocols = pop3 imap
ssl = yes
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
userdb {
args = uid=vmail gid=vmail home=/z1devenv/mail/virtual/%d/%n
driver = static
}
mail_debug = yes
verbose_ssl = no
# Enable the replication plugin globally
mail_plugins = $mail_plugins notify replication
service replicator {
process_min_avail = 1
}
dsync_remote_cmd = ssh -l%{login} %{host} doveadm dsync-server -u%u
plugin {
mail_replica = remote:vmail at production3.baplc.com
}
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service replicator {
unix_listener replicator-doveadm {
mode = 0600
user = vmail
}
}
replication_max_conns = 10
imapc_host = production1.baplc.com
imapc_password = vmail
imapc_master_user = vmail
imapc_user = %u
===================================
Please suggest me.
Thanks & Regards,
Kishore
On Tue, Jul 28, 2020 at 6:57 AM Aki Tuomi <aki.tuomi at open-xchange.com>
wrote:
> Hi!
>
> Kishore, you got the command wrong..
>
> `doveadm backup -R -u username-goes-here imapc:`
>
> for this to work, you need to configure following things:
>
> imapc_host = old-host-name
> imapc_password = master-password
> imapc_master_user = master-user-name
>
> and on the old host you need
>
> passdb {
> args = /etc/dovecot/passwd.masterusers
> driver = passwd-file
> master = yes
> pass = yes
> }
>
> This should let you pull the mails from the old host to your new host over
> IMAP.
>
> You should probably also look at
>
> https://wiki.dovecot.org/Migration/Dsync
>
> Aki
>
> > On 28/07/2020 03:02 Antonio Leding <tech at leding.net> wrote:
> >
> >
> > Hey Kishore…
> >
> > I believe this is the thread I mentioned earlier. It is quite long and
> spans a monthly barrier (Feb\Mar 2012) so if you use the “Next\Previous
> message” links, you need to be sure to pick up the thread in each monthly
> archive. I have provided links to the first post of the thread in each
> archive here:
> >
> > https://dovecot.org/list/dovecot/2012-February/133718.html
> > https://dovecot.org/list/dovecot/2012-March/134110.html
> >
> > Also, mention of a working syntax for the remote side command can be
> found in this post:
> >
> > https://dovecot.org/list/dovecot/2012-February/081425.html
> >
> > I’m sure one of the Dovecot devs will chime in at some point but in the
> meantime, hopefully the above will offer some relief…
> >
> >
> >
> >
> > > On Jul 27, 2020, at 4:38 PM, Antonio Leding <tech at leding.net> wrote:
> > >
> > >
> > > I seem to recall a post a while back where, due to the age of the
> remote end, the remote side command had to be entered in the command
> executed on the local side.
> > >
> > > Do you have dsync on the 2.0.9 machine?
> > >
> > >
> > >
> > >
> > >
> > > > On Jul 27, 2020, at 4:16 PM, Kishore Potnuru <
> kishore.reachme at gmail.com> wrote:
> > > >
> > > >
> > > > This is what my understanding. May be I am also wrong here.
> > > >
> > > > Backup option is there in my new server, production2.
> > > >
> > > > When I use the command with -R option from new server, it is
> connecting to old server, Production1 and giving the output of the doveadm
> backup command in old server to get the data. If you see the command and
> error I posted, it shows the same.
> > > >
> > > > Sorry just incase if I am wrong.
> > > >
> > > > Kishore
> > > >
> > > >
> > > > On Mon, 27 Jul, 2020, 11:32 pm Antonio Leding, <tech at leding.net>
> wrote:
> > > > > Well that option set still doesn’t look correct…
> > > > >
> > > > > Here is the doveadm option set from my 2.2.2 server which is
> several weeks\months before 2.2.36…
> > > > >
> > > > >
> > > > >
> > > > > [Jul-27 @ 15:25:09 ] > dovecot --version
> > > > > 2.2.2
> > > > >
> > > > > [Jul-27 @ 15:26:53 ] > ls -l /usr/local/bin/doveadm
> > > > > -rwxr-xr-x 1 root root 1379203 May 22 2013 /usr/local/bin/doveadm
> > > > >
> > > > > [Jul-27 @ 15:25:12 ] > doveadm
> > > > > usage: doveadm [-Dv] [-f <formatter>] <command> [<args>]
> > > > >
> > > > > altmove [-u <user>|-A] [-S <socket_path>] [-r] <search query>
> > > > > auth cache|test
> > > > > backup [-u <user>|-A] [-S <socket_path>] [-dfR] [-l <secs>] [-m
> <mailbox>] [-n <namespace>] [-s <state>] <dest>
> > > > > batch [-u <user>|-A] [-S <socket_path>] <sep> <cmd1> [<sep> <cmd2>
> [..]]
> > > > > config [doveconf parameters]
> > > > > copy [-u <user>|-A] [-S <socket_path>] <destination> [user <source
> user>] <search query>
> > > > > director add|dump|flush|map|move|remove|ring|ring|ring|status
> > > > > dump [-t <type>] <path>
> > > > > exec <binary> [binary parameters]
> > > > > expunge [-u <user>|-A] [-S <socket_path>] [-d] <search query>
> > > > > fetch [-u <user>|-A] [-S <socket_path>] <fields> <search query>
> > > > > force-resync [-u <user>|-A] [-S <socket_path>] <mailbox mask>
> > > > > fs copy|delete|get|iter|iter-dirs|put|stat
> > > > > help <cmd>
> > > > > import [-u <user>|-A] [-S <socket_path>] [-s] <source mail
> location> <dest parent mailbox> <search query>
> > > > > index [-u <user>|-A] [-S <socket_path>] [-q] [-n <max recent>]
> <mailbox mask>
> > > > > instance list|remove
> > > > > kick [-a <anvil socket path>] [-f] <user mask>[|]<ip/bits>
> > > > > log errors|find|reopen|test
> > > > > mailbox
> create|delete|list|mutf7|rename|status|subscribe|unsubscribe
> > > > > mount add|list|remove
> > > > > move [-u <user>|-A] [-S <socket_path>] <destination> [user <source
> user>] <search query>
> > > > > penalty [-a <anvil socket path>] [<ip/bits>]
> > > > > proxy kick|list
> > > > > purge [-u <user>|-A] [-S <socket_path>]
> > > > > pw [-l] [-p plaintext] [-r rounds] [-s scheme] [-t hash] [-u user]
> [-V]
> > > > > reload
> > > > > replicator remove|replicate|status
> > > > > search [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > sis deduplicate|find
> > > > > stats dump|top
> > > > > stop
> > > > > sync [-u <user>|-A] [-S <socket_path>] [-dfR] [-l <secs>] [-m
> <mailbox>] [-n <namespace>] [-s <state>] <dest>
> > > > > user [-a <userdb socket path>] [-x <auth info>] [-f field] [-u]
> <user mask> [...]
> > > > > who [-a <anvil socket path>] [-1] [<user mask>] [<ip/bits>]
> > > > > zlibconnect <host> [<port>]
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > > On Jul 27, 2020, at 3:28 PM, Kishore Potnuru <
> kishore.reachme at gmail.com> wrote:
> > > > > >
> > > > > >
> > > > > > Oh, I am extremely sorry. I was confused when typing the issue.
> Please help me in fixing the issue. Production1 is my old server.
> Production2 is my new server. Typing here correctly. Ignore all previous
> one's.
> > > > > >
> > > > > > > The new version is:
> > > > > > > ====================
> > > > > > > [root at production2 ~]# dovecot --version
> > > > > > > 2.2.36 (1f10bfa63)
> > > > > > >
> > > > > > >
> > > > > > > The old version is :
> > > > > > > ======================
> > > > > > > [root at production1 ~]# dovecot --version
> > > > > > > 2.0.9
> > > > > > >
> > > > > > >
> > > > > > > I have executed the command from the new server:
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > =================================
> > > > > > > [root at production2 test.org.com (http://test.org.com/)]#
> doveadm backup -R -u kishore at test.org.com
> remote:vmail at production1.baplc.com
> > > > > > > vmail at production1.baplc.com's password:
> > > > > > > usage: doveadm [-Dv] [-f <formatter>] <command> [<args>]
> > > > > > >
> > > > > > > altmove [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > > auth [-a <auth socket path>] [-x <auth info>] <user>
> [<password>]
> > > > > > > config [doveconf parameters]
> > > > > > > director add|flush|map|remove|status
> > > > > > > dump [-t <type>] <path>
> > > > > > > expunge [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > > fetch [-u <user>|-A] [-S <socket_path>] <fields> <search
> query>
> > > > > > > force-resync [-u <user>|-A] [-S <socket_path>] <mailbox>
> > > > > > > help <cmd>
> > > > > > > import [-u <user>|-A] [-S <socket_path>] <source mail
> location> <dest parent mailbox> <search query>
> > > > > > > kick [-a <anvil socket path>] [-f] <user mask>[|]<ip/bits>
> > > > > > > log find|reopen|test
> > > > > > > mailbox
> create|delete|list|mutf7|rename|status|subscribe|unsubscribe
> > > > > > > penalty [-a <anvil socket path>] [<ip/bits>]
> > > > > > > purge [-u <user>|-A] [-S <socket_path>]
> > > > > > > pw [-l] [-p plaintext] [-r rounds] [-s scheme] [-u user] [-V]
> > > > > > > reload
> > > > > > > search [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > > sis deduplicate|find
> > > > > > > stop
> > > > > > > user [-a <userdb socket path>] [-x <auth info>] <user mask>
> [...]
> > > > > > > who [-a <anvil socket path>] [-1] [<user mask>] [<ip/bits>]
> > > > > > > dsync-local(kishore at test.org.com): Error: read(
> vmail at production1.baplc.com) failed: EOF (version not received)
> > > > > > > dsync-local(kishore at test.org.com): Error: Remote command
> returned error 1: ssh -lvmail production1.baplc.com (
> http://production1.baplc.com/) doveadm dsync-server -ukishore at test.org.com
> > > > > > >
> > > > > > > [root at production2 test.org.com (http://test.org.com/)]#
> > > > > > >
> > > > > > > =================================
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Mon, 27 Jul, 2020, 11:18 pm Antonio Leding, <tech at leding.net>
> wrote:
> > > > > > > Fair enough but the command snippet I posted was taken
> directly from your earlier post dated Mon Jul 27 23:11:06 EEST 2020 and it
> does say “production1”…I just double-checked as well...
> > > > > > >
> > > > > > > FWIW…the server order in the command you just pasted is the
> exact reverse from the Jul 27th post I mentioned above…
> > > > > > >
> > > > > > > Here you appear to be exec’ing the command on prod2 and trying
> to pull from the remote of prod 1…your earlier post was exec’ing on prod1
> and pulling from the remote of prod2…
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > > On Jul 27, 2020, at 3:10 PM, Kishore Potnuru <
> kishore.reachme at gmail.com> wrote:
> > > > > > > >
> > > > > > > >
> > > > > > > > I am executing the command from the new server. I was
> executing the command from production2 server only. It has the backup
> option, but whereas production1 doesn't have it. Though I am executing from
> production2, I am seeing the below error. Is it becasue production1 server
> doesn't have that option? Please let me know, if it is confusing.
> > > > > > > >
> > > > > > > >
> > > > > > > > The new version is:
> > > > > > > > ====================
> > > > > > > > [root at production2 ~]# dovecot --version
> > > > > > > > 2.2.36 (1f10bfa63)
> > > > > > > >
> > > > > > > >
> > > > > > > > The old version is :
> > > > > > > > ======================
> > > > > > > > [root at production1 ~]# dovecot --version
> > > > > > > > 2.0.9
> > > > > > > >
> > > > > > > >
> > > > > > > > I have executed the command from the new server:
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > =================================
> > > > > > > > [root at production2test.org.com (http://test.org.com/)]#
> doveadm backup -R -ukishore at test.org.comremote:vmail at production1.baplc.com
> > > > > > > > vmail at production1.baplc.com's password:
> > > > > > > > usage: doveadm [-Dv] [-f <formatter>] <command> [<args>]
> > > > > > > >
> > > > > > > > altmove [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > > > auth [-a <auth socket path>] [-x <auth info>] <user>
> [<password>]
> > > > > > > > config [doveconf parameters]
> > > > > > > > director add|flush|map|remove|status
> > > > > > > > dump [-t <type>] <path>
> > > > > > > > expunge [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > > > fetch [-u <user>|-A] [-S <socket_path>] <fields> <search
> query>
> > > > > > > > force-resync [-u <user>|-A] [-S <socket_path>] <mailbox>
> > > > > > > > help <cmd>
> > > > > > > > import [-u <user>|-A] [-S <socket_path>] <source mail
> location> <dest parent mailbox> <search query>
> > > > > > > > kick [-a <anvil socket path>] [-f] <user mask>[|]<ip/bits>
> > > > > > > > log find|reopen|test
> > > > > > > > mailbox
> create|delete|list|mutf7|rename|status|subscribe|unsubscribe
> > > > > > > > penalty [-a <anvil socket path>] [<ip/bits>]
> > > > > > > > purge [-u <user>|-A] [-S <socket_path>]
> > > > > > > > pw [-l] [-p plaintext] [-r rounds] [-s scheme] [-u user]
> [-V]
> > > > > > > > reload
> > > > > > > > search [-u <user>|-A] [-S <socket_path>] <search query>
> > > > > > > > sis deduplicate|find
> > > > > > > > stop
> > > > > > > > user [-a <userdb socket path>] [-x <auth info>] <user mask>
> [...]
> > > > > > > > who [-a <anvil socket path>] [-1] [<user mask>] [<ip/bits>]
> > > > > > > > dsync-local(kishore at test.org.com): Error: read(
> vmail at production1.baplc.com) failed: EOF (version not received)
> > > > > > > > dsync-local(kishore at test.org.com): Error: Remote command
> returned error 1: ssh -lvmailproduction1.baplc.com (
> http://production1.baplc.com/)doveadm dsync-server -ukishore at test.org.com
> > > > > > > >
> > > > > > > > [root at production2test.org.com (http://test.org.com/)]#
> > > > > > > >
> > > > > > > > =================================
> > > > > > > >
> > > > > > > >
> > > > > > > > On Mon, Jul 27, 2020 at 10:55 PM Antonio Leding <
> tech at leding.net> wrote:
> > > > > > > > > Not sure if this matters but the prompt when attempting
> the “doveadm backup” command shows it to be a “production" server…
> > > > > > > > >
> > > > > > > > > [root at production1 (
> https://dovecot.org/mailman/listinfo/dovecot) test.org.com (
> http://test.org.com/)]# doveadm backup -R -u kishore at test.org.com (
> https://dovecot.org/mailman/listinfo/dovecot)
> > > > > > > > > remote:vmail at production2.baplc.com (
> https://dovecot.org/mailman/listinfo/dovecot)
> > > > > > > > >
> > > > > > > > > ...that would seem to me to indicate the old box. If so,
> then per Kishore’s earlier posts, the machine where this is being attempted
> is running 2.0.9…not 2.2.36
> > > > > > > > >
> > > > > > > > > Maybe nothing but thought I would mention it…
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > On Jul 27, 2020, at 2:50 PM, Sami Ketola <
> sami.ketola at dovecot.fi> wrote:
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > > On 28. Jul 2020, at 0.10, Kishore Potnuru <
> kishore.reachme at gmail.com> wrote:
> > > > > > > > > > >
> > > > > > > > > > > Yes. Please find the details of the servers below. I
> am executing the command from one of the new servers.
> > > > > > > > > >
> > > > > > > > > > I find it very hard to believe this. Shall I look at the
> version control when backup was added as option to doveadm?
> > > > > > > > > >
> > > > > > > > > > 2.2.36 has it:
> > > > > > > > > >
> > > > > > > > > > [root at ketola ~]# dovecot --version
> > > > > > > > > > 2.2.36.8 (0c9d56b41)
> > > > > > > > > > [root at ketola ~]# doveadm backup
> > > > > > > > > > doveadm backup [-u <user>|-A] [-S <socket_path>] [-fPRU]
> [-l <secs>] [-r <rawlog path>] [-m <mailbox>] [-g <mailbox_guid>] [-n
> <namespace> | -N] [-x <exclude>] [-s <state>] [-t <start date>] -d|<dest>
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Sami
> > > > >
> > >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20200728/0fe7f9b2/attachment-0001.html>
More information about the dovecot
mailing list