Tips Migrasi Zimbra dari Sistem Operasi Lain ke Ubuntu via Rsync

Posted by

Proses pemindahan Zimbra dari sistem operasi lain ke Ubuntu ini merupakan pengalaman saat melakukan migrasi salah satu klien Excellent Zimbra VPS. Awalnya, saya ditanya oleh pak Boss Masim “Vavai” Sugianto apakah memungkinkan dilakukan pemindahan Zimbra dari sistem operasi lain (SLES, Redhat, CentOS) ke Ubuntu server?

Pemikiran saya waktu itu adalah seharusnya tidak mungkin. Karena dari sisi sistem operasi dan binary saja sudah beda. Pemindahan yang dimaksud disini adalah via RSYNC, bukan melakukan migrasi secara manual export/import account, alias, password, data dan lain lain. Namun, dari artikel yang ada di Wiki Zimbra perihal ZCS to ZCS Rsync Migration hal tersebut memungkinkan. Okelah, akhirnya saya lakukan ujicoba untuk memindahkan salah satu Zimbra VPS milik klien.

Adapun alasan kenapa dilakukan pemindahan, berikut adalah alasan dari saya pribadi :

– Sistem operasi yang digunakan adalah SLES untuk server email yang lama. Dimana nantinya SLES ini sudah tidak disupport lagi oleh Zimbra. Alhasil harus cari alternatif lain.

Adapun alasan yang diinformasikan oleh Zimbra, kurang lebih seperti berikut :

– Migrasi dari sistem 32 bit ke sistem 64 bit
– Sistem lama ditinggalkan karena berbahaya (sudah udzur), corrupt, rusak dan lain lain
– Sebagai backup rsync untuk tujuan DR
– Pemindahan dari sistem operasi EOL ke salah satu sistem operasi yang masih disupport (Ubuntu, Redhat dan CentOS)

Dari panduan ZCS to ZCS Rsync Migration dari Wiki Zimbra, saya perhatikan panduannya terlalu sulit (njelimet) dan panjang. Mungkin itu perasaan saya saja. Hehehe. Namun setelah dicoba beberapa penyesuaian dan penyingkatan proses, Alhamdulillah bisa. Berikut tahapannya

# Proses Pemindahan Zimbra
Berikut adalah proses pemindahan Zimbra. Contoh case study disini adalah pemindahan dari SLES ke Ubuntu. Namun sudah ditesting juga pemindahan dari CentOS ke Ubuntu.

[Dilakukan dikedua server] : Pastikan versi Zimbra pada SLES dan Ubuntu sama
[Dilakukan diserver baru] : Instalasi Zimbra pada Ubuntu
[Dilakukan diserver baru] : Setelah instalasi selesai, cek status service Zimbra Ubuntu dan stop
[Dilakukan diserver baru] : Sesuaikan UID dan GID Zimbra pada Ubuntu (server baru) sama persis seperti pada server lama (/etc/passwd dan /etc/group)
[Dilakukan diserver baru] : Pindahkan Zimbra pada Ubuntu yang baru saja diinstall
[code lang=’plain’]
cd /opt/
mv zimbra backup-zimbra
[/code]
[Dilakukan diserver lama] : SSH pada server Zimbra lama (SLES) dan lakukan rsync
[code lang=’plain’]
rsync -avP -e “ssh -p 22” –exclude=data.mdb /opt/zimbra root@ipserverbaru:/opt/
[/code]
[Dilakukan dikedua server] : Instalasi Virtsync untuk menyalin data.mdb dari server lama ke server baru

Catatan : File data.mdb tidak dilakukan rsync karena data yang disalin akan berubah terlebih dahulu menjadi 80 GB (sparse file). Setelah selesai disalin, baru data tersebut akan kembali lagi menjadi data sesungguhnya. Informasi perihal data.mdb ini bisa dilihat pada link berikut : https://wiki.zimbra.com/wiki/OpenLDAP_Performance_Tuning_8.0#Maximum_database_size

virtsync adalah Linux Command Line tool komersil untuk sinkronisasi data yang besar (seperti virtual machine disk image dan databases). Namun virtsync menyediakan trial selama LK 2 minggu
[Dilakukan diserver lama] : salin data.mdb dari server lama ke server baru
[code lang=’plain’]
time virtsync -v /opt/zimbra/data/ldap/mdb/db/data.mdb root@ipzimbrabaru:/opt/zimbra/data/ldap/mdb/db/data.mdb
[/code]
[Dilakukan diserver baru] : Berikan owner dan group Zimbra data.mdb yang baru saja disalin pada server baru
[code lang=’plain’]
chown zimbra.zimbra /opt/zimbra/data/ldap/mdb/db/data.mdb
[/code]
[Dilakukan diserver baru] : Lakukan zmfixperms terlebih dahulu
[code lang=’plain’]
/opt/zimbra/libexec/zmfixperms –extended –verbose
[/code]
[Dilakukan diserver baru] : Lakukan starting Zimbra
[code lang=’plain’]
su – zimbra
zmcontrol start
[/code]
# Troubleshoot
Jika pada saat menjalankan service Zimbra muncul pesan berikut : /opt/zimbra/zimbramon/lib/x86_64-linux-thread-multi/auto/Socket/Socket.so: undefined symbol: Perl_Istack_sp_ptr, lakukan instalasi paket berikut kemudian jalankan kembali service Zimbra
[code lang=’plain’]
apt-get install libdata-uuid-perl
[/code]
[Dilakukan diserver baru] : Jika instalasi package tersebut masih problem, lakukan kembali instalasi Zimbra Ubuntu dengan perintah berikut
[code lang=’plain’]
./install.sh -s
[/code]
– Jika ditanya database integrity, pilih yes
– Jika ditanya upgrade, pilih yes
– Setelah upgrade selesai, coba restart service Zimbra

Pesan Moral : Dari awal pengalaman yang saya ceritakan diatas, saya kira tidak memungkinkan. Namun ternyata hal tersebut sangat memungkinkan. Jangan pernah merasa tidak bisa apabila belum mencoba 🙂

Silakan dicoba dan semoga bermanfaat 🙂

11 comments

  1. Pagi mas Ahmad,
    mas, saat ini zimbra yg saya pake zimbra 8.6 dgn OS server SLES 11, karena khasus yg sedang rame di mail server zimbra, saya mau upgrade ke zimba 8.8 dgn OS server centos 7.
    Yang mau saya tanyain, utk point menyesuaikan UID dan GID di server baru dengan UID di server lama, apakah penyesuian ini cukup menyalin UID dan GID di server lama ke server baru atau ada proses yang harus dilakukan?
    Karena kalau saya liat, pola UID dan GID antara server lama dan server baru sptnya berbeda.
    Untuk di server lama (Server SLES 11), isinya seperti ini:
    mail:~ # cat /etc/passwd |grep zimbra
    zimbra:x:107:111::/opt/zimbra:/bin/bash
    mail:~ # cat /etc/group |grep zimbra
    postfix:!:51:zimbra
    tty:x:5:zimbra
    zimbra:!:111:

    Sementara kalau di server baru (OS Centos 7), UID dan GID:
    [root@mail zcs-patch-8.6.0_GA_1242]# cat /etc/passwd |grep zimbra
    zimbra:x:996:993::/opt/zimbra:/bin/bash
    postfix:x:995:992::/opt/zimbra/postfix:/bin/bash
    [root@mail zcs-patch-8.6.0_GA_1242]# cat /etc/group |grep zimbra
    adm:x:4:zimbra
    tty:x:5:zimbra
    zimbra:x:993:
    postfix:x:992:zimbra

    Atau, apakah bisa menyesuaikannya di file /opt/zimbra/conf/localconfig.xml? (berdasarkan ref https://blog.zimbra.com/2007/10/moving-zcs-to-another-server/ berikut)

    Terimakasih sebelumnya.

    regards

    Sigit

  2. Halo Mas Ahmad,

    Apakah memungkinkan untuk migrasi zimbra 7.2.0 dari centos ke ubuntu?
    alasan migrasi ini karena space di centos hanya tinggal < 3GB lagi dan sya ingin pindahkan sya sekalian ke server baru dengan space yg lebih besar.

    Mohon pencerahannya mas. Tengkyuuu

        1. ZeXtras bisa trial mas. Untuk panduan yang ada di link, bisa saja. Hanya saja, Ubuntu terbaru tidak support ZCS 7.2. Jika migrate via rsync, versinya harus sama

          1. Oh ya mas, sya baru nemu artikel nya mas Vavai, seperti ini ya tutor jika pakai ZeXtras? sepertinya lebih mudah implementasinya.
            karena disk nya full, nanti dest path backup nya sya coba arahkan ke external storage.
            bismillah semoga nda error, matur suwun maaas

            https://www.excellent.co.id/product-services/sles-rhel-zextras/zextras/migrasi-zimbra-mail-server-dengan-zextras-migration-tools-bagian-pertamamigration-zimbra-with-zextras-chapter-one/

            https://www.excellent.co.id/product-services/sles-rhel-zextras/zextras/migrasi-zimbra-mail-server-dengan-zextras-backup-tools-bagian-kedua/

          2. Benar mas. Panduannya di link tersebut. Jika kendalanya di kapasitas, bisa tambahkan disk kedua dan buat volume baru dan diarahkan pada disk baru tersebut path nya

  3. tambahan om command nya ditambah -S di rsync supaya ukura filenya sama karena kalau ga pake nanti ukuran filenya jadi jauh lebih gede

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.