Beberapa waktu lalu saya diminta melakukan pengujian migrasi NAKIVO Backup & Replication ke server baru. Tujuan pengujian ini adalah memastikan apakah konfigurasi seperti inventory, credentials, job backup, job replikasi, dan schedule dapat dipindahkan tanpa harus dibuat ulang.
Pengujian dilakukan menggunakan dua server, yaitu nakivo sebagai server lama dan nakivo2 sebagai server baru. Inventory yang dikelola terdiri dari dua server Proxmox, yaitu pve-nakivo dan pve-nakivo2, dengan backup tersimpan pada Onboard Repository.
Memahami Cakupan System Configuration
NAKIVO menyediakan fitur Export System Configuration untuk memindahkan konfigurasi Director ke instance baru. Berdasarkan dokumentasi NAKIVO, konfigurasi yang ikut dipindahkan mencakup inventory, job, credentials, dan Transporter settings.
Pada pengujian ini, konfigurasi berikut berhasil terbawa ke NAKIVO baru:
- Inventory Proxmox yang sudah didaftarkan.
- Credentials.
- Backup job dan replication job.
- Schedule dan retention setiap job.
- Konfigurasi Transporter.
- Referensi atau konfigurasi Backup Repository.
Namun, export system configuration tidak membawa data fisik yang tersimpan di Backup Repository. Artinya, file backup dan recovery point tetap berada di storage server lama dan harus dipindahkan secara terpisah.
Fitur ini juga ditujukan untuk migrasi, bukan sebagai backup konfigurasi rutin. Saat export dilakukan, aktivitas yang sedang berjalan akan dihentikan dan seluruh job pada NAKIVO lama akan dinonaktifkan. Setelah export, sebaiknya jangan menjalankan kembali job pada instance lama jika migrasi akan dilanjutkan ke instance baru.
Referensi: System Migration – NAKIVO Help Center.
Export Konfigurasi dari NAKIVO Lama
Sebelum export, saya memastikan tidak ada proses backup, replikasi, recovery, maupun repository maintenance yang sedang berjalan.
Proses export dilakukan melalui menu berikut:
- Buka Settings.
- Masuk ke General > System Settings.
- Pilih tab Configuration.
- Klik Export System Configuration.
- Pilih Include indexing data jika data indexing juga ingin dipindahkan.
- Pilih Encrypt system configuration untuk melindungi credentials di dalam bundle.
- Masukkan password, kemudian jalankan export.
- Download export bundle setelah proses selesai.


NAKIVO lama kemudian tidak digunakan untuk menjalankan job agar tidak terjadi perbedaan status antara Director lama dan Director baru.
Import Konfigurasi ke NAKIVO Baru
Pada nakivo2, saya memasang NAKIVO Backup & Replication dengan versi dan build yang sama. Import dilakukan melalui:
- Buka Settings.
- Masuk ke General > System Settings.
- Pilih tab Configuration.
- Klik Import System Configuration.
- Pilih export bundle dari server lama.
- Masukkan password bundle.
- Klik Import, kemudian Proceed.


Setelah proses selesai, inventory, credentials, backup job, replication job, dan schedule dari NAKIVO lama muncul pada NAKIVO baru. Konfigurasi yang sudah ada sebelumnya pada server baru akan ditimpa oleh konfigurasi dari bundle.
Memindahkan Data Onboard Repository
Walaupun konfigurasi repository sudah terbawa, data backup belum berada pada server baru. Dan masih menunjukkan issue

Lokasi repository pada server lama adalah:
/opt/nakivo/repository/NakivoBackup
Pada server baru, repository saya tempatkan di:
/backup-nakivo/NakivoBackup
Sebelum menyalin data, repository harus dipastikan tidak sedang digunakan oleh job dan sebaiknya di-detach terlebih dahulu. Seluruh folder NakivoBackup kemudian disalin tanpa mengubah atau menghapus file di dalamnya.
Penyalinan menggunakan rsync:
rsync -aHAX --numeric-ids --info=progress2 \
/opt/nakivo/repository/NakivoBackup/ \
root@<IP-NAKIVO-BARU>:/backup-nakivo/NakivoBackup/

Saya memilih menyalin data terlebih dahulu, bukan langsung menghapus repository lama. Dengan demikian, salinan lama masih dapat digunakan sebagai cadangan sampai repository baru berhasil diverifikasi.
Referensi: Moving a Backup Repository to a New Location.
Menyesuaikan Repository pada NAKIVO Baru
Repository hasil import kemudian diedit melalui Settings > Repositories. Assigned Transporter diarahkan ke Onboard Transporter milik nakivo2, sedangkan path diisi dengan:
/backup-nakivo
Path yang dimasukkan adalah direktori induk, bukan /backup-nakivo/NakivoBackup, karena NAKIVO akan mencari folder NakivoBackup di dalam lokasi tersebut.


Jika repository tidak muncul setelah import, repository dapat didaftarkan melalui Settings > Repositories > Add existing backup repository. Pilih Local Folder, tentukan Transporter, lalu masukkan path /backup-nakivo.
Referensi: Adding Existing Backup Repositories.
Error Permission Saat Self-Healing
Saat menjalankan self-healing, muncul error berikut:
Self-healing of the "Onboard Repository" has failed
Reason: The "Onboard transporter" transporter cannot read and/or
write to the specified location (/backup-nakivo).
Pemeriksaan permission menunjukkan kondisi berikut:
# Server lama
drwxrwxrwx root root /opt/nakivo/repository
drwxrwx--- bhsvc bhsvc /opt/nakivo/repository/NakivoBackup
# Server baru
drwxr-xr-x root root /backup-nakivo
drwxrwx--- bhsvc bhsvc /backup-nakivo/NakivoBackup
Folder NakivoBackup sudah dimiliki oleh bhsvc, tetapi folder induk /backup-nakivo masih dimiliki root:root dengan permission 755. Akibatnya, Onboard Transporter dapat membuka folder tersebut, tetapi tidak memiliki hak tulis pada lokasi yang didaftarkan sebagai repository.
Permission dapat disamakan seperti server lama menggunakan chmod 777, tetapi pilihan yang lebih aman adalah memberikan akses hanya kepada user dan grup service NAKIVO:
chown bhsvc:bhsvc /backup-nakivo
chmod 770 /backup-nakivo
Verifikasi Akhir
Sebelum mengaktifkan kembali seluruh schedule, beberapa pemeriksaan yang perlu dilakukan adalah:
- Inventory Proxmox dapat di-refresh.
- Onboard Transporter berstatus online.
- Repository berstatus attached dan accessible.
- Backup VM serta recovery point lama dapat ditampilkan.
- Self-healing selesai tanpa error.
- Satu file atau VM dapat dipulihkan sebagai pengujian.
- Satu backup job dapat dijalankan secara manual.
- Satu replication job dapat dijalankan secara manual.
- Schedule berjalan dari NAKIVO baru tanpa ada job aktif pada NAKIVO lama.

Kesimpulan
Dari pengujian ini, export dan import system configuration dapat memindahkan konfigurasi utama NAKIVO seperti inventory, credentials, job backup, job replikasi, dan schedule. Namun, proses tersebut tidak memindahkan data fisik pada Onboard Repository.
Data repository tetap harus disalin atau dipindahkan secara manual, kemudian path, Assigned Transporter, ownership, dan permission disesuaikan pada server baru. Hal penting yang saya temukan adalah permission folder NakivoBackup saja belum cukup; user bhsvc juga harus memiliki akses baca dan tulis pada direktori induk yang didaftarkan sebagai lokasi repository.






