About Server Migration
Last weekend is not a great weekend for me. I have to stay overnight in office to handle server migration with my collague. Here’s the case, my office planned to relocate its building to Sudirman, and the IT Data Center is relocated there also.
All BPM (Business Process Management) Server that run on Windows Server 2003 also migrated to Windows Server 2008, so all BPM Application made by my team has to be slightly modified to adapt to the new server.
Why Windows 2008? There’s a lot of consideration, and the 64-bit support was the main reason.All new server run on Itanium-64 with 8 GB RAM, a number that 32-bit OS can’t handle. Maximum RAM size for 32-bit OSes (Windows XP, Vista 32-bit, Server 2003 32-bit, Linux on 32-bit kernel) are 4 Gigabyte.
There are few problem in migration, though. So I will give you few advice from dummies :
- Whatever you heard from Technical Sales Consultant about how easy migrating will be, don’t believe them. When do you ever trust salesman words anyway?
- Relocating is only about networking, redefine connection, clustering and stuff I don’t really understand about networking. Hey, I already have bad times in developing application and giving supports, I don’t have time to understand about networking, clustering and stuff.
- Migration or upgrading server in other hand is another stuff. There always be something wrong. Trust me!
- There are some issues regarding running 32-bit application in 64-bit OS. First you must make sure your application will run in 32-bit enviroment. For Web Application running in IIS this is a tricky situation. I will explain it later.
The migration migrain preparation
Now, for the story. First of all, make sure the network, cluster, server and all other IT infrastructure are up running and stable. Deploying application in unstable infrastructure is like building house in the middle of earthquake. But, IT works is all about doing the impossible, though.
In the mist of unstable infrastructure, deploying application is a migration migrain (pun intended). Imagine in the middle of application testing connection to database is down, or worse, connection to the server is down. “Hey, WTF happen with the database?” “Why I my server down?” “Ow… sorry the cluster is down.” or “The cluster is unstable, redirect the database to xxx” and few minutes later we have to change connection to yyy and then changing it again and again.
Second, make sure the Internet are up and running. It’s quite hard to troubleshoot a problem without Internet. Google can answer a lot of our problem during migration. Except one.
Third, pray! You gonna need it!
Four, stock up some caffeine, energy drinks, snacks, all you need for long and sleepless night. Just in case.
First problem we encounter is our application based on .NET 2.0 can’t run. The hint, .NET 1.1 based application can run pretty smoothly. The solution cost us a day worth of works. And the answer is simple.
In IIS, you should make an application pools for Classic .NET 2.0 (NET 1.1 are automatically made when you install the framework). And then you should assign the pipeline (in basic setting) to classic. Then, the all day part, in Advanced setting change 32-bit enabled to True. Then restart the IIS. That should do it.
After that, you can create Web Application with path directing to physical path of your apps. Then try it. Voila, all goes seamlessly.
The second and unsolved problem is how to open Excel file with Excel dll in ASP.NET. It’s seem like simple problem, but it’s not. We try everything we knew, impersonating ASP.NET to Administrator, registering the dll, creating Interop files, and all comes to nothing. The mysterious part is it’s work with Windows Application but failed when we use Web Application with the exact same code. The problem is seems like the Excel dll failed to open the xls files when loaded from ASP.NET, and we deduct that there’s a problem with 32-bit DLL in accessing files, unfortunately we don’t know what it is and how to solve it. And for the best part, few consultant from Microsoft came last night to solve the problem, and they eventually gave up. So much for easy migration heh!
Now, my job is to oversee the new system kickoff. I hope nothing wrong will happen, although there always be something wrong.
And may the force be with us!
Some screenshot to make my point clear will be added sometimes in the future. I have a lot of work right now. And for the Excel thingy, I appreciate if you can help. Anyhow I doubt it, the MS person make clear that due differents architecture from the old IIS and IIS 7.0 it is impossible.
And I have a review for recently finished Brisingr and Gajah Mada, but save it for later.