Dsync migration with shared folders

Γιώργος Δημακόπουλος
Mon, 06 Feb 2017 17:28:54 -0000

Hi everyone,

We discovered that the migration path from a VPS to our 2XHP replication
server environment with shared folders should be:

1) Rsync all domains from the VPS to serverA. Then rsync all domains from
ServerA to ServerB. ServerA & ServerB are in a identical state.
2) Create an empty directory for the shared indexes
3) Start dovecot on both machines.

If we did not sync both machines then dsync could not replicate the domains
that contained shared folders.

What is the right migration process for domains with shared folders ?

Regards,
George
g.dimakopoulos at sophimail.com

dovecot -n
-------------------------
# 2.2.27 (c0f36b0): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: FreeBSD 11.0-RELEASE-p2 amd64  zfs
auth_mechanisms = plain login
auth_verbose = yes
default_client_limit = 2560
default_process_limit = 512
dict {
acl = mysql:/usr/local/etc/dovecot/dovecot-shared-sql.conf.ext
quota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
}
doveadm_password =  # hidden, use -P to show it
doveadm_port = 12345
log_path = /var/log/dovecot.log
mail_debug = yes
mail_home = /usr/local/vhosts/mail/%d/%n
mail_location = maildir:/usr/local/vhosts/mail/%d/%n:LAYOUT=fs
mail_max_userip_connections = 70
mail_plugins = quota acl notify replication
mail_privileged_group = vmail
mail_shared_explicit_inbox = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags
copy include variables body enotify environment mailbox date index ihave
duplicate mime foreverypart extracttext
mbox_write_locks = fcntl
namespace {
inbox = no
list = children
location = maildir:/usr/local/vhosts/mail/%%d/%%n:LAYOUT=fs:INDEX=/
usr/local/vhosts/indexes/%d/%n/shared/%%u:INDEXPVT=/usr/
local/vhosts/indexes/%d/%n/shared/%%u
prefix = shared/%%d/%%n/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
inbox = yes
list = yes
location mailbox Drafts {
  auto = subscribe
  special_use = \Drafts
}
mailbox Junk {
  auto = subscribe
  special_use = \Junk
}
mailbox Sent {
  auto = subscribe
  special_use = \Sent
}
mailbox Trash {
  auto = subscribe
  special_use = \Trash
}
prefix separator = /
type = private
}
passdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
acl = vfile
acl_shared_dict = proxy::acl
mail_replica = tcp:mx1
quota = dict:User quota::proxy::quota
quota_rule2 = Trash:storage=+100M
sieve = /usr/local/vhosts/mail/%d/%n/.dovecot.sieve
sieve_before = /usr/local/vhosts/sieve/before.d/
sieve_dir = /usr/local/vhosts/mail/%d/%n
sieve_global_dir = /usr/local/vhosts/sieve/%d
sieve_global_path = /usr/local/vhosts/sieve/%d/default.sieve
}
protocols = imap lmtp sieve sieve
service aggregator {
fifo_listener replication-notify-fifo {
  mode = 0666
  user = vmail
}
unix_listener replication-notify {
  mode = 0666
  user = vmail
}
}
service auth-worker {
user = vmail
}
service auth {
unix_listener /var/spool/postfix/private/auth {
  group = postfix
  mode = 0666
  user = postfix
}
unix_listener auth-userdb {
  mode = 0600
  user = vmail
}
user = dovecot
}
service config {
unix_listener config {
  user = vmail
}
}
service dict {
unix_listener dict {
  mode = 0600
  user = vmail
}
}
service doveadm {
inet_listener {
  port = 12345
}
user = vmail
}
service imap-login {
inet_listener imap {
  port = 143
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
  group = postfix
  mode = 0600
  user = postfix
}
}
service managesieve-login {
inet_listener sieve {
  port = 4190
}
process_min_avail = 0
service_count = 1
vsz_limit = 64 M
}
service replicator {
unix_listener replicator-doveadm {
  mode = 0666
}
}
userdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
mail_plugins = quota acl notify replication sieve
}
protocol lda {
mail_plugins = quota acl notify replication sieve acl
postmaster_address = root
}
protocol imap {
imap_client_workarounds = tb-extra-mailbox-sep
mail_plugins = quota acl notify replication imap_quota imap_acl
}
ssl_cert ssl_key =