June 2009 - Posts
The beta 1 of Visual Studio 2010 and Team System kicked out few weeks ago. As you may know it’s a major release of the Microsoft’s development tools. Most of the product were already existing in the previous version and was greatly improved (now you want Team Architect, don’t you?).
There’s one new tool: Microsoft Team & Lab Manager, formally known as Camano. I won’t do an overview of it but for those who are interested to setup Team Lab for demo or testing purpose, this post may be useful.
So what you need to get Team Lab installed:
- A Windows Server 2008 x64 with Hyper-V activated.
- The server must be a member of an Active Directory domain and should be able to connect to it anytime.
- System Center Virtual Machine Manager 2008.
- Team Foundation Server 2010 beta 1.
So the prerequisites are quite significant, if you plan to install it on a single computer, beware that it’s a not an easy task. It can be done, but still, not easy!
Everything on a laptop for roaming demonstrations!
Being a consultant is sometime tough, because you best pal weights 4pds and is not as powerful as you wished.
Still being naive about Team Lab, I decided to get it done on my dear laptop. Well, my best pal is small but sometime the size doesn’t matter: 6 GB of RAM, 120GB Vertex SSD, Core 2 Duo T9400 and a newly acquired 120GB internal HDD instead of the useless DVD Drive. Told you it was my best pal? :D
I guess you can get it done with a 4GB of RAM, 250GB HDD but it will be very limited and slow.
You said Active Directory?
Before trying Team Lab I had one short experience with SCVMM, I remember the installation wasn’t easy and the product required a good amount of resources. At the time it was an installation on a Desktop computer, always plugged to the network through the LAN adapter.
This time, things are harder, I want to do some demo of Team Lab when I’m out from office, so my laptop is not connected to the AD, and when I first installed SCVMM I quickly realized once I got home that when you start it you get an error message telling you the Active Directory controller can’t be reached (no kidding!?) and just get kicked out of the software!
Great! So like I said at the beginning SCVMM needs the AD each time you use it! So if you want to demoing there’s only one solution: installing an Active Directory Domain service (with a DNS Server, of course) somewhere in your laptop.
Two possibilities here:
- Install the AD right away on your Windows 2008 Server.
- Install it on a VM hosted by your Windows 2008 Server’s Hyper-V (with your host registered to it – sounds weird).
I chose to go at the first solution, having my host registered to a DC that it hosts is way to weird for me and when I tried it I got some expected issues, so first one, cleaver choice.
Setup DNS and AD
Ok first thing, give up your company’s AD, because it can’t be done otherwise and install a new one on your Windows 2008 Server. The procedure is fairly easy, just find a name (e.g. “demo.local” for me), select the LAN Adapter when configuring the DNS, don’t be afraid about the warning message about your LAN Adapter not having a static IP set (after all it’s just demoing, not prod).
You should end up with something like that in your Server Manager:
As you installed the Domain Controller on the Host, the host automatically became a member of the domain.
Installation of System Center Virtual Machine Manager 2008
This one is a tough one, I went through major headaches just to get it done!
You will find plenty information about installation failure on the web (yey, I’m not the only one) my advices are:
- Don’t scare him, accept all the default settings and ports.
- Accept the installation of a SQL Server Express (even if you have a top notch SQL Server 2008 Enterprise installed).
- Most of all, installing on the domain controller will improve your rate of success.
Google if you get an error, specially if you get the “need attention” on the Host that you first add to SCVMM. There’s a bunch of things that may lead to this issue, MSDN forum and blogs will give you some advices and fixes.
Installation of TFS 2010 beta 1
There’s again two paths here: you can install TFS on the host operating system or in a virtual machine. I chosen the second one because the beta 1 won’t support upgrade to beta 2 so I don’t want to waste my host OS.
I’ve create a 1,5 Gig of RAM virtual machine, and installed everything I was told to in that great Team Lab Setup Guide.
One thing the document doesn’t mention is to check in SCVMM 2008 if the Network Location of the Host you added is setup correctly for the network adapter. Ok, a few screenshot may be clearer.
In the “Host” section of SCVMM 2008, display the properties of your host:
In the “Network Adapters” section, select the one used for the communication with your TFS 2010 and check in “Network Location” that your domain is listed (in my case “demo.local). If it’s not the case, just check the “Override discovered” box and type your domain in the edit box above.
The location you provide must match the one you give in the Team Foundation Administration console, in the “Lab Management” section:
You should be fine to play with Team Lab!
Finally, don’t forget to check the VSTS Lab Management team blog, it’s a great source of information!
I was very excited today because I got my new eSata external drive with a Vertex 120 GB, so I plugged it and…. nothing happened!
No way I could put the Vertex in USB: the performances drop big time. So I gotta find a way to solve this issue.
If you can’t get your eSata drive working correctly on your laptop, this post is for you my friend!
First thing, it took me a little time to realize I had my laptop configured in IDE mode instead of AHCI and that could be a reason why my eSata wasn’t working at all. After a bit of wandering through the web it got confirmed.
So I went to the BIOS and switched the disk controller mode to AHCI, reboot and…. BOOOM! Blue Screen!
The problem got solved when I found the KB 922976. Basically when you install your Windows in IDE the AHCI drivers are deactivated, so when you switch to AHCI you got the blue screen because it can’t handle the Sata device. A simple registry edit solves the problem.
Ok, now my Windows is booting, so I can plug my eSata device again and….yey it works !!!
First thing first, I bench the eSata Vertex and the result was…. good but not very good… :(
I’m telling you, the path to achieve true performance is not easy. I noticed during the benching that there was some stalls, so I went to the hypotheses that the driver wasn’t that good.
It turned out that I had the standard (Microsoft) AHCI drivers installed (I reinstalled my OS a lot these past months, a miss can happen). So I went to get the Intel Matrix storage driver for my Dell E6400, install them and two reboots and a bench later….
YEY!
Here is a little comparison between my SATA Vertex (2 months old, shaken a lot) and the brand new never used Vertex in eSata:
| Sata |
eSata |
|
|
Of course the newest one should perform better than the oldest one, but even in eSata, man that is great!
Now there's a reason to be excited!
MLC SSD have a limited life time, the vertex announced a MTBF (Mean Time Before Failure) of 1.5 million of hours. This number is only based on a statistic of “how many gig of data you’re writing everyday”.
So if you really want to know the percentage of the remaining life you can do it if you have the firmware 1.30 or newer.
Again, this procedure is taken from a post of the OCZ forum.
Download the free tool CrystalDiskInfo, install it and run:
|
The values surrounded by the blue square are meaning what they are supposed to.
The value squared in green means something different: D0 = Erase Count Average.
The value squared in red also means something different: D1 = Remaining drive life in % by Erase count.
So if you want to know how much is “left in the tank” of your SSD, just look to the D1 value.
As you can see, mine was already used pretty much! :)
|
You can flash your Vertex’s firmware only from the DOS (under Windows or WinPE won’t work).
Here is the fastest way to create a bootable USB Key containing the DOS version of Windows 98.
The procedure was stolen form this OCZ forum post.
Get this file from the OCZ forum, unpack it and execute “RunThis.exe”, the following dialog form appears:
|
|
Select the USB key you want to use to create the bootable DOS. Check “Quick Format”. Check “Create a DOS startup disk” and select the folder “Bootfiles” in the zip you just unpacked.
Click “Start” and in few second the work is done.
Now you can copy the firmware you want to flash in you USB key and all you have to do is reboot, boot on the key and you’re done!
You can find more about the latest 1.3 firmware here. |
The official post in the OCZ can be found here.
Links to the Firmware for the different size of SSD:
30 Gig
60 Gig
120 Gig
250 Gig
You can safely flash your SSD from the DOS and it won't erase your existing data! You can flash from the version 1275 or newer.
The change log for this version is:
Version 1.3
Release Date: June 03, 2009
Bug fixes
• Host program lost drives if NAND BIST is run on multiple drives.
• Read Fail handling
• ATA Security Command didn’t work as expected.
• Race condition occurred during soft reset handler
• ATA Security Command didn’t work in AHCI mode.
• If read fail occurs during reading stamp information, firmware corrupted block 0.
• Power off recovery had bug in certain circumstances
• If host sends invalid SMART subcommands, Abort was not sent to host.
• SMART attribute data was not initialized properly for certain fields.
• Improper handling of ATA command when sent with 0 sector count
Feature Addition
• Remaining life expectancy calculation is implemented.
I use Hyper-V since a while now, but somehow I always managed to get the network part working without doing anything special, until I met System Center Virtual Machine Manager (SCVMM)…
When I was creating VMs and connecting them with an Internal or External Virtual Network, everything was working fine.
The Network Adapter created on the VM had the default settings:
So me being a total newbie when I saw the result of the ipconfig /all I thought that Hyper-V, in someway, was emulating a DHCP for the Virtual Machines it hosts. One might agree with me, after all we’re getting an IP, right ?
Well, wrong! If you look closer at the IP you’ll see it starts with “169.254” and that my friend is not a standard DHCP allocated IP.
IP addresses starting with 169.254 are special, you can find more info here, but basically it’s standard supported by Windows that allocates a “special” IP when the network adapter should get one from a DHCP but the DHCP wasn’t found.
So it leads us to:
Hyper-V’s Virtual Networks are not magic, they won’t allocate IP for the Virtual Machines they host if you let the default settings on the VM’s network adapter. You have to either specify a static IP or setup a DHCP somewhere and reference it from your network adapter.
After some thinking I realized that it was supposed to be this way, it’s way more realistic for production purpose. But my experience being mostly about prototyping, I had first a different point of view.
One last thing: you don’t have DHCP, but there’s still an IP allocated so you get the “NETBIOS over TCP/IP” working fine, so can do “Windows stuffs” like RDP, File Sharing, Windows Network discovery. But when you have to fully rely on TCP/IP and use DNS (installing SCVMM for instance :D) it won’t work at all…
Poor me developer having to discover the cruel world of networking… :(
I installed Windows 2008 Server x64 with Hyper-V since a while on my laptop. Hyper-V was a great way for me to build up prototypes of several servers in a V-LAN and once you tasted the multiple Snapshot feature, it’s hard to live without it.
Now it’s clear that Windows 2008 Server wasn’t meant to be used on a laptop and you have to sacrifice some features or be tricky to get what you want.
One of the things that bothered me the most was finding a way to get my VM having internet access either when I’m plugged to the internet through WIFI (home) or Ethernet (work).
These two cases can be separately solved:
- With WIFI you will use a Internal Virtual Network for your VMs and enable Internet Connection Sharing (ICS) from the WIFI adapter, pointing to the Internal Virtual Network.
- With Ethernet, create an External Virtual Network and you’re done.
Now I don’t want to constantly switched from the two Virtual Networks depending on if I’m using WIFI or Ethernet, it’s taking time and your VMs are not always happy about the changes…
The solution will look familiar to people that used Virtual PC for complex things: using the Microsoft Loopback Adapter!
Here are the steps to perform
Add the Loopback adapter
Go to the Control Panel, then “Add Hardware”
Click next to get to the screen when you choose to install the hardware manually:
In the next screen select the “Network adapters” category, click “Next”.
In the “Manufacturer” list select “Microsoft”, then select the “Microsoft Loopback adapter”:
Click next twice and you will get your Loopback adapter installed in few seconds.
Creating the Hyper-V Virtual Network
Now go to the Hyper-V console and right click on you Hyper-V host and select “Virtual Network Manager”:
Follow the standard procedure to create an External Virtual Network using you newly created Loopback adapter:
I called mine “LoopBackLan”.
Setting up the Virtual Network
The next thing you will have to do is setting up the TCP/IP configuration for the newly created connection. If you’re unfamiliar with Hyper-V, you have to know that creating a Virtual Network will have for result to create a new Network Connection. You will see it from the Control Panel’s “Network Connections” item.

The connection squared in red is the logical Loopback adapter you add in the first step.
The one squared in green is what was created by Hyper-V.
You don’t want to touch the configuration of the red one.
Now you have to configure the green one:
You have to manually setup the IP and it has to be 192.168.0.1, it’s a restriction of ICS (we’ll see that just after).
You’re ready to set this this External Virtual Network to your Virtual Machines!
Enabling internet access through ICS
To get internet access, just enable ICS on the adapter that is active, for instance if you’re plugged to the LAN, go to the “Network Connections” panel, select your LAN adapter and display its properties, select the “Sharing” tab and configure as followed:
The “Home networking connection” has to be your Hyper-V External Virtual Network (remember, the green one).
Now if you want to switch to WIFI, just disabled the ICS from the LAN and repeat the action on the WIFI adapter and you will be fine!