Core service is not available.Can't handle RDB format version 10Fatal error loading the DB: Invalid argument. Exiting. (typically /etc/systemd/system/harbor.service) is still configured to point to the old Harbor installation directory (e.g., /opt/harbor). However, the data on the disk (specifically the Redis database) has already been upgraded to a newer format compatible only with the new Harbor version.To resolve this issue, you must update the systemd service configuration to point to the correct, newer Harbor installation directory and verify that the service persists after a reboot.
1. Stop the Legacy Containers Stop and remove the currently running incompatible containers to release system locks and ports.
# Stop all running containersdocker stop $(docker ps -q)
# Prune stopped containers to ensure a clean slatedocker container prune -f
2. Verify the Correct Installation Path Locate the directory containing the docker-compose.yml file for the new version (e.g., v2.6.3).
# Example command to find the correct configurationfind / -name "harbor.yml"
Take note of this path (e.g., /home/vmware/harbor-v2.6.3/harbor).
3. Update the Systemd Service Edit the Harbor service file to reflect the correct path.
vi /etc/systemd/system/harbor.service
Update the WorkingDirectory, ExecStart, and ExecStop parameters:
[Service]# Update this to your NEW installation pathWorkingDirectory=/home/vmware/harbor-v2.6.3/harbor
# Ensure the Exec commands point to the correct compose fileExecStart=/usr/bin/docker compose -f /home/vmware/harbor-v2.6.3/harbor/docker-compose.yml upExecStop=/usr/bin/docker compose -f /home/vmware/harbor-v2.6.3/harbor/docker-compose.yml down
(Note: Adjust /usr/bin/docker compose to /usr/local/bin/docker-compose if you are using the older standalone binary).
4. Apply Changes Reload the systemd daemon to recognize the changes.
systemctl daemon-reload
5. Reboot and Verify Persistence Reboot the Virtual Machine to ensure the new configuration applies automatically and the fix is persistent.
reboot
6. Final Validation Once the VM is back online, wait approximately 60 seconds and check the container status to confirm the new version started automatically.
# Verify the service is activesystemctl status harbor
# Verify the container versions match the upgrade (e.g., v2.6.3)docker ps
Ensure that the redis and harbor-core containers are listed as Up (healthy).
cp /etc/systemd/system/harbor.service /etc/systemd/system/harbor.service.bak