Navigation

Search

Categories

On this page

Guest Operating Systems Supported by Microsoft Hyper-V
Re-enabling Hyper-V after replacing software RAID-1 (mirrored) drive on Windows 2008 Server
Budget SSD RAID-0 on Windows 7
MagicISO (MagicDIsk) is a Superb Free Virtual CD/DVD Drive Emulator
HttpVPN is Released - First Public Beta is Launched
Microsoft Visual Studio 2008 and Expression Web 2 are Still Horrible at HTML Editing
Fixing iPhone error 13019 when syncing with iTunes 8.2
Migrating Visual Source Safe to TFS Source Control

Archive

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

RSS 2.0 | Atom 1.0 | CDF

Send mail to the author(s) E-mail

Total Posts: 68
This Year: 0
This Month: 0
This Week: 0
Comments: 28

Sign In
Pick a theme:

 Saturday, October 24, 2009
Saturday, October 24, 2009 4:32:20 PM (Eastern Standard Time, UTC-05:00) (  |  |  )

http://support.microsoft.com/kb/954958

BTW, Windows 7 and Server 2008 R2 have Hyper-V HAL drivers in them, so when those two are installed as guest OSes, they take advantage of hardware virtualization even during installation, which makes the installation process go much faster compared to other guest OSes, and at the end of the installation one does not need to install Hyper-V integration services.

Comments [0] | | # 
 Saturday, October 10, 2009
Saturday, October 10, 2009 8:24:54 PM (Eastern Standard Time, UTC-05:00) (  |  |  )

Software RAID-1 in Windows server has a pitfall worth remembering: redundancy is working only when Windows is booted and is up & running. When machine is booting, it loads the OS from whichever drive is selected as first in the boot order in BIOS. If failing drive happens to be the first - the one from which Windows Server boots up, then two things needs to be done:
- BIOS settings have to be changed so that healthy secondary drive is used for booting, and
- Secondary Plex has to be selected as a default boot drive in Windows Startup & Recovery configuration.

Having Hyper-V adds even one more step. Hyper-V does something as the boot time, and is apparently enabled only on the first drive in the boot sequence. After you have made healthy secondary drive the first in boot sequence, secondary drive's boot routine needs to be manually adjusted to include loading Hyper-V, or you will get the dreaded, useless "Virtual machine could not be started because the hypervisor is not running" error when starting a virtual machine. To update your newly-selected boot drive for loading Hyper-V, run a Command Prompt as Administrator and execute following command:

bcdedit /set hypervisorlaunchtype auto

Reboot the server again - this time your secondary drive is bootable as far as BIOS concerned, secondary plex is used to boot windows, and Hyper-V is made to be loaded from the secondary drive too.

Comments [0] | | # 
 Tuesday, August 18, 2009
Tuesday, August 18, 2009 10:52:47 AM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

Update: here's a very good walk-through of setting up BIOS on Intel chipset motherboard for OCZ SSD RAID array.

Since I was about to clean up my system anyway, I decided not only to install Windows 7, but also bite the bullet and get two SSD drives and put them into striped RAID configuration. I did it last weekend and yes, rumors are true: the performance boost you get from SSDs, especially from RAID-0 SSDs is by far the most noticeable and exciting in a generation. (From this point on, spindle hard drives are entering their twilight years, and pretty soon they will be where CRT displays are now.) It's kind of perverse, but perf improvement is so drastic that it now takes less time for Windows to boot than for the motherboard to finish the POST!

Here are points that might be useful for those trying to do similar setup.

- Not every SSD drive can be used in RAID configuration. At this point you need to stick with SSD drives having Indilinx controller. 60GB MLC drives like OCZ Vertex, Corsair Extreme, and OCZ Agility (the one I got, see the review) - are all reasonably priced and will work well with mainstream motherboards-based RAID controllers, like Intel Matrix RAID. Two of these drives cost just a little over what single 128GB drive costs, but two 64GB drives give you two controllers, twice the amount of on the drive cache, and connection to two separate SATA channels, all of which delivers much better performance than a single 128GB drive for about the same amount of money.

- Windows 7 does have Intel Matrix RAID driver, so no need to do the F6 thing to load it during windows installation.

- If you are putting your drives into a desktop machine, you will need mounting brackets to fit 2.5" drives into 3.5" bays.

- Since both Windows 7 and SSD drives are relatively new products, load the latest BIOS for your motherboard before you even connect your drives for the first time. It's also a good idea to get a relatively recent motherboard and ensure your mobo does indeed have RAID functionality. For example, if your motherboard has Intel chipset, letter "R" in ICH10R "south bridge" chip name seems to indicate presence of RAID support.

- If your motherboard has Intel Matrix RAID, change BIOS settings to make sure you put your on-board SATA controller into RAID mode. It actually should be called AHCI+RAID, because RAID is still AHCI. Non-RAID SATA drives may still be used when SATA controller in RAID mode with no problem at all.

- Even though Windows 7 comes ready for SSD drives, tweaks like disabling SSD drive indexing will improve either drives' longevity or system performance. Also, Windows 7 may not see the RAID group as 100% SSD. What it means is that when Win7 realizes there is an SSD drive in the system, it's supposed to automatically turn off superfetch and disk defragmentation. In my case it did turn off disk defrag for my SSD RAID volume, but didn't turn off superfetch - maybe because I have a couple of regular hard drives also connected (although not members of the RAID array).

- If you wonder whether ATA Trim command (that helps to maintain SSD drives' performance) is going to work in RAID configuration, then the answer is not yet. Currently, the choices for SSDs connected to Intel matrix raid controller are either RAID, or TRIM, but not both together. The reason for that is Intel Matrix Storage Manager (MSM) driver does not pass through TRIM command - only MS SATA and IDE drivers for Windows 7 do. So for TRIM one needs to use Microsoft drivers, which do not support MSM RAID. So if you do RAID, you will need to use Intel MSM driver, and wait for some future version of MSM that can support TRIM in at least in RAID-0 and RAID-1 configurations.

- Next version of OCZ firmware for Agility and Vertex SSD drives is expected to have background "garbage collection" built in, which is supposed to reset NAND cells while drives are idling.

Here's a very good post about SSDs on Windows 7, plus an absolute must-read article about most popular SSD drives from AnandTech.com.

ATTO benchmarks:
Take a look a all-important 4KB transfer rates (most common case for non-server scenarios) - it does astonishing 178MB/s writes and 180MB/s reads:

Compare it with 53MB/s writes and 35MB/s reads of $440-worth, fastest 120GB MLC drive - OCZ Vertex Turbo:


...or with arguably the best SSD drive there is - $800 Intel X-25E SLC drive - it does 104MB/s writes and 120MB/s reads on 4KB block size:

 

Comments [0] | | # 
 Monday, August 17, 2009
Monday, August 17, 2009 10:42:59 AM (Eastern Standard Time, UTC-05:00) (  |  |  )

Whenever I setup a new Windows PC, I always forget which virutal CD/DVD software I use. So this is a note to myself: it's MagicISO. It allows to mount an ISO image right after the software is installed, without requiring a reboot, and it works with both x64 and 32-bit version of Windows, including Vista and Win 7. Great tool!

Comments [0] | | # 
 Thursday, July 30, 2009
Thursday, July 30, 2009 11:35:58 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

HttpVPN™, a redistributable component for hosting web applications targeting home users and small businesses, is released as Beta. It makes web applications accessible on the web at MyOwnSecureWeb.com right after the installation and does not require users to fiddle with routers, set up DMZ, etc. Just a consumer-friendly, secure self-hosting of web apps.

Comments [0] | | # 
 Sunday, June 28, 2009
Sunday, June 28, 2009 4:04:41 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

In general, I love Microsoft development tools. The reason I never felt compelled to venture far into either Java or LAMP world is because combination of the Visual Studio, .NET Framework runtime, SQL Server and other MS tools has always been an extremely strong development platform, both for the value delivery for end users, and for something as prosaic as having fun programming 8 hours day in and day out. Therefore, it's borderline pathological that Microsoft HTML editing tools have not evolved beyond "D-" grade since their first tool I tried over a decade ago, Front Page 98. Consider this, I am taking a short break (to vent my dissatisfaction) from writing content for a web site because when I edit an HTML file using Visual Studio 2008 SP1, it mangles the HTML by cutting up closing tags, turning "</a>", "</h3>", "</span>" and others into ">". I thought, alright, Expression Web 2 is going to save the day. I open the page in the Expression Web, and what I found is that it doesn't handle keyboard key strokes well, ranging from failing to respond to arrow keys, to Ctrl+V shortcut for Paste simply not working, rendering Expression Web unusable. I use Microsoft keyboard and their drivers. I am a developer, not a designer, but if getting such basic functions as arrow keys in their editor is impossible for MS, what chances do they have with professional designers? And don't get me even started with Expression suite not supporting MS own source controls for two versions. Microsoft's inability to get HTML design tools right for such a long time creates a fear that MS is losing it.

Comments [0] | | # 
 Wednesday, June 17, 2009
Wednesday, June 17, 2009 9:40:28 PM (Eastern Standard Time, UTC-05:00) (  |  |  |  )

Today I downloaded both iTunes 8.2 and iPhone OS 3.0. After installing everything, syncing the iPhone with my 64-bit Vista failed at the end of the process with this message "The iPhone cannot be synced. An unknown error occurred (13019)." I had to read through several pages of Apple forums to find the solution, which turned out to be unsyncing the music and then re-syncing it back again.

Comments [0] | | # 
 Wednesday, May 06, 2009
Wednesday, May 06, 2009 9:40:59 PM (Eastern Standard Time, UTC-05:00) (  |  |  )

After spending a day and a half on migrating Visual Source Safe (VSS) to Microsoft Team Foundation Server (TFS) source control, I want to share a few points that may save somebody a little bit of time.

Migration process consists of two phases: a) migrating data from VSS to TFS, and b) switching Visual Studio projects' source control bindings from VSS to TFS.

Data migration is done more or less the way Microsoft describes it: analyze, map users, and finally, migrate data. This part of the process didn't go as smooth as it could because my VSS data lived on a machine that is not a member of the domain, while TFS database lives on a domain computer. Unfortunately I wasted a lot of time before I found that out: after all, "analyze" step worked leading me to believe that migration itself will be possible, but in the end security problems didn't allow data migration. So here's the time saver hint #1: copy your VSS data (a folder with the srcsafe.ini file) to the domain computer where migration process will take place. Also, please keep in mind that the machine where you will run migration utility should:
- Have SQL Server or SQL Server Express installed;
- Have Visual Source Safe 2005 installed;
- Have Visual Studio 2008 installed. This one is important. MS says it's enough to have only Team Explorer for the migration process, but that's not quite correct: Team Explorer package of the VS does not contain "Visual Studio 2008 Command Prompt" BAT file necessary for the process. It's possible to work around it and create your own BAT file that sets all the paths properly, but it will take time. Running migration on the machine with the real Visual Studio is a time saver tip #2.
Once these requirements are observed, data migration problems are limited to the tedium of mapping VSS folders to TFS folders - if you want to consolidate and re-organize projects while moving them to TFS. If your VSS structure was OK as is, then you can simply move VSS to TFS structure without changing it.

Switching Visual Studio projects' source control bindings is no less a time sucker than data migration. This part should be done at one of the developers' machines, with Visual Studio 2008 with Team Explorer installed and projects that are being switched over from VSS to TFS already present as local files. 
Here's a high-level sequence of steps required for changing source control bindings:
- Open a solution bound to the VSS in the Visual Studio.
- Select the solution in the Solution Explorer, and then do File | Source Control | Change Source Control, then select all items in the list and hit Unbind button.
- Select Tools | Options | Source Control and then select Team Foundation Server from the list. Hit OK to close the dialog.
- Use Team Explorer to open TFS source control window, and there use Workspaces drop-down list to select "Workspaces..." item and update mappings of your local file folders to TFS folders for this machine's workspace.
- Once done adjusting TFS to local folders mappings, select solution in the Solution Explorer and do File | Source Control | Change Source Control again. Now select all items in the dialog and hit Bind button. If all projects got "Valid" status next to them, it means your TFS-to-local-folders mappings are done correctly. If some project bindings are Invalid, find where these project folders are located on your file system and map them to corresponding TFS folders (see previous step) in your workspace. After that try to re-bind your projects to TFS source control again. Once you got all your projects in the Valid state, click OK to close the window, and at this point you are likely to get a nagging message from VS telling that you need to get latest version from TFS. Accept defaults.
- Get latest version for the solution. Project files are likely to need manual conflict resolution. I don't know why it's considered to be a conflict when it's just a change to the project files reflecting new source control bindings. Choose default type of resolution - Overwrite.
- After this Visual Studio may revert some projects to unbound state - leaving them off them source control. All you need to do is to, again, bind your projects. This time binding process offers to do regular Check Out for project files in question. Accept defaults and in the end you should end up with the solution that has a solution file and maybe some project files checked out, but otherwise the solution should be bound to the TFS now.
- Test-build the solution, and if everything is alright, check in modified solution and project files.

If this list seems convoluted - that's because the process of re-binding from VSS to TFS itself is incredibly awkward. Imagine making up this list of steps by trial and error. Hopefully using this list, as much pain as it is, will save you some time.

Comments [0] | | #