Whilst upgrading the home lab I also decided to rebuild from scratch. There were some challenges to overcome because I have running VMs I don’t want to shut while migrating.
My current home lab setup and the go to setup is documented here (work in progress). Basically it comes down to:
Original setup: three hosts backed with iSCSI storage for running the VMs
Temporary setup:
New vCenter with two of the three hosts configured for vSAN with connection to the iSCSI datastores
Old vCenter with one remaining host running all of the VMs
Destination setup: new vCenter with vSAN datastore
To migrate the virtual machines from the old environment (from the last remaining host to the two new hosts) I decided to take a look at the ‘Cross vCenter vMotion Utility‘. There is not a lot of documentation available at first sight but it is straightforward to set up and configure. Although I did find some things that are worth noting.
Step 1 : Running the jar
To start the Cross vCenter vMotion Utility one must run a jar file: ‘java -jar xvm-2.6.jar’.
I am running linux (Pop!_OS 18.04) as my OS. I have java version 8 and 11 installed with version 11 as default. Version 11 is not listed on the fling site as supported (Java Runtime Environment 1.8-10: See requirements). Running with version 11 (sudo java -jar xvm-2.6.jar) starts the local website on port 8080 (http://localhost:8080) but does not report back on the CLI.
Under the assumption that the java application started and failed right away, I decided to run it on my windows box which has Java Runtime environment 8 installed. The last line of feedback ‘Initialized controller with empty state’ was the same as on my linux machine. Navigating to localhost:8080 showed the Cross vCenter vMotion Utility web interface. I could now configure the application and run migrations.
It is only later when I closed the running instance on my linux box and restarting it that it showed me output on the CLI that the application started successfully.
Shell
1
2
ps-df|grep-ijava
kill-HUP9159
Output after restart:
Step 2 : Configuration
Register connections
Source vCenter
Destination vCenter
Step 3 : Migration
Add migrations
Source Site: source vCenter
Target Site: destination vCenter
Source Datacenter
Virtual Machine(s): Select one or more virtual machines
Placement Target: Cluster or Host
Target Datastore
Network Mapping(s): the utility will detect the source networks for all selected virtual machines and display a selection field for the target network
Issues
Storage vMotion?
Storage vMotion does not seem to be supported. I tried to svMotion my machines from their iSCSI based datastores to the newly created vSAN datastore but it failed.
Target Datastore: Shared datastore (same as source)
Choosing ‘Shared datastore (same as source)’ as Target Datastore fails and throws the following error:
I added the destination host and tried again but it also failed with several issues:
destination networks were not listed, only a subset were – although all were added to the distributed vSwitch
matching datastore was not found on the destination host
I could migrate to the new environment but had to select a destination datastore. This posed not much of a problem in my environment because the end goal was to get the virtual machine on the vSAN datastore.
After migrating most of the virtual machines, only two types of virtual machines were left, it felt like I could take a step back if needed. The following types were left to migrate, the vCenter VMs and the firewall VMs. The old vCenter is not needed anymore, the new vCenter and the firewall VMs are and once those are migrated I can go break down the last part of the old setup. The last host will be reset to default settings via the DCUI after which it can be added to the vSAN cluster and I can make the vSAN cluster setup complete. A tmp_vSAN_policy with no redundancy is not the way you (or me) want to run your environment, even if it is a lab environment.
Conclusion
I could not migrate from the old environment to the new environment while also doing a Storage vMotion, I needed to go in steps.
Nevertheless I’m happy to have used the Cross vCenter vMotion Utility. It did save me a lot of work, required little setup and configuration. I didn’t need to change anything to the setup of my old nor my new environment.
Well it is already more than a decade ago since I visited my first VMUGBE. I have seen the event grow from 15 visitors to more than 200. The last couple of years it is hosted in the LAMOT event center in Mechelen which is a superb venue. Ever since the first time I only missed a couple due to other obligations but when I attended I took home a lot of info, knowledge and new visions. Going to VMUGBE throughout the years have made me grow due to the sessions and the peers available.
A couple of years ago I met @kim_bottu who engaged me in becoming a #vExpert. Now two years in a row I am awarded being part of this vExpert community and VMUGBE facilitated this in a way. A lot of the Belgian vExperts come year after year and are very open people ready to chat.
These are a couple of the vExperts that will be attending this year:
Erik Schils
Stijn Depril
Tom Vallons
Maarten Van Driessen
Frederiek Van Hoornick
Luc Dekens
Jose Cavalheri
Maarten Caus
Niels Engelen
Alain Geenrits
Jurgen Van de Perre
Wouter Kursten
Hans Kraaijeveld
Johan Van Amersfoort
Harold Preyers
and …
Why should you attend?
It is a FREE #vCommunity networking event with top speakers. There is top relevant content available from CNA to Horizon View and VMware Cloud on AWS to VMware Blockchain and IOT. It is all VMware related and there is some marketing stuff yes (which make the event FREE) but most is community driven and real world examples.
There are 16 sessions in total, 3 parallel tracks with 4 sessions in the morning and 4 in the afternoon. There will be a small breakfast, a free lunch, a free BBQ and a chance to win a smartphone.
What sessions am I looking forward to?
Maarten Van Driessen (@mvandriessen) will share his knowledge from the field about VVOLS. I have never worked with VVOLS so I’m curious. My lab has Synology based storage and sadly Synology does not support VVOLS. I’m personally looking forward to this session.
Our very own Luc Dekens (@lucd) will tell you about PowerCLI. Even if you know everything about PowerCLI this is a session to attend. I have been at several Luc his sessions and for me these gave me new insights about challenges I had.
Johan van Amersfoort (@vhojan) is an easy to listen to speaker which has his session right after lunch. He will tell about a project where they used the VDI infrastructure to do a whole other thing during the nighttime. Don’t miss out on this session. I have missed this session twice so I will be now. Third time is a charm.
Last but not least the #vExpert Community session led by Stijn Depril (@sdepril). This sessions is one of the last sessions and will try to highlight why you should become a #vExpert. I will be on the #vExpert panel during this session so if you want to see me sweat (it is my first public speaking session) you should attend this session. We will share a lot of personal views and insights during this session.
I could go highlight a lot more sessions but that content is all available on https://www.vmug.be/
Key takeaways and tips:
Be there on time as the opening keynote speaker is Joe Baguley (@joebaguley) from VMware and last year it was a cool story to hear.
If you are attending, take the time to come to speak to me. I still am a shy guy.
Step out of your comfort zone, take your lunch to a table and start to chat.
Knowledge is about sharing.
Thanks
I want to thank @erikschils for all his efforts in organising the VMUGBE all these years.
I also want to thank those who have attended the previous VMUGBE events and those who will be attending this year. You are the ones that make these events a success.
I decided to upgrade the vCenter Server Appliance from 6.5 U2 to 6.7 though it is not supported, see VMware KB. As this is not supported you will NOT want go ahead with this in a production environment. Maybe I will have regrets later on too … but this is my lab environment so the alternative is to redeploy a new VCSA.
Update:
While it was not possible at the time of writing of this post. This VMware KB has been updated with the following information.
Important: vSphere 6.5 Update 2d and higher are not supported to upgrade to vSphere 6.7 Update 1. vSphere 6.5 Update 2d and higher are supported to upgrade to vSphere 6.7 Update 2. For more information, see VMware Product Interoperability Matrices.
I have applied the following knowledge base articles on the source VCSA:
The first KB was applied because the installer is failing due to a lack of disk space on the source appliance. The installer gives the opportunity to supply a location on the source VCSA to export the necessary files that facilitate the upgrade.
The second KB was applied because the VMware Directory failed during the firstboot phase after the upgrade succeeded.
I downloaded the sources for VCSA 6.7.0 but had to go and download the sources for VCSA 6.7.0a. The VCSA 6.7.0 sources stalled at 5% on VMware Identity Management Service.
I also went to change the root password expiration to no and set the administrator@vsphere.local account password to only include alphabet characters.
The installer will also fail after the first phase if the VAMI port is not reachable, the first phase will finish succesfully though. I forgot to add an exception to my firewall. You can then continue the installer by going to the VAMI interface on port 5480.
Setting up the lab in Ravello – Part 1 : the jumphost
In these series we will create a lab with multiple components, a jumphost, vcsa, esxi, a vsan enabled cluster, nsx and maybe more. The aim of the series is to learn about deploying all components onto the Ravello cloud.
Part 1: Creating the Jumphost
Part one of the series will be about creating the jumphost. I’m looking at a linux system as we do not need any license to run it and it is already available in Ravello
Creating the Ravello Application
The first step is to create an application. We will create a 0.1 version of the LAB:
Creating the Jumphost VM in the Application
Drag a ‘Xubuntu Desktop 14.04.1 with qemu-kvm pre-installed’ onto the Canvas. Once the VM has been dragged onto the Canvas, there will be an error: ‘Key pair must be supplied’
You can see that the error has its source on the General tab. To correct this a Key Pair must be created.
On the General tab – Cloud Init Configuration – Key Pair
Select the Option: Create a Key Pair
In the following screenshot you can see that I already created a Key Pair
Once created the private key will be available for download. To be able to use the private key with a ssh session from putty, you will need to convert the key.pem to key.ppk. Open puttygen and load the key.pem file and save the file as key.ppk.
Now that we have created our key pair we can save the VM and the error should disappear.
On the System tab, change the # CPU to 2 and the memory to 3 GB.
On the Disks and NICs tab we leave everything as is.
On the Services tab, Add Supplied Service. We will use this Service to connect to the VM via RDP.
A second service will be added. I changed the name to RDP and chose protocol RDP which sets the Port to 3389.
We are ready to publish the application:
Change the ‘Schedule application to stop in:’ countdown timer to ‘04:00hr’. This will give us the time to update and change the VM to our needs.
Publish will power on the VM. When Powered on we will have access to the Console. Powering on the VM takes a couple of minutes.
Customizing the Jumphost VM
Upgrades
The Console will open in a new tab. The initial password for this VM is ‘ravelloCloud’.
The first thing we will do is upgrade the VM to the latest release available. Open the ‘Byobu Terminal’.
Run the command ‘sudo apt-get update && sudo apt-get upgrade’ and confirm you want to upgrade all proposed packages. I tried do-release-upgrade first, which failed because of an apt dependency.
sudo apt-get update && sudo apt-get upgrade
Now we are ready to upgrade to the lastest release. Confirm to all new version configuration files from the package maintainer. In the end all obsolete packages can be removed and reboot when finished.
Run the command ‘sudo apt-get dist-upgrade’ and confirm you want to upgrade all proposed packages. Now your system will be fully up-to-date.
XRDP 0.9.x
Install xrdp 0.9.x so that we can connect via RDP. This will be a more pleasant way of working.
We will add a PPA (Personal Package Archive) to add the package source location to the /etc/apt/sources.list file. This will enable updates through the apt update process. We will install the latest version of xrpd from this location. At the time of writing the version integrated is in the ubuntu sources is 0.6.x. The latest stable version has quite some enhancements like shared clipboard support.
The version installed at the time of writing is 0.9.4
Create xsession file with contents xfce4-session. The latest xrdp version should be detecting the desktop environment by default but in my case it did't and wouldn't work without the following xsession file.