Programming and Technology blog

New Year and New Hosting

I decided not to renew my hosting (Webhost4life) and decided to give Lunarpages a try.  The reason for my move was not because I had any issues with Webhost4life, I have been with them since 2006 and have had almost zero problems with them over the two years I just found that Lunarpages offered some better features and the initial cost was cheaper than renewing.

During my time with Webhost4life I was signed up under the Advanced Windows Plan which gave me some pretty good options especially being a developer I liked the idea of being able to do more with my account.  Here are some of the features that I liked and the things I didn’t like about my experience.

The Good

  • You can connect to your SQL Server using Enterprise Manager (2000) or Management Studio (2005/2008)
  • No SQL Express (this is a good thing)
  • Browser based SFTP Java applet for uploading to your account
  • Allows you to manage your DNS zone (including adding a SPF record)
  • They utilize DNS effectively; SQL Servers have a DNS entry rather than an IP address as well your resolves to a mail server and your web mail
  • Simple DB tools for MS SQL Server (backup/restore/etc.)
  • You have an FTP site for your Database (to do backup/restore from)
  • You can override your websites physical root folder anywhere in your hosting folder.  This is good if you want to create a subdomain and not put it in a folder under your primary domain
  • They use two SMTP ports for your mail (the reason for the alternate port is some ISPs block all outgoing on port 25 unless it’s to their own servers)
  • Add-on services are pretty cheap like extra domains and such
  • Support is better than average for responding in a timely manner.  You can set the priority on your ticket from 1 (high) to 5 (low).  I usually used 3 and averaged about a 4 hour response time and they addressed my problems without having to give more info or respond.  It seems that they have only one level of support and each support person can take care of the issue whatever it is.
  • Your sites run under full trust (your own app pool)
  • They use awstats for basic web metrics
  • They have an FTP site for your raw IIS logs (they don’t include cookies in the log)

 The Bad

  • They dropped free WSS (Windows Sharepoint Services) you now have to pay $19 a year for WSS 3.0
  • They dropped the MS SQL Server limit to one DB per domain (adv. plan) (it used to be unlimited when I first signed up, then they went to two only and finally one)
  • Your app pool for ASP.NET recycles often (every 5 min) so your site (if big) will seem like it is constantly reloading/recompiling (this might be the norm for most hosting companies since there are probably a lot of crappy coders out there)
  • A high website/server ratio something like 300 sites on one server, I am not sure if this is the norm or not which explains the 5min app pool recycling
  • Like most hosting providers they never tell you when something is wrong, the server where my SQL DB was scheduled to be replaced (do to hardware issues it was having), I tried to do a backup and it kept failing.  I sent a ticket and only then they told me why the issues
  • They have a support forum but it is pretty unutilized by the users of Webhost4life
  • They rolled their own control panel which looks really unprofessional but it does do what it’s supposed to

All in all I have no real issues with Webhost4life; I found the service to be pretty much what I expected from a shared hosting provider but it was time to try something new and give another company a try.

So far with Lunarpages I had a couple of issues (one almost made me cancel my account over).  When my second domain was setup ( right from the start the DNS settings for my MX record (mail) was configured wrong, it was pointing to two separate IP addresses (the web server and mail server) and since the order of the records was web server first I would often not be able to check my mail (using Outlook) since it would try to access the web server (which would not work duh, it’s a web server).  It took me 2 full days to have the problem fixed, mostly because the ticket had to be escalated from a tier one tech support to tier two.  They second issue had to do with the hosting environment and some permissions which took less time to fix probably because the tier one could do that kind of stuff.  Here are some of my initial thoughts for the service so far.

The Good

  • Web mail is SmarterMail (same as Webhost4life)
  • The control panel is Plesk (pretty cool control panel for Windows hosting)
  • There is a backup solution for your domain that you can configure and schedule
  • Windows Hosting allows for 2 unique domains under your account for your initial price
  • Account information (disk space used/bandwidth used/etc.) is all visible from the "home" control panel)
  • Unlimited SQL Server DB’s per account (probably limited by the actual amount of hosting space you get)
  • Their forum support is pretty impressive and the community actually uses it
  • Lots of reports that can be emailed to you on a schedule (part of Plesk)

 The Bad

  • They don’t inform you that they use DNS for databases rather than IP address and no to web mail (no big deal but it looks cooler)
  • Support is a level system, level ones are pretty much useless and the higher you go the longer it takes to get anything fixed
  • No DNS zone edits under Windows hosting
  • The help files seem to be out of date in the control panel and reference Linux Hosting items more than Windows so the info might not be valid
  • Some services you log into are not SSL (I even checked the form post action)
  • No SQL Server Ent. / Management Studio support; they use MyLittleAdmin (which is pretty much the same interface)
  • I am not sure about this one but it would seem that both domains (under your account if setup) run under the same app pool.  That means that one site could bring down your other site if it gets out of control
  • There is a 1% CPU cap on your app pool.  Reading through the forums it seems that if you go over the 1% CPU usage you account can be disabled.  So if your app pool continuously used 1% of the CPU on that server over an undeterminate time they can axe your site(s).  I guess as long as it just does the burst usage then that is ok (not that my sites will chew up that much CPU)

For the ongoing story of my DNS issues with Lunarpages see New Year and New Hosting Part Deux

Random error messages

"Application popup: Windows - Delayed Write Failed : Windows was unable to save all the data for the file 'xxx'. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere."
I had this error recently during my nightly backups.  I narrowed it down to my server’s 10/100/1000Mbps LAN card.  Since my network is only 10/100Mbps I forced the speed and duplex to 100Mpbs and Full Duplex rather than Auto Negotiate.  After I did this the error went away and my network latency issues got better.

"You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.0 x64 (or x86) (Windows 2008)"
Under Windows 2008 .NET is considered a Feature; to install open up the Server Manager and highlight Features -> Add Feature it is at the top of the list.  To install the .NET 3.5 framework use the installer method.

The Hyper-V n00b - Child Partition - OpenBSD 4.4

So far I have really zero issues with installing Windows based OS's (once each one had the latest service pack) as child partition, what about unsupported OS's.  I figured that I would need to install a familiar OS that I have lots of experience with and I would like to work with it some more, especially from the firewall side of things again.  Of course my choice was crystal clear; OpenBSD.  Now I wondered just how well the "virtual hardware" would work, I have installed OpenBSD in Virtual PC which worked pretty well so what do I have to loose?

Since you can mount an ISO to your CD/DVD drive when creating a new virtual machine I downloaded the install44.iso for OpenBSD and selected it and started the VM.  From what I can see the only thing that wasn't supported was the Microsoft VGA adapter.  But since it probably supports the VGA standard it still worked.  So after about 5 minutes of installing and configuring I rejoiced to see the following screen.

Now of course I will need to run further tests but it shows promise.  Adding another NIC and the possibility of having this as my firewall to the internet has some pretty strong advantages.  I only hope that I still have my old config files kicking around for my last firewall but I am sure that I will manage.

Of course things like the shutdown actions in the toolbar do not work and since there are no Integration Services there is no Heartbeat monitor but hey, it's working none the less.  I also noticed that the time was 4 hours out which I am not sure about.  Maybe OpenBSD cannot read the timing from the virtual BIOS or whatever it used/called.  I will have to investigate that one.  Otherwise I can enable the OpenNTPD dameon just to make sure that the time is always in synch.

The Hyper-V n00b - Networking Setup - 2 NICs

In my last post The Hyper-V n00b Experience I gave my experiences with setting up a couple of guest OS's in Hyper-V.  This post will be geared towards how I setup my network configuration for Hyper-V or rather how I changed the mess that I made with the first setup so I decided to start from scratch.  By no means is this a definitive guide as to how to setup multiple NICs for for a VM environment, like the title says I am a n00b at this so take it with a grain of salt.

First thing first; networking in Hyper-V is not as black and white as most might think, there are some changes and when configuring your Hyper-V server for networking for the first time will make some changes to your current network configuration that will make you go hmmmmm.....

Before you do configure networking you check out the following blog posts as they all offer a really good insight and explanation of how it all works.


Now my setup has two NIC's involved so while it does not make it any more difficult it does add couple of extra configurations steps to make it correct.  The reason I installed two network cards is not for redundancy but to have one NIC dedicated to the OS and one dedicated to the VM's.  This is not a requirement but it makes making networking changes on the VM side of things way easier if you want to go totally hardcore with your VM environment.


In the Begining

So this is what my Network Connections list looks like before I do anything

"Local Area Connection" is the onboard NIC and will be used as the dedicated OS connection to my network

"Local Area Connection 2" is the add-on NIC and will be used as the dedicated VM connection

Personally I always change default names to something more meaningful on any server I setup so I change "Local Area Connection" to "OS Network Connection" and I leave the 2nd alone for now because the meaning will change in a couple more steps.


Setup Hyper-V to use a NIC

Next change the Hyper-V settings to use the add-on NIC for it's connection.  Open up the Hyper-V Manager and highlight the server on the left then right click -> and select Virtual Network Manager.  The following dialog box with be visible.

Select External Network and hit the Add button; you will get a dialog box similar to this but I have already filled in some of the options for my configuration.

The virtual network name I used is the same name as the physical NIC according to Windows; I added a "Virtual" prefix to it for more of a readability standpoint.  This name actually maps to the Device Name property in the Network Connections list.  Again I like to have meaning to names.

Connection Type: External uses the physical NIC "Local Area Connection 2" (the Intel Desktop Pro NIC).  Hit the Ok button.


So what really happed?

Looking at the Network Connections you can see a new network connection "Local Area Connection" and the device is the Virtual Intel(R) PRO/1000 GT Desktop Adapter, the same one setup in the Virtual Network Manager.  The original "Local Area Connection 2" is now a virtual switch and the "Local Area Connection" is a virtual network adapter that is connected to the virtual switch.  When configuring VM's this will be the virtual network adapter for used to bind to for connectivity.


Name change time


The new Virtual VM Switch device properties

The Virtual VM Switch (original "Local Area Connection 2") has only the Microsoft Virtual Network Switch Protocol enabled, this is normal.  The physical NIC is now configured as a virtual switch.


The new Virtual MV Network Connection Properties

The new network connection or "virtual adapter" for my VM's by default has TCP/IP enabled and obtain IP via DHCP enabled, this is not what you want when running two physical NICs.  What you want to do is disable all of the bindings from the virtual adapter (like in above picture) so that it is basically useless from the host or parent partition standpoint.  Remember the VM's will be linked to the virtual switch which routes through the second physical NIC (Intel desktop).  Removing all of the bindings allows for a straight pass though effect as well not allowing the physical host to use the NIC in any shape or form.  Which is the desirable effect for me since it's not about redundancy.  More about this setup can be read on John Howard's virtualization blog and comments Hyper-V: What are the uses for different types of virtual networks?.


Re-Configure existing virtual machines

After this was completed I then had to update my current VM's to use the new network adapter (remember this is a fix for the rushed original setup).  To do this it's as easy as opening up the settings for each VM and change the Network Adapter settings to the new virtual adapter.  When you open up an existing VM you will notice that there is a Connection Error for the adapter, this is normal since I changed the virtual adapter.  This is what my VM settings look like now:

All in all it was a pretty good learning experience and I now have a better understanding of how Hyper-V implements it's networking.  My VM's can now get out on my network and the internet and the separate NIC is dedicated for VM use only.

The Hyper-V n00b Experience

So decided to take my new server for a spin and try out the Hyper-V role.  I have a couple of vhd files (Virtual Hard Drives) kicking around circa Virtual PC days and I figured that I would try and “convert” them to Hyper-V.  I ended up finding several articles that say “you can do this” but you need to do xxx steps to do it.  All I have to say is don’t bother, I found that I spent as much time trying to get a copy of the XP SP3 IE7 testing VM to work as it would doing a fresh install of XP w/SP3 slip-streamed which is what I ended up doing in the end.  There are countless articles on how to setup a Hyper-V VM out there so I will only give you my observations/tips on how I ended up installing some guest OS’s.

In General

  • Mount an ISO rather than use a CD/DVD as your install media, it seems to go faster
  • XP needs SP3 or the Integration Services will not install
  • Vista needs SP1 or the Integration Services will not install (you will get an error "you need a newer verison to continue")
  • Brush up on your Windows keyboard shortcuts
  • If you are RDPing into your server to create VM’s and you connect to the VM using the VM Connection app don’t be surprised if your response time for the guest OS UI is brutal (especially Vista).  Turning off the visuals does help but not as much as you would think
  • Somtimes it seems that you have lost control of the keyboard during an install (or even in the OS), you actually have not the carat | is just not visible, try typing anyway.  This may happen untill you install the Integration Services.

Installing XP w/SP3

  • During the install you will get to the “Windows will now automatically setup your screen resolution” dialog box.  What may happen here is the dialog box goes out of focus leaving you without anyway possible to click on the Ok button.  Why?  Well because you have not installed the Integration Services yet and that means no mouse support and limited keyboard access.  ALT-CTR-TAB does not work (flipping between open windows in the VM) so what do you do?  Well the easies thing to do is just turn off the VM and restart it again.  You will get the “Windows did not shut down properly” prompt but no big deal, just start in Normal Mode.

Installing Vista w/SP1

  • Add the legacy network adapter for the Vista install just in case your network adapter does not work (like mine, an Intel no less) if you are going to access the network when installing
  • Make sure you have a copy of Vista with SP1, trying to update your VM with this will take a long time, especially using windows update and the legacy network adapter.
  • When RDP into host server and using the VM Connection app the response times for the guest OS UI would take at least 10 seconds (or more) for anything to happen from the time you hit the keyboard till the OS responded.  I am not sure what to make of this as my configured VM had 2GB of memory and 2 virtual processors (see my hardware specs).

The weirdness I had with the slow response times in the guest OS using the VM Connection app still baffle me since I cannot figure out why it was like that.  I have run VMs in Virtual PC under a RDP connection in the same manner and the response times (while not stellar) were way better than this.  RDPing into each guest OS it worked like it was installed on an actual physical box, which is probably the whole point of virtualizing in the first place.

All in all both VM’s did get installed and I had a chance to fool around with Hyper-V some.  While I have used Virtual PC and Virtual Server quite a bit in the past, the Hyper-V management console and creating VM’s using it was a vast improvement over the clunky Virtual Server UI.  I can see MS creating trial versions of their products on pre installed vhd’s to be run under Hyper-V in the not to distant future.  It would be a pretty slick way to try out the product without having to waste time installing it if you just want to give it a spin and not worry about configuration.