<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.artinsoft.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Christian Saborío&amp;#39;s Blog</title><subtitle type="html">&lt;div class="postview"&gt;	
The blog deals mostly with problems and their respective solutions that I find on day to day basis at my current workplace.  Most of the issues so far deal specifically with Virtualization (mostly Microsoft related), 64-bit migration, and Windows 2003 issues.

Many of the problems I have faced in various projects have been solved by reading someone else&amp;#39;s blog.   This is an effort to pay back and hopefully someone will be able to solve some of their problems by reading something within these pages.
&lt;/div&gt;</subtitle><id>http://blogs.artinsoft.net/csaborio/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.artinsoft.net/csaborio/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2007-04-26T09:31:00Z</updated><entry><title>Moving to a new home</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/08/15/1488.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/08/15/1488.aspx</id><published>2007-08-16T03:31:00Z</published><updated>2007-08-16T03:31:00Z</updated><content type="html">I will be now blogging via &lt;a href="http://csaborio.wordpress.com/"&gt;wordpress&lt;/a&gt;.&amp;nbsp; This is just a matter of convenience for myself.&amp;nbsp; Please update your bookmarks / &lt;a href="http://csaborio.wordpress.com/feed/"&gt;RSS&lt;/a&gt; feeds.&lt;br&gt;&lt;br&gt;New blog address:&amp;nbsp; &lt;a href="http://csaborio.wordpress.com/"&gt;http://csaborio.wordpress.com/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1488" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Random" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Random/default.aspx" /></entry><entry><title>How to Find Which Nodes are running your Tasks in the Compute Cluster Scheduler</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/08/15/1487.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/08/15/1487.aspx</id><published>2007-08-16T00:06:00Z</published><updated>2007-08-16T00:06:00Z</updated><content type="html">When you submit a job to be run in a &lt;a href="http://rds.yahoo.com/_ylt=A0geu5ENlcNGdDABtyZXNyoA;_ylu=X3oDMTFiNmFoNXBkBHNlYwNzcgRwb3MDNARjb2xvA2FjMgR2dGlkA01BUDAxMl8xMDUEbANXUzE-/SIG=1265o62mv/EXP=1187309197/**http%3a//www.microsoft.com/technet/ccs/overview.mspx"&gt;Compute Cluster Server&lt;/a&gt;, you will find some information about the running tasks at the bottom pane.&amp;nbsp; Information such as error output, task name, and so on is shown, but there is one vital piece of information that should be shown (IMHO) by default and it is not: what nodes are running the current task?&lt;br&gt;&lt;br&gt;Luckily, this can easily be solved by right clicking on the column headers, selecting &lt;b&gt;Add/Remove Columns&lt;/b&gt; and adding the Allocated Nodes column.&amp;nbsp; This will make it easier to know where to look for output.&amp;nbsp; The following clip shows how it is done (BTW, if you have not checked &lt;a href="http://www.jingproject.com/"&gt;Jing&lt;/a&gt;, make sure you do, it's amazing):&lt;br&gt;&lt;br&gt;&lt;br&gt;

Oops...nevermind, apparently our Community Server blog cannot embed objects correctly :(&lt;br&gt;&lt;br&gt;Check out the video in this link: &lt;br&gt;&lt;br&gt;&lt;a href="http://www.screencast.com/t/sMMGGE3x"&gt;Finding Nodes of your Job&lt;/a&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1487" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="High Performance Computing" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/High+Performance+Computing/default.aspx" /></entry><entry><title>How to Specify Boot Order when Using Parallels</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/08/13/1485.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/08/13/1485.aspx</id><published>2007-08-13T20:18:00Z</published><updated>2007-08-13T20:18:00Z</updated><content type="html">Today while tryng to do a V2V migration form Parallels to VMWare, I had the need to boot my current VM into BartPE so I could create an image with Tru Image.&amp;nbsp; When the VM started up, I tried to press al sorts of F key combos to get to the BIOS screen.&amp;nbsp; In Virtual Server/Virtual PC, pressing F2 does the trick; but in Parallels it was not working.&lt;br&gt;&lt;br&gt;After taking a trip to the VM preferences, I found that this is set within the VM properties, and is actually quite simple:&lt;br&gt;&lt;br&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/3yh4fu"&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1485" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Virtualization" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Virtualization/default.aspx" /></entry><entry><title>How to Debug MPI Applications in Visual Studio 2005 (Part 2)</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/08/09/1481.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/08/09/1481.aspx</id><published>2007-08-09T17:30:00Z</published><updated>2007-08-09T17:30:00Z</updated><content type="html">To recap, on my &lt;a href="http://blogs.artinsoft.net/csaborio/archive/2007/08/08/1478.aspx"&gt;last post &lt;/a&gt;we went through some of the steps that need to be taken when debugging an MPI application, namely:&lt;br&gt;&lt;br&gt;-Install the x64 remote debugger&lt;br&gt;-Copy mpishim to an accessible loction&lt;br&gt;-Modify the registry to avoid UNC path problems in the future&lt;br&gt;&lt;br&gt;Let's go ahead and finish the rest of the steps in order to debug an MPI application.&lt;br&gt;&lt;br&gt;&lt;b&gt;Step 4: Configure an Empty Job with the Job Scheduler&lt;/b&gt;&lt;br&gt;&lt;br&gt;The job scheduler is a utility by which all jobs that are submitted to the cluster are managed.&amp;nbsp; If you want to have something done at the cluster for you, then you need to use the job scheduler.&amp;nbsp;&amp;nbsp; Debugging is no exception, as you need to create an empty job that will host your debugging application.&lt;br&gt;&lt;br&gt;To get started, open the job scheduler and from the File menu, select Submit Job:&lt;br&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/3yolrq"&gt;

&lt;br&gt;&lt;br&gt;Name your job "Debugging Job" and move over to the Processors tab.&amp;nbsp; Select the number of processors you would like to use for this job and then (this is actually quite important), check the box that says "Run Job until end of run time or until cancelled".&amp;nbsp;&amp;nbsp; Failure to check this box will cause the empty job to run and finish - which is not what we want.&amp;nbsp;&amp;nbsp; We want the job to continually run, so that Visual Studio will then attach the running processes to this specific job.&amp;nbsp; Don't forget to mark this!:&lt;br&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/2lqxlx"&gt;

&lt;br&gt;&lt;br&gt;Next, you need to move to the Advanced tab and select which nodes will be part of your debugging scheme.&amp;nbsp; In this case, I will only use 2 nodes, namely Kim03a (the head node) and Kim02a:&lt;br&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/2nwvrj"&gt; &lt;br&gt;&lt;br&gt;Click on submit job, you should see your job running.&amp;nbsp; Make sure you write down the &lt;b&gt;ID&lt;/b&gt; of the job (in this case, it is 3) as you will need this info later on!!&lt;br&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/37twuy"&gt;

&lt;br&gt;&lt;br&gt;&lt;b&gt;Step 5: Configure Visual Studio&lt;/b&gt;&lt;br&gt;&lt;br&gt;Open Visual studio and the project you are working on.&amp;nbsp; Go to project properties and access the Debugging section.&amp;nbsp; From there, instead of the Local Debugger, select MPI Cluster Debugger:&lt;br&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/323hxd"&gt;

&lt;br&gt;&lt;br&gt;The following screenshot shows my debugger properties window with all necessary values filled in:&lt;br&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/2p8tw6"&gt;

&lt;br&gt;&lt;br&gt;Let's go ahead and talk about each of these values:&lt;br&gt;&lt;br&gt;&lt;b&gt;MPI Run Command:&lt;/b&gt; This needs to be mpiexec for MPI applications&lt;br&gt;&lt;b&gt;&lt;br&gt;MPIRun Arguments:&lt;/b&gt;&amp;nbsp; The first argument "-job 3.0" is to specify which is the job in the scheduler to use.&amp;nbsp; In my case, it was 3 when I created the job, and the 0 is to specify the task, which every job has by default.&amp;nbsp;&amp;nbsp; We then have "-np 2" which is used to specify that we will be using 2 nodes for this job.&amp;nbsp; Finally you see I have "-machinefile \\kim03a\bin\machines.txt".&amp;nbsp; The "-machinefile" is used to specfify the UNV location of a text file that contains the names of the machines that will be part of this job.&amp;nbsp; The text file should have the names of the machines on each line.&lt;br&gt;&lt;br&gt;&lt;b&gt;MPIRun Working Directory: &lt;/b&gt;Use this location to specify the path where any output will be written to.&amp;nbsp; Remember NOT to use absolute paths but rather UNC paths to make sure that this location is available to every node.&lt;br&gt;&lt;br&gt;&lt;b&gt;Application Command:&lt;/b&gt; This is the UNV path to the MPI application that you would like to debug.&amp;nbsp; This application HAS to be compiled to 64-bit and debugging symbols should be in that same directory as well.&lt;br&gt;&lt;br&gt;&lt;b&gt;MPIShim Location&lt;/b&gt;: In this location, specify the path to the mpishim.exe binary that you copied in step 2 of this tutorial.&amp;nbsp; Remember, mpishim should exist on each and every one of the machines at the specified local path.&lt;br&gt;MPI network security mode: I usually change it to Accept connections from any address to avoid problems&lt;br&gt;&lt;br&gt;You probably also noted that there is an &lt;b&gt;Application Arguments&lt;/b&gt; window.&amp;nbsp; In this row you would specify any additional commands you would like to send to the application.&lt;br&gt;&lt;br&gt;Apply the settings, hit F5 and you should be ready to go and debug your processes.&amp;nbsp;&amp;nbsp; While trying to get this to work, I experienced pretty much every error out there, so post in the comments if you any issues and I will help you resolve them.&amp;nbsp;&amp;nbsp; Happy debugging!&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1481" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="High Performance Computing" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/High+Performance+Computing/default.aspx" /></entry><entry><title>How to download the Microsoft Compute Cluster Pack</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/08/08/1480.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/08/08/1480.aspx</id><published>2007-08-09T00:26:00Z</published><updated>2007-08-09T00:26:00Z</updated><content type="html">The Compute Cluster Pack can be downloaded from Microsoft's site; however it is not as trivial as it sounds.&amp;nbsp; These steps will hopefully make it easier to obatin the bits:&lt;br&gt;&lt;br&gt;&lt;ol&gt;&lt;li&gt;Go to &lt;a href="http://www.microsoft.com/windowsserver2003/ccs/default.aspx"&gt;http://www.microsoft.com/windowsserver2003/ccs/default.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Click on the Get the Trial Software link:&lt;/li&gt;
&lt;img src="http://tinyurl.com/3brcmr"&gt;&lt;br&gt;&lt;br&gt;&lt;li&gt;Click on the big blue button that says &lt;b&gt;Get Started Today&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Sign-in to microsoft&lt;/li&gt;&lt;li&gt;Select your country from the list&lt;br&gt;&lt;/li&gt;&lt;li&gt;Fill out the information that is being requested&lt;/li&gt;&lt;li&gt;Review your order total (whooping $0.00), agree to the terms and conditions and click &lt;b&gt;Place Order&lt;/b&gt;&lt;/li&gt;&lt;li&gt;You will get a receipt and can now click on link to go to the installation instructions&lt;/li&gt;&lt;li&gt;You will then be presented with the option to download the Compute Cluster Pack:&lt;/li&gt;&lt;/ol&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/2l77q7"&gt;

&lt;br&gt;&lt;br&gt;Enjoy!&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1480" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="High Performance Computing" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/High+Performance+Computing/default.aspx" /></entry><entry><title>How to Debug MPI Applications in Visual Studio 2005 (Part 1)</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/08/08/1478.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/08/08/1478.aspx</id><published>2007-08-08T21:25:00Z</published><updated>2007-08-08T21:25:00Z</updated><content type="html">While assisting some customers at a High Performance Computing Event, I had the need to remember how to debug an MPI application.&amp;nbsp; See, when you create&amp;nbsp; distributed applications that will run on various computers (nodes) you need to use special tools to debug them.&amp;nbsp; Think about it, you want have a centralized Visual Studio instance and be able to debug each process within the same IDE.&amp;nbsp; Even though the idea sounds demented, the implementation is actually quite simple given that you follow the steps carefully.&amp;nbsp; Let's get started.&lt;br&gt;&lt;br&gt;This is lengthy tutorial, so it will most likely be split into various steps.&amp;nbsp; &lt;i&gt;&lt;b&gt;Edit&lt;/b&gt;&lt;/i&gt;: It is now a 2 part tutorial, Part 2 is &lt;a href="http://blogs.artinsoft.net/csaborio/archive/2007/08/09/1481.aspx"&gt;found here&lt;/a&gt;.&lt;br&gt;&lt;br&gt;&lt;b&gt;Step 1 : Install the Remote Debugger&lt;/b&gt;&lt;br&gt;&lt;br&gt;You need to install the Remote Debugguer on EACH of the nodes that will run the application you are trying to debug.&amp;nbsp; The remote debugger is included on the Visual Studio 2005 distribution media within the “\vs\Remote Debugger\x64” folder.&lt;br&gt;&amp;nbsp;&lt;br&gt;You need to install it on each of the compute nodes (and on the head node if it is going to be working as a compute node).&amp;nbsp; Once you install it, make sure you fire it up so that it will be awaiting connections.&lt;br&gt;&lt;br&gt;You need to use the x64 remote debugguer.&amp;nbsp;&amp;nbsp; Distributed applications on Windows Server 2003 Compute Cluster edition &lt;b&gt;NEED&lt;/b&gt; to be 64-bit if you would like to debug them with mpishim.&lt;br&gt;&lt;br&gt;
&lt;img src="http://tinyurl.com/2ozmu6"&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Step 2: Make mpishim Easily Accesible&lt;/b&gt;&lt;br&gt;&lt;br&gt;When you install the remote debugger, mpishim is installed.&amp;nbsp; Mpishim is the binary responsible for launching the processes on each of the nodes for debugging.&amp;nbsp;&amp;nbsp; The default location for mpishim is "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugguer\x64".&amp;nbsp; The trick here is to copy all those binaries from that x64 folder to a place that is easier to specify (such as c:\windows\system32).&amp;nbsp; By doing so, you do not need to specify the whole path of mpishim when modifying the project properties debug info (which will be done later on).&lt;br&gt;&lt;br&gt;Furthermore, you want to make sure that you copy mpishim to the &lt;b&gt;same location&lt;/b&gt; on &lt;b&gt;EACH&lt;/b&gt; compute node.&amp;nbsp;&amp;nbsp; That is, if you coiped mpishim on c:\windows\system32 on Node 1, then you must copy it for the rest of the nodes as well in the exact same directory.&lt;br&gt;&lt;br&gt;
&lt;img src="http://tinyurl.com/2ogl7x"&gt;
&lt;br&gt;&lt;br&gt;It is a good idea to copy all of the files within that directory in order to avoid missing on a dependency that mpishim may have.&lt;br&gt;&lt;br&gt;&lt;b&gt;Step 3: Modify the Registry&lt;/b&gt;&lt;br&gt;&lt;br&gt;Cmd.exe has an issue with UNC paths.&amp;nbsp; MPI Debugging relies on these paths so just to be safe and make sure nothing breaks, carry out the following modification on each of the clusters.&amp;nbsp; Access the following registry key:&lt;br&gt;&lt;br&gt;&lt;b&gt;HKEY_CURRENT_USER\Software\Microsoft\Command Processor &lt;br&gt;&lt;/b&gt;&lt;br&gt;Add a DWORD entry entitled &lt;b&gt;&lt;i&gt;“DisableUNCCheck”&lt;/i&gt;&lt;/b&gt; and set the value to 1:&lt;br&gt;&lt;br&gt;
&lt;img src="http://tinyurl.com/327e48"&gt;
&lt;br&gt;&lt;br&gt;That about covers the first half, on my next post I will cover the what needs to be done at the scheduler and visual studio level.&amp;nbsp;&amp;nbsp; Read the &lt;a href="http://blogs.artinsoft.net/csaborio/archive/2007/08/09/1481.aspx"&gt;second part&lt;/a&gt; in this link.&lt;br&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1478" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="High Performance Computing" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/High+Performance+Computing/default.aspx" /></entry><entry><title>7z what?</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/08/04/1474.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/08/04/1474.aspx</id><published>2007-08-04T12:59:00Z</published><updated>2007-08-04T12:59:00Z</updated><content type="html">&lt;div align="center"&gt;
&lt;img src="http://tinyurl.com/268bcv"&gt;
&lt;/div&gt;

&lt;br&gt;&lt;br&gt;Sending files can sometimes be a bit pesky.&amp;nbsp; Depending on the size limit set by your SMTP server, you will usually end up splitting the file in smaller chunks or following &lt;a href="http://blogs.artinsoft.net/csaborio/archive/2007/07/16/1471.aspx"&gt;some other method&lt;/a&gt;.&amp;nbsp; There are various compression mechanisms out there that work OK, such as zip or rar.&amp;nbsp;&amp;nbsp; Lately, I have found a new compression format called 7z.&lt;br&gt;&lt;br&gt;I have been compressing archives and the level of compression of 7z (especially with word files that have embedded images) is amazing.&amp;nbsp; I was able to compress a 24 Mb word file to 4 MB in less than 5 seconds.&amp;nbsp; I really don't know if RAR offers the same (or better) compression ratio, but AFAIK, there is no RAR compression solution for OS X.&lt;br&gt;&lt;br&gt;7z has various clients available for lots of platforms out there.&amp;nbsp; My personal for OS X is &lt;a href="http://en.wikipedia.org/wiki/7zX"&gt;7zX&lt;/a&gt;.&amp;nbsp; Download one of them and give them a try, you might save a byte or two.&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1474" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Random" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Random/default.aspx" /></entry><entry><title>VHDMount and TrueImage - Be Careful when formatting drives</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/07/26/1473.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/07/26/1473.aspx</id><published>2007-07-26T16:59:00Z</published><updated>2007-07-26T16:59:00Z</updated><content type="html">Today I was helping a colleage to restore an image that was created with TrueImage to an empty VHD.&amp;nbsp; The process can be narrowed down to the following steps:&lt;br&gt;&lt;br&gt;&lt;ol&gt;&lt;li&gt;Create the image using TrueImage&lt;/li&gt;&lt;li&gt;Create two VHDs on the target VM (one to store the image, and the other to restote the image to)&lt;/li&gt;&lt;li&gt;Mount the VHD that will hold the TrueImage image using vhdmount and format it&lt;br&gt;&lt;/li&gt;&lt;li&gt;Copy the Image from step 1 onto the VHD&lt;/li&gt;&lt;li&gt;Unmmount the image and commit changes&lt;/li&gt;&lt;li&gt;Boot into drive image and restore the image&lt;/li&gt;&lt;/ol&gt;&lt;br&gt;Sounds easy?&amp;nbsp; Well, usually it is - but today I faced a problem with step 3 above.&amp;nbsp;&amp;nbsp; When I mounted the VHD and formatted it, everything seemed fine, but when TrueImage tried to read the VHDs, it barfed and said that it was "unsupported".&amp;nbsp; This was very weird since I mounted the VHDs time and time again without problems and the contents were inside.&amp;nbsp;&amp;nbsp; The VHDs were formatted as NTFS,&amp;nbsp; so there really was no reason for the "unsupported" file format.&lt;br&gt;&lt;br&gt;We tested and decided to format the partitions from within TrueImage using the new hardware wizard.&amp;nbsp;&amp;nbsp; After formatting them, I mounted the one that would hold the TrueImage image, copied the file and then tried to restore the image once again.&lt;br&gt;&lt;br&gt;To my surprise, this time around TrueImage read both drives and the image contained on the VHD that I just copied.&amp;nbsp; After that, it was just a matter of specifying the source and target and the P2V migration was underway.&lt;br&gt;&lt;br&gt;Bottom line, if you are planning on using empty VHDs with TrueImage (the bootable CD), make sure that you format the VHD with the utility itself and not within Windows using vhdmount.&amp;nbsp; Why?&amp;nbsp; Dunno, but if someone would like to shed some light on this issue, please be my guest!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1473" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Virtualization" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Virtualization/default.aspx" /></entry><entry><title>Need to send large files?  Use SendSpace!</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/07/16/1471.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/07/16/1471.aspx</id><published>2007-07-17T01:30:00Z</published><updated>2007-07-17T01:30:00Z</updated><content type="html">There are many possibilities today when you would like to send a big file to a user.&amp;nbsp; IMHO, sending big files over e-mail is a big waste of bandwidth; think about it.&amp;nbsp; You send the file to the mail server, which sends it over to the recipients mail server, which is then transferred over to the recipients machine.&amp;nbsp; The file travels a lot!&lt;br&gt;&lt;br&gt;It is best to send links to files you would like to download (unless you are sending small files).&amp;nbsp; For the last year I had been using &lt;a href="http://www.streamload.com/"&gt;streamload&lt;/a&gt;, but lately things have changed and it has just been awful.&lt;br&gt;&lt;br&gt;I searched for a way to send big files and stumbled upon &lt;a href="http://www.sendspace.com"&gt;SendSpace&lt;/a&gt;, which lets you send files without any problems.&amp;nbsp; They offer a client for uploading files for Windows, Mac OS X, and Linux.&amp;nbsp;&amp;nbsp; Furthermore, they offer some features such as notification when the file you have posted has been downloaded.&amp;nbsp; Here is snapshot of the client, make sure you check it out:&lt;br&gt;&lt;br&gt;&lt;br&gt;

&lt;img src="http://tinyurl.com/2qvvez"&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1471" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author></entry><entry><title>Virtual Server and VMWare Server</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/07/16/1470.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/07/16/1470.aspx</id><published>2007-07-16T23:35:00Z</published><updated>2007-07-16T23:35:00Z</updated><content type="html">During the last month, due to some testing we had to carry out with a software project, I needed to work with 64-bit virtual machines.&amp;nbsp;&amp;nbsp; Virtual Server does not support 64-bit virtual machines, so I downloaded a copy of VMWare's free server solution and decided to give it a try.&amp;nbsp; After playing around with VMWare Server, I've had my ups and downs which I will try to contrast with my previous experiences with Virtual Server.&amp;nbsp; &lt;br&gt;&lt;br&gt;&lt;b&gt;Price&lt;/b&gt;&lt;br&gt;&lt;br&gt;Both are free, no contest there.&amp;nbsp; VMWare requires a registration process to obtain the product key for the server, which can be a bit of a hassle.&amp;nbsp; Virtual Server requires a registration process as well but no product key is needed.&lt;br&gt;&lt;br&gt;&lt;b&gt;64-bit Support&lt;/b&gt;&lt;br&gt;&lt;br&gt;VMWare's server runs as a 32-bit process on 64-bit hosts and offers support for 64-bit VMs (read again, slowly and it will make sense).&amp;nbsp; Virtual Server runs as a 64-bit process on 64-bit hosts and does not offer support for 32-bit VMs. &lt;br&gt;&lt;br&gt;&lt;b&gt;Types of Virtual Hard Drives&lt;/b&gt;&lt;br&gt;&lt;br&gt;VMWare offers virtual drives that expand as they become bigger or ones that are of fixed size.&amp;nbsp; It does not offer what is known as Difference Disks in Virtual Server.&amp;nbsp; These disks are amazing when working with lab environments or for multiple restore points, and is one feature I cannot believe is in some way or another on VMWare.&lt;br&gt;&lt;br&gt;&lt;b&gt;Undo Disks&lt;br&gt;&lt;/b&gt;&lt;br&gt;VMware and Virtual Server both have this option.&amp;nbsp; The restore process under VMWare is easier to carry out than on Virtual Server. &lt;br&gt;&lt;b&gt;&lt;br&gt;Cross Compatibility&lt;/b&gt;&lt;br&gt;&lt;br&gt;VMWare Virtual Server imports Virtual Servers vhds seamlessly.&amp;nbsp; It does, however, convert them to a big mess of chunks that is hard to maintain.&amp;nbsp; Although Virtual Server does not import any other type of virtual hard drive from another reseller, there are tools out there that will do the job for you.&lt;br&gt;&lt;br&gt;&lt;b&gt;GUI&lt;/b&gt;&lt;br&gt;&lt;br&gt;Even though there are some clear advantages of having a web interface for Virtual Server, there should have been a binary to administer it.&amp;nbsp; There are some &lt;a href="http://blogs.technet.com/keithcombs/archive/2007/06/27/vmrcplus-goes-public-download-now.aspx"&gt;new alternatives&lt;/a&gt; out there that might work for Virtual Server, but the bottom line is that the 32-bit client for controlling VMWare's server blows any web application out of the water.&lt;br&gt;&lt;br&gt;Overall, both are excellent products and the fact that they are free is amazing.&amp;nbsp; I have grown so used to Virtual Server that I will continue to use it unless I have the specific need for a 64-bit VM, and when that time comes, I will hopefully be able to use Longhorn Virtualization.&lt;br&gt;&lt;br&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1470" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Virtualization" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Virtualization/default.aspx" /></entry><entry><title>Huge Advice When Upgrading Windows Server 2003 R2 to SP2</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/06/28/1461.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/06/28/1461.aspx</id><published>2007-06-28T07:33:00Z</published><updated>2007-06-28T07:33:00Z</updated><content type="html">I just found out (the hard way) about something (that I could &lt;b&gt;not&lt;/b&gt; find documented anywhere) that should be done when you are upgrading a WIndows 2003 R2 SP1 box to SP2 if you are planning on using WDS.&lt;br&gt;&lt;br&gt;If you upgrade Windows Server without belonging to a domain, WDS will NOT work when you try and configure it.  You will get a very useful error instead:&lt;br&gt;&lt;br&gt;&lt;i&gt;&lt;b&gt;WDS Error Code: 0xe0000102&lt;/b&gt;&lt;/i&gt;&lt;br&gt;&lt;br&gt;which can be translated to:  "You should have been on a domain prior to installing SP2!"&lt;br&gt;&lt;br&gt;AFAIK, there is no turning back.  I tested this theory using virtual machines and it holds - no domain, no WDS, no cigar.&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1461" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Windows Server 2003 (IT Related)" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Windows+Server+2003+_2800_IT+Related_2900_/default.aspx" /></entry><entry><title>Importing a VM from another Product?  Uninstall the Additions!</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/06/27/1460.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/06/27/1460.aspx</id><published>2007-06-28T04:00:00Z</published><updated>2007-06-28T04:00:00Z</updated><content type="html">VMWare, VirtualPC, Virtual Server, Parallels - they all have one thing in common: in order to work faster, they install a set of drivers that patch the VM.  This has a very positive effect on the virtual experience, but what happens when, say - the VMWare drivers are running under Virtual Server?&lt;br&gt;&lt;br&gt;As you might have guessed it, no good things happen.

Products such as Parallels and VMWare Virtual Server allow you to import machines that were created with Microsoft's virtualization products.  If you grab a machine from Microsoft's VHD test drive program and import it right away, you are in for a nasty surprise.  The drivers for the previous product are still there, and they *will* conflict when you install the additions of the new product.&lt;br&gt;&lt;br&gt;So remember, get rid of your product's "additions" *before* migrating virtual machines.&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1460" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Virtualization" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Virtualization/default.aspx" /></entry><entry><title>How to get a machine to use a specific pxeboot file with WDS?</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/05/01/1421.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/05/01/1421.aspx</id><published>2007-05-02T02:36:00Z</published><updated>2007-05-02T02:36:00Z</updated><content type="html">We are racing against time to get an application ready that needs to deploy images with WDS and Active Directory.&amp;nbsp; This is the latest problem I have encountered:&lt;br&gt;&lt;br&gt;&lt;span class="value"&gt;
Ok, so based on this article (&lt;a href="http://technet2.microsoft.com/windowsserver/en/library/383538a3-4129-4205-b363-d36b08e22ca81033.mspx?mfr=true" target="_blank"&gt;http://technet2.microsoft.com/windowsserver/en/library/383538a3-4129-4205-b363-d36b08e22ca81033.mspx?mfr=true&lt;/a&gt;)
, when using WDS and having the machine boot, you can bypass the F12
keypress by replacing pxeboot.ini by pxeboot.n12. &amp;nbsp;This works like a
charm, all machines that boot into the PXE server bypass the F12 key. &amp;nbsp;
However, I would like to specify which machines should boot fron
pxeboot.com and pxeboot.n12. &amp;nbsp; I generated an Excel sheet that has the
info required to prestage the client on the AD. &amp;nbsp;This is what I have
entered on the 4th row:&lt;br&gt;&lt;br&gt;SERVER01 &amp;nbsp; GUID &amp;nbsp; &amp;nbsp;Location.... &amp;nbsp;\\wds_server_name\reminst\Boot\x86\pxeboot.n12&lt;br&gt;&lt;br&gt;This
pre-stages the machine on AD and based on what I have read, will point
the machine (identified by its GUID to boot from the pxeboot.n12 file).&lt;br&gt;&lt;br&gt;I have used the script called "PrestagRISCInt.vbs" (found here: &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=aaf0a7a4-71c1-4ee9-b974-66214651a23b&amp;amp;displaylang=en" target="_blank"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=aaf0a7a4-71c1-4ee9-b974-66214651a23b&amp;amp;displaylang=en&lt;/a&gt;) and issued the following command:&lt;br&gt;&lt;br&gt;cscript /InputFile:C:\Foo.xls /Server:hpc-dc&lt;br&gt;&lt;br&gt;After a short wait, I get the following message: "Success creating new computer accounts in Active Directory based on UUIDs!"&lt;br&gt;&lt;br&gt;When I boot tha machine, it still requests F12 to be pressed, which means that it is STILL using pxeboot.com to boot. &amp;nbsp;&lt;br&gt;&lt;br&gt;I have followed all the instructions carefully, any idea on what the problem might be?&amp;nbsp;&lt;/span&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1421" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Windows Server 2003 (IT Related)" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Windows+Server+2003+_2800_IT+Related_2900_/default.aspx" /></entry><entry><title>Go Away, F12! (or how to disable F12 at bootime to boot into WinPE)</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/04/30/1419.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/04/30/1419.aspx</id><published>2007-04-30T16:52:00Z</published><updated>2007-04-30T16:52:00Z</updated><content type="html">&lt;p&gt;While looking for a way to fully automate the installation of &lt;strong&gt;wim &lt;/strong&gt;image file to a server, we immediately stumbled upon a small problem.&amp;nbsp;&amp;nbsp; When doing a PXE boot, the boot rom imaged asked for the F12 key to be pressed.&amp;nbsp; If the key was not pressed, the machine booted normally into Windows - so much for the automation idea, huh?&lt;/p&gt; &lt;p&gt;Fear not, as Stephen sent me a &lt;a href="http://technet2.microsoft.com/windowsserver/en/library/383538a3-4129-4205-b363-d36b08e22ca81033.mspx?mfr=true"&gt;link&lt;/a&gt; that explains the following from a RIS installation:&lt;/p&gt; &lt;p&gt;"...&lt;em&gt;To enable a fully automated RIS-based installation, it is necessary to substitute the Startrom.n12 boot file for the default Startrom.com boot file&lt;/em&gt;..."&lt;/p&gt; &lt;p&gt;Further reading revealed this vital piece of&amp;nbsp;information:&lt;/p&gt; &lt;p&gt;&lt;em&gt;To configure all clients serviced by a RIS server with an automated installation, rename the startup boot files as follows:&lt;br&gt;• Change Startrom.com to Startrom.bak&lt;br&gt;• Change Startrom.n12 to Startrom.com &lt;/em&gt; &lt;/p&gt;&lt;p&gt;&lt;em&gt;These files are located in the following directory location on your RIS server: &lt;/em&gt; &lt;/p&gt;&lt;p&gt;&lt;em&gt;RemoteInstall\OSChooser\i386&lt;/em&gt; &lt;/p&gt;&lt;p&gt;There are certain differences between the RIS and WDS installations, but nothing big.&amp;nbsp;&amp;nbsp; First off, the location of the files for boot time (given that it is a 32-bit box is the following): &lt;/p&gt;&lt;p&gt;\\WDS_Server_Name\reminst\Boot\x86 &lt;/p&gt;&lt;p&gt;There you will &lt;strong&gt;not&lt;/strong&gt; find &lt;strong&gt;Startom.com&lt;/strong&gt; and &lt;strong&gt;Startrom.n12&lt;/strong&gt;, but rather &lt;strong&gt;pxeboot.com&lt;/strong&gt; and &lt;strong&gt;pxeboot.n12&lt;/strong&gt;. &lt;/p&gt;&lt;p&gt;If you rename &lt;strong&gt;pxeboot.n12 &lt;/strong&gt;to &lt;strong&gt;pxeboot.com&lt;/strong&gt;, your machine will PXE boot and will &lt;strong&gt;NOT&lt;/strong&gt; ask for F12 key press.&amp;nbsp;&amp;nbsp; Ok, now that the problem is solved, we can go back and try to find solutions for the remaining 500. &lt;/p&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1419" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Windows Server 2003 (IT Related)" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Windows+Server+2003+_2800_IT+Related_2900_/default.aspx" /></entry><entry><title>Workaround for OCX State Problem (VMRC Active X)</title><link rel="alternate" type="text/html" href="http://blogs.artinsoft.net/csaborio/archive/2007/04/26/1415.aspx" /><id>http://blogs.artinsoft.net/csaborio/archive/2007/04/26/1415.aspx</id><published>2007-04-26T15:31:00Z</published><updated>2007-04-26T15:31:00Z</updated><content type="html">&lt;p&gt;On a &lt;a href="http://blogs.artinsoft.net/csaborio/archive/2007/04/09/1398.aspx"&gt;previous post&lt;/a&gt; I was having problems with the VMRC ActiveX control when creating an instance at runtime.&amp;nbsp; The problem boiled down in having an invalid OCX state exception thrown at me whenever I tried to access a property of the VMRC ActiveX control at runtime.&lt;/p&gt; &lt;p&gt;After researching for quite a while on the Internet, it struck me that if I just placed the VMRC ActiveX in a UserControl at Design time, and instantiated that UserControl instead of the ActiveX directly, things would work great.&amp;nbsp; I implemented this into the VMCA application and it worked perfectly fine.&amp;nbsp;&amp;nbsp; You can see I managed to get VMRC connections to different machines in different tabs at runtime on &lt;a href="http://blogs.artinsoft.net/csaborio/archive/2007/04/13/1400.aspx"&gt;this post&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Some people have asked where they can get a copy of the VMCA.&amp;nbsp; Unfortunately as of now, the application hasn't been thoroughly tested and is missing some functionality which I deem as basic.&amp;nbsp; Also, this is something I have been working on my spare time and lately I have been swamped with other projects.&amp;nbsp; Perhaps the best approach would be to take it to stable phase and then try and get it on &lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt; so that everyone can pitch in...we'll see how that goes.&lt;/p&gt; &lt;p&gt;For all things related to software migration, be sure to visit &lt;a href="http://www.artinsoft.com/"&gt;Artinsoft's website&lt;/a&gt;. For training in Visual Basic to C# migrations, Visual Basic to VB.Net, Virtualization, and 64-bit training check our &lt;a href="http://www.artinsoft.com/tr_home.aspx"&gt;training web page&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1415" width="1" height="1"&gt;</content><author><name>Csaborio</name><uri>http://blogs.artinsoft.net/members/Csaborio.aspx</uri></author><category term="Virtualization" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/Virtualization/default.aspx" /><category term="C#" scheme="http://blogs.artinsoft.net/csaborio/archive/tags/C_2300_/default.aspx" /></entry></feed>