Beberapa bulan yang lalu, saya beserta rekan saya Raihan melakukan upgrade dan migrasi Zimbra di salah satu klien. Total usernya tidak terlalu banyak. Sekitar 5000 account. Ditambah 500 an account sebagai tambahan. Total servernya sekitar 6-7 server. Total datanya lebih kurang 27 TB. Data tersebut merupakan data yang sudah didedup. Jika tanpa dedup, ukurannya bisa jadi 2 kali lipatnya. Bahkan lebih. Data backup bawaan Zimbra juga sudah ada. Totalnya lebih kurang 12 TB.
Yang jadi tantangan justru di sisi timeline. Timeline diset lebih kurang 1 bulan. Apakah 1 bulan cukup? bisa dibilang cukup “mepet”. Karena dalam rentang waktu tersebut, ada penyesuaian jadwal kick of meeting, persiapan server baru, dan yang lainnya. Hanya 2 minggu yang benar-benar dipakai untuk mulai proses upgrade dan migrasi.
Selain informasi di atas, OS dan versi Zimbra yang digunakan sudah obsolete. OS menggunakan RHEL/CentOS 7, dan Zimbra versi 9.
Dengan mepetnya timeline, adanya upgrade OS, upgrade Zimbra, minimum downtime, total data lumayan besar, maka dibuatlah beberapa skenario
Dengan melakukan clone cluster existing, kelebihannya adalah semua konfigurasi dan yang lainnya akan disalin sama persis. Dengan total data 27 TB dibagi 2 server mailbox (server utama), dan asumsi 1 hari 25% progress clone, maka dibutuhkan waktu 4 hari per server. Dibulatkan menjadi 7 hari. Khawatir adanya fluktuasi data yang tersalin. Itu juga kalo prosesnya lancar.
Kekurangannya, bagaimana jika ditengah jalan proses clone failed? tentu proses clone harus dilakukan dari awal. Selain itu, OS yang digunakan masih sama persis. Masih harus ada proses upgrade OS setelahnya.
Jika proses clone sukses, prosedur yang dilakukan adalah penyesuaian IP address, DNS lokal, Upgrade Zimbra ke versi terbaru. Untuk mengatasi upgrade OS, bisa dibuatkan 1 disk baru, diinstall OS terbaru pada disk tersebut, install dependensi yang dibutuhkan Zimbra, lalu install Zimbra software only. Disk yang sudah ada data Zimbra, dimounting sesuai foldernya
Skenario ini bisa dibilang cukup clean. Data backup sudah ada. Tinggal buat cluster baru sesuai dengan server sizing. OS tentu sudah menggunakan versi terbaru yang disupport oleh Zimbra. Di permukaan terlihat lebih mudah prosesnya.
Tantangan muncul ketika data backup tidak compatible dengan Zimbra versi terbaru. Data backup masih menggunakan backup Zimbra NG (kerja sama dengan Zextras). Sedangkan Zimbra terbaru, sudah tidak menggunakan backup Zimbra NG dan hanya menggunakan backup Zimbra sebelumnya (non NG). Yang harus dilakukan pada cluster baru adalah install Zextras pada Zimbra 10 dan pastikan bisa berjalan dengan baik. Mengingat Zextras sudah tidak mengeluarkan Zextras installer untuk Zimbra 10. Jika hal tersebut tidak dapat dilakukan, maka harus dilakukan backup ulang menggunakan Zimbra non-NG pada cluster eksisting dengan data sebesar 27 TB. Setelahnya, data tersebut harus direstore ke cluster baru.
Dari sisi timeline, tentu lebih lama prosesnya. Apalagi jika ada kekhawatiran backup yang gagal dipertengahan. Begitu juga dengan restorenya yang gagal dipertengahan. Mengingat datanya cukup besar. Jika itu terjadi, proses backup/restore harus dimulai dari awal
Skenario ini menggunakan beberapa tahapan dan tools. Yaitu Rsync/Rclone untuk salin data parsial dan NFS untuk mounting data yang belum tersalin. Jika goal utamanya adalah upgrade OS dan upgrade Zimbra, maka cara ini lebih cepat. Data yang belum tersalin akan diproses pasca upgrade. Waktu 1 minggu sudah cukup. Berikut tahapannya
Itulah beberapa skenario migrasi dan upgrade Zimbra yang disiapkan untuk project di salah satu klien. Masing-masing memiliki kelebihan dan kekurangannya. Yang jadi konsen utamanya adalah timeline-nya
Semoga bermanfaat 🙂