Sunday, January 29, 2017

Attempting to upgrade VMware vSphere Data Protection from 6.1.2 to 6.1.3 displays: “To upgrade your VDP appliance, please connect a valid upgrade ISO image to the appliance.”

Problem

You’re attempting to upgrade your VDP appliance from 6.1.2 to 6.1.3:

image

… but notice the following message after mounting the upgrade ISO and navigating to the Upgrade tab:

To upgrade your VDP appliance, please connect a valid upgrade ISO image to the appliance.

You’ve confirmed that the upgrade ISO is not corrupted and can see the files in the file when using utilities such as WinRAR to browse it.

Solution

A quick search on the internet appears to suggest that this has been a problem since version 6.1 of the VDP appliance and the way to get around this issue is to manually mount the ISO via commands through an SSH session.  The following are two posts that I found helpful:

VMware vSphere Data Protection – Upgrade 6.1.2 to 6.1.3 ISO not detected
http://www.stephenwagner.com/?p=1107

ISO Package Not Available During VDP Upgrade From 6.1
http://www.virtuallypeculiar.com/2016/12/iso-package-not-available-during-vdp.html

My first attempt to resolve the issue was to use the first post but while using VI to edit the /etc/auto.mnt file to mount the ISO worked to get the ISO mounted for the install, it was too cumbersome to repeat during the install when you had seconds to remount the ISO because it gets dismounted.  The single line command supplied in the second post was much easier.  The following are steps to perform the upgrade:

Step #1 – Backup VDP Appliance

It is extremely important to backup the appliance before performing the upgrade appliance as every failed upgrade I experienced rendered the appliance unusable so begin by shutting down the VDP appliance and change ALL the disks aside from Disk 1 to Dependent – Dependent disks are included in snapshots:

image

Once the disks have been changed to Dependent mode, snapshot the virtual machine to create a rollback point.

Step #2 – Power on VDP Appliance and Mount ISO

Ensure that the upgrade ISO is uploaded to a datastore to avoid an upgrade failure due to mounting the ISO through a remote console and either the desktop you’re upgrading with crashes or vCenter gets restarted causing the ISO to disconnect from the VM.

SSH to the VDP appliance’s IP address and execute the command:

df -h

Note the lack of the device /dev/sr0 in the screenshot below:

image

Mount the attached ISO by executing the command:

mount /dev/sr0 /mnt/auto/cdrom

Note the confirmation:

mount: block device /dev/sr0 is write-protected, mounting read-only

Executing df -h will now display the line item:

/dev/sr0 5.1G 5.1GB 0 100% /mnt/auto/cdrom

Browsing the directory with the commands:

cd /mnt/auto/cdrom

ls

Will display the contents of the upgrade ISO:

vSphereDataProtection-6.1.3.avp

version.properties

image

Step #3 – Start the Upgrade

Viewing the VDP Upgrade tab on administration console at https://<VDPapplianceIP>:8543/vdp-configure/ will now display the following:

Package verification in progress. This may take a few minutes…

image

The page should display the upgrade package after a few minutes:

VSphereDataProtection7280

Status: ready

Priority: normal

Version: 6.1.3.70

image

Start the upgrade:

image

image

image

Step #4 – Prepare to remount ISO at 71%

This step is extremely important because it takes quite a bit of time for the upgrade process to reach 71% which will eventually dismount the ISO.  Failure to remount the ISO within the 10 second span would cause the upgrade to fail and the appliance to be unusable requiring you to revert back to the previous snapshot.

Copy the following command to prepare to remount the ISO:

mount /dev/sr0 /mnt/auto/cdrom

Monitor the progress bar and as soon as it reaches 71%:

image

… execute df -h to determine whether the ISO has been dismounted and as soon as it has, execute the command to mount the ISO.  Note that the command may appear to fail the first few times but keep repeating the execution and you will eventually mount the ISO:

mount: mount point /mnt/auto/cdrom does not exist

image

The installation should continue to 72% if you have mounted the ISO in time:

image

At around 84%, the console would go back to the login page allowing you to log back in showing services are stopped and ISO not attached in the Upgrade tab but executing df -h in the SSH you have opened indicates it still is.  Reviewing the console of the VDP doesn’t show any changes:

image

Wait a bit longer and you will eventually get kicked out again and this time logging in will show more services started with the ISO attached again.  vCenter should show tasks performed on the as well:

image

From this point, give appliance maybe 10 more minutes just to be safe and proceed to reboot it.  You should be able to successfully connect to the appliance via the vSphere Web Client and see the version is now 6.1.3 in the console:

image

image

image

Step #5 – Verify VDP and delete snapshots

Proceed to verify that VDP appliance to ensure that it operates as expected, then proceed to delete the snapshots and change the disks back to Independent – Persistent.

1 comment:

Stefan Radman said...

Hi Terence,

The problem with ISO detection is actually in /etc/udev/rules.d/70-persistent-cd.rules
It assigns the IDE CD drive to the wrong alias (/dev/cdrom1).

There is an easy fix:
# rm /etc/udev/rules.d/70-persistent-cd.rules
# reboot

This will detect the drive upon reboot, re-write the udev rules and assign it to /dev/cdrom, where the automouter picks it up.
Verified during the update from 6.1.3 => 6.1.4

Stefan