Catatan : Tulisan ini merupakan artikel yang saya kirimkan ke website Komunitas Zimbra Indonesia. Saya sempat maju mundur mengirimkannya karena khawatir scriptnya terlalu sederhana dan terlalu memalukan untuk dieskpos. Namun dengan berasumsi bahwa sederhana tak apa-apa asalkan bermanfaat, saya memutuskan untuk mempublikasikannya…
***
Salah satu masalah utama yang dihadapi selama mengelola email server adalah kemampuan untuk melakukan hot/live backup, proses backup yang dijalankan pada saat Zimbra sedang aktif.
Zimbra Mail Server versi commercial memiliki kemampuan live backup secara default. Hal ini merupakan salah satu perbedaan/feature yang tidak disertakan pada versi open source selain support online dari Zimbra dan kemampuan akses BlackBerry.
Meski demikian, versi open source bukan tanpa pilihan backup sama sekali
Berbagai script backup yang dapat diaplikasikan pada Zimbra Mail Server versi Open Source biasanya membutuhkan proses penghentian service Zimbra untuk beberapa saat. Kesemuanya dilakukan secara otomatis dan biasanya menggunakan fasilitas rsync yang mampu menyalin data ukuran besar secara cepat.
Saya pribadi, setelah mencoba berbagai skenario akhirnya memutuskan untuk menempatkan Zimbra Mail Server didalam sistem virtual semacam VMWare atau VirtualBox. Cara ini jauh lebih aman dan lebih mudah pengelolaannya dan satu hal yang menyenangkan, Zimbra Mail Server yang berjalan didalam VirtualBox openSUSE 11.1 saya bisa dibackup secara live. Hal ini bisa terjadi karena yang dibackup bukan Zimbra secara sistem melainkan image dari sistem/harddisk virtual.
Konsep ini semestinya bukan hanya dapat diterapkan di openSUSE/SLES melainkan juga pada distro lain seperti Ubuntu, Red Hat, Centos, Fedora maupun Debian.
Kemampuan backup disaat sedang aktif ini memberikan banyak manfaat, misalnya kemudahan backup dan restore serta proses penyalinan data yang berlangsung secara cepat.
Berikut adalah script sederhana untuk menjalankan backup Zimbra yang saya lakukan di email server perusahaan, dengan konfigurasi sebagai berikut :
#!/bin/bash #Hapus Layar clear echo "##################################################################################" echo "# Zimbra-virtual-backup #" echo "# Skrip untuk backup virtual image zimbra (vmware, virtualbox) secara periodik #" echo "# Masim "Vavai" Sugianto - vavai@vavai.com - http://vavai.com/blog/v2 #" echo "# Dikirimkan pada Komunitas Zimbra Indonesia - http://zimbra.web.id #" echo "# Lisensi : GPL, General Public License #" echo "##################################################################################" sourcedir="192.168.0.4::srv/hd2/vbox-zimbra/" targetdir="/srv/www/htdocs/backup/backup-zimbra/" targetutama="$targetdir/Current/" bulan_skrg=$(date '+%m') tahun_skrg=$(date '+%Y') tgl_skrg=$(date '+%d') minggu=$(($tgl_skrg/7)) #Process if [ $minggu -eq 1 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-I" mingguan="1" elif [ $minggu -eq 2 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-II" mingguan="1" elif [ $minggu -eq 3 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-III" mingguan="1" elif [ $minggu -eq 4 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-IV" mingguan="1" elif [ $minggu -eq 5 ]; then targetdir2="$targetdir`date +%Y`/`date +%m`/Minggu-V" mingguan="1" else targetdir2="$targetdir/Current/" mingguan="0" fi #buat folder mkdir -p "$targetdir/Current/" mkdir -p "$targetdir`date +%Y`/" mkdir -p "$targetdir`date +%Y`/`date +%m`/" mkdir -p $targetutama #backup proses tahap 1 rsync -avh --delete-after $sourcedir $targetutama #backup proses tahap 2 (backup mingguan) if [ $mingguan -eq "1" ]; then rsync -avh --delete-after $targetutama $targetdir2; fi #Hapus folder 1 bulan yang lalu if [ $bulan_skrg -eq 1 ] ; then vbulan=12 vtahun=$(($tahun_skrg-1)) else vbulan=$(($bulan_skrg-1)) vtahun=$tahun_skrg fi if [ $vbulan -lt 10 ]; then vbulan=0$vbulan fi if [ $minggu -eq 1 ]; then deldir="$targetdir$vtahun/$vbulan/Minggu-I" elif [ $minggu -eq 2 ]; then deldir="$targetdir$vtahun/$vbulan/Minggu-II" elif [ $minggu -eq 3 ]; then deldir="$targetdir$vtahun/$vbulan/Minggu-III" elif [ $minggu -eq 4 ]; then deldir="$targetdir$vtahun/$vbulan/Minggu-IV" else deldir="$targetdir$vtahun/$vbulan/Minggu-V" fi rm -rf $deldir #mail -s "ini subject" "vavai@vavai.com" < "Test konfirmasi backup Zimbra"
Kalau malas mengetik, silakan download script-backup-zimbra
dudi May 16th, 2009, 7:57 pm
aku kurang setuju kalo backup mail server masih berada dalam satu mesin yang sama (physic), walaupun secara logic berbeda (virtual).
Kalo servernya benar-benar rusak fisik, misal mati listrik atau hdd badblock, otomatis mail backup belum tentu berfungsi dengan baik, apalagi kalo host ataupun guest mati dua2nya. pasti email dari luar gak akan pernah bisa masuk.
Khusus untuk primary dns dan secondary DNS serta untuk primary mx dan secondary mx kalo menurutku ada baiknya dipisah secara fisik karena pertimbangan seperti diatas.
eh, tapi memang beda-beda sih caranya orang. hehehe
Vavai May 16th, 2009, 9:29 pm
@Dudi,
Lho, skenario diatas juga kan memang beda mesin boss, bukan sekedar beda antara host dengan guest.
Dalam contoh diatas, IP 192.168.0.4 adalah server host (openSUSE 11.1) sedangkan Zimbra ada di guest dengan IP 192.168.0.10.
Server backup adalah server lain yang ada secara fisik di komputer lain dengan IP 192.168.0.7
Mengenai backup MX, saya menggunakan Zimbra dengan Google Apps dan ISP relay jadi semestinya cukup aman jika ada problem di server Zimbra sendiri.
Anyway, thanks buat reminder dan masukannya.
david May 16th, 2009, 10:29 pm
Pak, kapan nih release replicate server u/ zimbra nya? Supaya backup MX nggak numpang2 lagi
Yang sudah di wikinya zimbra susah implementasinya (*saking malesnya)
Ditunggu how to lang ID-nya
Regards.
dudi May 16th, 2009, 10:33 pm
owh.. kirain itu topologi di atas itu hanya topologi logic untuk mesin virtual, ternyata bukan to. hehehe.. maaf maaf.
kirain ip 192.168.0.4 dan 192.168.0.7 itu dalam satu mesin yang sama.
vavai May 17th, 2009, 6:00 am
@David,
Menyusul, perlu di proof-reader dulu alias ditesting dulu supaya tulisannya benar-benar applicable
david May 17th, 2009, 8:08 am
Siyap menanti Pak….
Butuh tester saya jg siyap klo dibutuhkan
Thanks responnya….
Regards.