Various questions about databases (upgrade and migration)

Egoitz Aurrekoetxea egoitz at sarenet.es
Thu Feb 14 08:46:13 EST 2019


Hi Raphaël, 

Answering below in blue for instance......

---

EGOITZ AURREKOETXEA 
Departamento de sistemas 
944 209 470
Parque Tecnológico. Edificio 103
48170 Zamudio (Bizkaia) 
egoitz at sarenet.es 
www.sarenet.es [1] 
Antes de imprimir este correo electrónico piense si es necesario
hacerlo. 

El 14-02-2019 13:27, Raphaël Halimi escribió:

> Hi,
> 
> I have a small (3 users) Cyrus IMAP server that started as a very old
> Debian (Woody or Sarge, I don't remember exactly) and that I upgraded
> through the years, and yesterday I upgraded from Jessie to Stretch
> (Cyrus 2.4.17 without caldav, to 2.5.10 with caldav).
> 
> As I had some trouble in the past with databases migrations between
> BerkeleyDB versions during some upgrades, and although Cyrus started
> without any serious problem this time (after minor tuning of some
> options in the configuration files), I still wanted to check the state
> of the databases.
> 
> So, the contents of /usr/lib/cyrus/cyrus-db-types.txt is:
> 
> ANNOTATION twoskip
> DBENGINE BerkeleyDB5.3
> DUPLICATE twoskip
> MBOX twoskip
> PTS twoskip
> QUOTA quotalegacy
> SEEN twoskip
> STATUSCACHE twoskip
> SUBS flat
> TLS DEFAULT
> TLS twoskip
> USERDENY flat
> ZONEINFO twoskip
> 
> (note that in Debian, no format is forced in /etc/imapd.conf)
> 
> So my first questions is: I thought that Cyrus had abandoned BerkeleyDB
> a long time ago for skiplist, and then twoskip. Why is it still listed
> in this file ? Is there a part of Cyrus that still uses it ? 
> 
> I SUPPOSE IT COULD SOME DEBIAN STANDARD CONFIG?. WE RUN FREEBSD AND I HAVE NEVER SEE THAT FILE. 
> 
> Now for the databases themselves. In /var/lib/cyrus the global databases
> were converted on-the-fly:
> 
> # file /var/lib/cyrus/*.db
> /var/lib/cyrus/annotations.db:  Cyrus twoskip DB
> /var/lib/cyrus/deliver.db:      Cyrus twoskip DB
> /var/lib/cyrus/mailboxes.db:    Cyrus twoskip DB
> /var/lib/cyrus/statuscache.db:  Cyrus twoskip DB
> /var/lib/cyrus/tls_sessions.db: Cyrus twoskip DB
> /var/lib/cyrus/user_deny.db:    empty
> 
> However, the user databases were not converted:
> 
> # file /var/lib/cyrus/user/*/*
> /var/lib/cyrus/user/u/user1.seen: Cyrus skiplist DB
> /var/lib/cyrus/user/u/user1.sub:  ASCII text
> /var/lib/cyrus/user/u/user2.seen:   Cyrus skiplist DB
> /var/lib/cyrus/user/u/user2.sub:    ASCII text
> /var/lib/cyrus/user/u/user3.seen:   Cyrus skiplist DB
> /var/lib/cyrus/user/u/user3.sub:    ASCII text 
> 
> CYRUS 2.4 CONVERTED DATABASES ON THE FLY. CYRUS 2.5 AND NEWER DON'T. YOU SHOULD LAUNCH A "RECONSTRUCT -R -V MAX" FOR THAT PURPOSE.
> 
> So my next questions are: why are the databases still in skiplist
> format, whereas according to /usr/lib/cyrus/cyrus-db-types.txt, they
> should be twoskip ? Why didn't Cyrus convert them on-the-fly like the
> global databases ? Do I have to manually do it myself ? And if I do
> convert them, will it change anything (performance, reliability, etc etc) ? 
> 
> AS SAID PERHAPS IS A DEBIAN DERIVED CONFIG FOR THE PACKAGE. YES YOU SHOULD WITH THE COMMAND ABOVE.
> 
> Also, what about the various databases in the mail directories
> (cyrus.cache, cyrus.header, cyrus.index) ? For most of them, the "file"
> command only reports "data". What format are they actually in ? Do I
> have to convert them too ? 
> 
> SURE... JUST LAUNCH A RECONSTRUCT -R -V MAX...
> 
> My last question is about a planned migration of this home server to a
> hosted private server. This old server and the new one are now both
> Debian Stretch and thus, have the same Cyrus version, but they're not
> the same architecture: the old one is i386, and the new one is amd64.
> 
> When I mill migrate, will I have to convert the databases through the
> flat format and back, or can I blindly copy the whole contents of
> /var/spool/cyrus and /var/lib/cyrus to the new server and expect it to
> work out of the box ? 
> 
> WHEN DOING SUCH A MIGRATION, IT WOULD BE BETTER TO SETUP A REPLICATION BETWEEN THE 2.4 AND THE NEW 2.5 IN THE HOSTING. YOU SHOULD ENCRYPT THAT COMMUNICATION. YOU COULD USE THE OWN CYRUS ENCRIPTION FOR REPLICATION OR SOMETHING LIKE OPENVPN. ALTHOUGH IT SHOULD WORK, I WOULDN'T COPY DIRECTLY (WITH AN RSYNC OR SCP) THE FILES.
> 
> Thanks a lot in advance for your answers.
> 
> Regards, 
> 
> CHEERS!
> ----
> Cyrus Home Page: http://www.cyrusimap.org/
> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
> To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus
 

Links:
------
[1] http://www.sarenet.es
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/info-cyrus/attachments/20190214/39d23eb7/attachment.html>


More information about the Info-cyrus mailing list