Upgrading a PC to SSD (Crucial MX200)

The trigger for me was Visual Studio 2015 – a large software installation – which I managed to break by installing some beta software. I couldn’t fix it easily, and knew I would have to uninstall it completely and then reinstall, which takes ages.

One thing that speeds up this kind of thing is to use an SSD instead of a hard drive. I already use SSD on my laptop, but my PC had two 1TB WD Black hard drives in a RAID configuration.

I ordered a 1TB Crucial MX200 SSD. While I could have managed with a smaller one, the larger size is worth it for me if only for the convenience of not having to spend time uninstalling stuff and reorganising my existing drive to free up enough space to downsize.

image

This 2.5″ SSD drive comes with a spacer and a code for downloading Acronis True Image. I did so, and used it to clone the existing drive. It took several hours but worked perfectly.

This PC is nearly four years old and based on an Intel Core i5. It has recently been upgraded to Windows 10. I am more than happy with the performance of the SSD. Here are the figures from CrystalDiskMark:

image

Here are the results from my old 1TB WD Black RAID:

image

There are not many upgrades that will get you such a dramatic performance improvement, and for me it made reinstalling Visual Studio 2015 substantially less painful.

I no longer have RAID on the C drive. The SSD according to Crucial [PDF] has an MTTF of 1.5 million hours (170 years or so) and “endurance” of 320TBW, equivalent to 175GB per day for five years. The implication is that after 320TB has been written, the drive will sill work but will be read-only. I don’t take much notice of such claims, but I can accept that today’s SSDs are more reliable than hard drives. If it fails though, I doubt that any data can be coaxed out of it, as you can often do with a hard drive. Even with RAID though you still need a backup strategy, so I will now be relying on that.

Hard drives are still useful for storing lots of stuff in a NAS (Network Attached Storage) but I can’t see myself using them again as the primary drive in a PC or laptop.

Notes from the field: unexpected villain breaks Dynamics CRM and IIS on Windows Server 2012

Yesterday I was asked to convert a Dynamics CRM 2013 installation from an internal to an Internet Facing Deployment (IFD). It is a bit fiddly, but I have done this before so I was confident.

The installation in question is only for test; the company has its production CRM 2011 on another server. Because it is for test though, it is a small deployment on a single server.

I got to work running the Claims Based Authentication wizard in the CRM Deployment Manager but also noticed something odd about the server. WSUS (Windows Server Update Services) was installed though it was not in use. This seems a bad idea so I asked if I could remove it. Sure, it was just a quick experiment. I removed WSUS and got on with the next steps of configuring IFD.

Unfortunately ADFS 2.0 (in this case) would not play ball. It could not communicate with CRM. I quickly saw why: attempting to browse to the special FederationMetadata.xml URL raised a 500 error.

I tried a few things. There are plenty of odd things that can go wrong: permissions on the private keys of the certificate used for the CRM web site, Service Principal Names, incorrect DNS entries and so on. All seemed fine. Still the error.

I decided to backtrack and temporarily disable Claims Based Authentication. Unfortunately it appeared that I had broken CRM completely. All access to the site raised the same 500.19 IIS error.

image

The web page IIS delivers says that the most likely causes are that the worker process is unable to read the ApplicationHost.config or web.config file, or malformed XML in the applicationhost.config or web.config file, or incorrect NTFS permissions.

I did a repair install on CRM. I reapplied the rollups. No difference.

I ran Process Monitor to try to figure out what configuration file was causing the problem. It was not a great help, but did point me in the right direction to the extent that it seemed that ASP.NET was not working properly at all. I now focused on this rather than CRM itself, observing also that there were not many CRM-related errors in the event log and I would expect more if it was really broken.

I created a hello world ASP.NET application and installed it in a separate site on a different port. Same error.

Searching for help on this particular error was not particularly helpful. In the context of CRM, the few users that encountered something similar had reinstalled everything from scratch. However, now at least I knew that IIS rather than CRM was broken. This helpful MSDN article actually includes a hint to the solution:

For above specific error (mentioned in this example), DynamicCompressionModule module is causing the trouble. This is because of the XPress compression scheme module (suscomp.dll) which gets installed with WSUS. Since Compression schemes are defined globally and try to load in every application Pool, it will result in this error when 64bit version of suscomp.dll attempts to load in an application pool which is running in 32bit mode.

which is also referenced here. These refer to WSUS breaking 32-bit applications, but in my case after removing WSUS neither 64-bit nor 32-bit apps were running.

Let me put it more clearly. If you remove WSUS using the role wizard in Server Manager, a number of bits get left behind, including a setting in ApplicationHost.config (in /System32/Inetsrv) that breaks IIS.

So it was my attempt to clean up the server that had made it worse.

That said, this is also a Windows Server failure. Adding and removing a role should result as far as possible in no change.

Once identified, the problem is easy to fix (this is often true). Still, several hours wasted and more evidence for Martin Fowler’s assertion that you should automate server configuration and spin up a new one from scratch when you want to make a change, to avoid configuration drift. There is a more detailed post on the same theme – Phoenix servers that rise from the ashes, not snowflake servers that are unique and ugly – here.

In a small business context this perhaps is harder to achieve – though the cost of entry gets lower all the time, through either cloud computing or internal virtualization platforms.

Windows 10: My Surface Pro is mocking me

I have a Surface Pro, first version, still a reasonable spec with Core i5 and 4GB RAM, though the 128GB SSD is too small and a frustration.

Still, Microsoft hardware, Windows 8.1 installed and in good shape, Windows 10 upgrade will be a breeze?

Now, I know there is an ISO route that would probably work but I decided to wait for the upgrade to arrive via Windows Update since I have yet to see this run successfully. In due course the GWX (Get Windows 10) update sprang to life and said my upgrade was ready.

image

Note that in anticipation of the big day I had freed over 10GB of disk space which should be enough, right?

The upgrade failed though.

image

Well, I understand that things go wrong sometimes; but note that Microsoft has not seen fit to give us any log entries to give a clue about what might be going wrong, just an error code and a useless link that leads to generic Windows Update troubleshooting tips.

I did try a few things. Freeing more disk space. Resetting Windows Update. The famous sfc /scannow beloved of generic forum respondents. I was rewarded for my efforts with a variety of different error codes but the same outcome.

Now my Surface is mocking me. Every time I boot up, I get the little pop up assuring me that my upgrade is ready. Every time I shutdown I am am invited to “update and restart”, the machine attempts to install Windows 10, and then again it fails.

I guess I should get the message: this is not going to work.

image

Again, I know there is an ISO route and I guess I will have to use it; but while I am not really surprised, it is disappointing that even on first-party hardware the automatic upgrade is so problematic.

Postscript

I am not sure what changed, but I tried the update again a couple of days ago and it worked. This is the first time I have successfully upgraded a PC to Windows 10 via Windows Update.

image