Here is a list of the posts I plan on making as a part of this migration. I may add some but this is the basic framework -
Step 2 – Migrate Gallifrey (DC) – including making “primary” DC, FSMO role holders, and using the Azure CMD line tools
Step 3 – Migrate Azjol-Nerub (web server) – including verifying that all web sites stay online and web re-directs are active.
Step 4 – Migrate remaining virtual machines – including verifying all connectivity
Step 5 – Deploy new VM’s to support personal projects
Step 6 – Start planning secondary support domain for cloud based lab (this will get broken into several distinct posts)
Today’s Post is -
Step 1 - Clean up, patch, backup and prepare machines for migration
After almost 2 decades in the computer and software industry, I am still surprised by how many people just dive headlong into major updates or changes to their networks without making sure things are backed up an running properly first. Doing some pre-work can save hours and hours of frustrating trouble-shooting down the line. Here is what I am doing on every machine in my network -
Perform a Full Backup
Check Update Status – Apply Critical Updates and other updates as needed
Check the Event Logs – Clean up any critical errors
Clean up Files – Delete unnecessary files to speed up copy of machines to Azure (Be Sure to Empty the Recycle Bin!)
Reboot Machines (if possible)
Check Event Logs – Just to make sure we didn’t break anything during clean-up
Perform a Full Backup
Perform a Full backup
You can use whatever you like for backup up your machines and data. I recommend using a backup method that allows for a bare metal restore of the exact server at the time of backup. Depending on the type of production loads you have on a server, this is easier on some machines than others. In my case, I am shutting down the virtual machines, copying ALL files related to the VM to a safe location. Then spinning the virtual machine backup. However, if you have implemented System Center Data Protection Manager, you can capture entire VM’s (in most cases) while they are online. Other 3rd party backup/restore applications have the same capability.
Check Update Status
Since I am going to be first migrating a domain controller (gallifrey) that is only used as a DC, and is a machine that I perform updates on regularly, I don’t have much I need to do. Just check for the latest updates and apply them, then reboot if needed. For most true production environments, additional planning will be necessary since we can’t just reboot at will. Plan accordingly.
In my case, the last major update I did to gallifrey was about 40 days ago (yeah yeah yeah….a little behind!). I have all machines in my household set to download and notify with the exception of a few client machines that are set to auto-install. It came out to about 200 megs of downloads because we had a big Patch Tuesday a couple weeks back. I simply downloaded, installed, rebooted then check Windows Update again to make sure there were no dependency updates to perform.
Everything worked fine on my system so I am moving on to….
Check the Event Logs
How far you dig into your event logs depends upon what the server is responsible for. At the very minimum you should look at the System and Application logs. if you have other Windows Roles enabled, you may wish to look at the event logs for those roles as well. Since gallifrey is a DC, I will also be looking at the Active Directory Domain Services and DNS logs.
System Log – Clean – For me, the only RED errors were related to connecting via terminal services and trying to map a printer. There was nothing else that needed to be resolved.
Applications Log – Clean – As in almost perfect. I had to go all the way back to May 13th before I found a Yellow Warning and that was a Group Policy notification. There was nothing else that needed to be resolved.
Active Directory Domain Services – Some older minor issues related to AD and DNS. These popped up a few weeks ago when I added the Directory Synch machine for my Active Directory: Differences Between On Premise and In the Cloud blog post. There was nothing else that needed to be resolved.
DNS - Some older minor issues related to AD and DNS. These popped up a few weeks ago when I added the Directory Synch machine for my Active Directory: Differences Between On Premise and In the Cloud blog post. There was nothing else that needed to be resolved.
Clean up Files
Note – You may have asked why I started off this whole thing with a “Perform Full Backup” option…..this section is the primary reason why…
This is going to sound freakish, but I enjoy rooting around in my machines to get rid of old stuff. There is something wholly satisfying about emptying your Recycle Bin and regaining a massive amount of disk space. Plus, I seem to always run across something I lost, something that is cool, or just discover things I didn’t know when I am poking around in the file system.
I start off by changing the Recycle Bin to a much larger size (40 gigs in my case). I do this for a couple of reasons
1) Saves time over restoring from backup if you accidentally delete something. You can just restore from the Bin
2) To satisfy that craving to see free space balloon when I empty the Bin 🙂
This machine doesn’t get used for much at all. I rarely copy any files to it and it is only a DC so pretty much everything that is on the box is necessary. But I still checked the following -
\<user name>\Downloads – This is the default location where we download everything from service packs to MP3’s. Get rid of what you don’t need
\<user name>\My Documents – For obvious reasons…..
c:\Dump – I don’t know about you, but over the years I have grown accustomed to created a “dump” folder off the root of the C: drive for the purpose of working with files. It is a short, easy to remember name at the CMD prompt and is where I tend to dump everything I download. I usually have a LOT of stuff here, but gallifrey was empty.
Any other paths you feel necessary.
Once you have verified you don’t need the files you have placed in the Recycle Bin, go head and empty it.
If you have the freedom to reboot machines, I recommend it simply because what happens at boot is different than what happens at run time. It can also reveal problems introduced by the installation/removal of a driver/software/component that do not show up until after a reboot.
If you do not have the freedom to reboot, move on to the next step
Check the Event Logs
I must not have deleted anything important because my machine came back up and all of the event logs as clear as a bell. If you rebooted, scroll back in your logs to the point of the reboot time then check forward for issues to resolve.
Perform a Full backup
Now that we have a nice clean system, the next major step is to migrate it. Since that is also a major undertaking, I recommend another full backup to capture the clean state and of course have a place to fall back to in case anything goes seriously wrong.
Next Up - Step 2 – Migrate Gallifrey (DC) – including making “primary” DC, FSMO role holder, and working with the Azure CMD Lines tools
If you want to get a jump on things, you can grab the Azure CMD lines tools here.