Showing posts with label Virtualization. Show all posts
Showing posts with label Virtualization. Show all posts

Wednesday, June 03, 2009

Finally Groove file synchronization working on x64 …

I have finally solved the problem of getting Groove file synchronization to work on 64-bit Windows -

image

As you can see I’m running x64-based PC and my groove is syncing 553 MB to my colleagues/other computers.

The only catch is that it’s a workaround rather than a solution ;-) I am “seamlessly” integration a 32-bit Windows 7 installation running in Windows Virtual PC Beta that you can download from here. If you don’t want to bother installing Windows 7 in your guest, then the Virtual XP supplied from Microsoft as VHD installation works as well.

It’s not new that you can solve Groove filesync by running a 32 bit Virtual guest system, the new feature with Windows Virtual PC is that it runs as an virtualized application that have the look and feel of all my other applications and that can be started as an application in my startup folder ;-)

Also until now, even with the rather slow CPU on my Lenovo X301, I haven’t seen any performance hit on the host computer and I have been running all of my usual applications (5-6 PowerPoint's, IE8, Outlook, Office Communicator, MyMobiler etc.) and demoing UC for my students this week (Of course 4 GB of ram helps, but still …).

Wednesday, May 13, 2009

Virtualization with OCS 2007 R2

Quick goodie - As expected/promised all roles except those handling Audio/Video are supported – read more at the Communications Server Team blog in the blog post Office Communications Server 2007 R2 Virtualization.

Friday, August 22, 2008

Exchange and Virtualization

So, can I run Exchange on a virtualization product? Yes, probably, but is it supported? You can read that in  Microsoft Support Policies and Recommendations for Exchange Servers in Hardware Virtualization Environments. The support is rather limited or should I say restricted -

  • Only validated hypervisors - that makes sense
  • Only Exchange 2007 SP1 on Windows Server 2008 - why not WS03?
  • No UM role
  • "No other server-based applications, other than management software (for example, antivirus software, backup software, virtual machine management software, etc.) can be deployed on the physical root machine. The root machine should be dedicated to running guest virtual machines."  - this is a tough requirement to meet, don't you think?
  • No dynamically expanded disks - why not (besides the performance hit)?
  • No clustering if the virtualization has comparable failover - makes sense, could be rather complicated. The recommendation is to do the high-availability using Exchange technologies.
  • No snapshots - wasn't this one of the big benefits of virtualization
  • A small restriction on the virtual CPUs - no big deal IMHO

In any case, read it for yourself and go back to the MS article whenever your want to read it again, so you pick up the latest changes.

Thursday, July 17, 2008

Determining your Hyper-V version

<rant>

Figuring out versions is often way too hard. Why can't I simply see the version in Add or Remove Programs or in the feature overview? Why do I have to mess around with build numbers? Isn't this 2008!

</rant>

The other day, I had to figure out which Hyper-V and SCVMM version a server was running. Luckily, I found this and this article.

I PowerShelled the Hyper-V part, so you can use it easily in your scripts (and if you execute the WMIC command from PowerShell, it will not work owing to parsing differences between cmd and PowerShell). Here is my Get-HyperVVersion.ps1, but you can also execute it directly -

$file=get-command c:\windows\system32\vmms.exe
switch ($file.fileversioninfo.productversion.split(".")[-1]) {
17101 { "Beta" }
18004 { "RC0" }
18010 { "RC1" }
18016 { "RTM" }
}


Note how Get-Command can 'reveal' the versioninfo of a executable/DLL.

Friday, June 27, 2008

Hyper-V RTM'ed

yesterday. So now I'll start updating my test system to see if these errors are gone:

  • Keyboard does not always work after a boot. A shutdown/start normally fixes the problem
  • Network is sometimes messed completely up if you switch the network the guest is connected to
  • "Type clipboard text" only works if you guest runs US English keyboard layout. It seems to generate/emulate keyboard stokes so slash are written as dashes (on a Danish keyboard)
  • Virtual Machine Connection crashes

Get the 64-bit update here. Remember to get rid of all save states and snapshots before upgrading! Get the full release notes here.

Tuesday, March 18, 2008

Vmware Virtualization Security Best Practices

Following security Best Practices is the key to maintaining strong security
in a virtualized IT environment. Read below to get guidance on implementing and
maintaining your virtual infrastructure with Best Practices for secure design,
deployment, operations and networking


Read more here on vmware's site.

Friday, March 07, 2008

Global Computing Platform..

A good quote from Jungle Dave -

While the media is focused on the “social” revolution changing the face of the web through sites like MySpace and Facebook, the real revolution is happening behind the scenes as the Internet changes from being a global communication platform to a global computing platform

With challengers appearing in the market JungleDisk may support multiple backing stores.

Read it all here.

Monday, February 11, 2008

x64 Clients on Hyper-V

This is almost too easy. Just create a client - you do not have to specify 32 or 64 bit anywhere. Select a 64-bit installation image and on you go.

Here's a screenshot, the white PowerShell window is from the host, the rest from the virtual server.

image

 

Nice!

Wednesday, February 06, 2008

Importing Virtual Server guests into Hyper-V

As said, I was going to figure out why the import failed. I started off looking at the permissions of C:\ProgramData\Microsoft\Windows\Hyper-V. It turns out that a security identifier called Virtual Machines has full control. Naturally, I jumped to my c:\guest\psk10 folder at tried to add the security identifier. But the dialog box cannot find it and as it is not a local group on my server, it must be a new built-in security identifier - one that the brand-new WS08 GUI does not recognize!

Luckily, PowerShell exists, so it is quite easy to get rid of all that GUI translation stuff and get to the real deal -

image

I bet S-1-5-83-0 is Virtual Machines and a to confirm it, I went searching on MSDN -

So I have to prove my point myself -

> $acl=get-acl C:\Guests\psk10
> $acl.SetSecurityDescriptorSddlForm( ($acl.sddl + "(A;;FA;;;S-1-5-83-0)(A;OICIIO;0x101f01ff;;;S-1-5-83-0)") )
> set-acl C:\Guests\psk10 -AclObject $acl
>

Voila, its there -

image

Microsoft, get you documentation up-to-date!

After this, I tried the import. Looking in the eventlog, I found "Failed to find virtual machine import files under location 'C:\Guests\psk10\'." I wonder: Have I misunderstood "Import" and is Import simply an operation that adds an existing Hyper-V Virtual Machine? Is there not easy way to migrate Virtual Server guests? Maybe, I have to look at SCVMM.

I tried to find some information about this, but did not succeed. In my search, I found another interesting item - the team blog at http://blogs.technet.com/virtualization/

A first look at Windows Server 2008 and Hyper-V

After downloading the Windows Server 2008 RTM, yesterday, I upgraded my RC1 system to RTM. No problems what so ever - great.

Hardware

My system is a desktop, a Dell Dimension E520 with 4 Gigs or RAM and I am very satisfied with it: It is silent, uses only 130 W when idle and runs 10 Virtual Machines each having 300 GB without problems. If they all apply hotfixes or are running similar IO heavy activity at the same time, you feel the IO bottleneck but besides that, its quite fast.

Installation

Next, I was looking a how to get Hyper-V running, so I could get rid of Virtual Server. Even though I was quite happy with that, you know how it is: You have to try the latest and the greatest. When things starts to run well, it is time to change it...

Well, it turns out that the pre-release of Hyper-V is part of the RTM installation, so I simply added the Hyper-V role to the server and restarted it. After restart it is a matter of finding Administrative Tools and select Hyper-V Manager. You also have to accept a pre-release EULA.

Migration of Virtual Server guests

I started trying to import an existing Virtual Server guest, but got a badly written error message: The operation was passed an invalid parameter. I tried both with and with-out 'Reuse old virtual machine IDs' (whatever that means - haven't found a help topic yet). I also tried to give NETWORK SERVICE modify access to the folder, as I can see the Microsoft Hyper-V Image Management Service uses that account. Did not help either.

Snapshot

Next, I created a new Virtual Machine and liked a lot that I asked me about OS installation in the wizard. I selected a Windows Server 2003 SP2 ISO image and off it went. I started to play with snapshots and took one while the installation had copied 6% of the files. Then I waited until it reached 9% and applied the snapshot - and I was back in time. Very nice.

I also tried the other scenario, where you can create a new snapshot before applying one. Soon, I had a bunch of snapshots and it is very easy to jump back and forth between the versions - but I guess, it is also very easy to get confused and you have to take care if the server is a domain controller or your have some other kind of distributed system.

Mouse Control

A small warning: When you use the new remote control feature - called Virtual Machine Connection - your have to release your mouse using CTRL+SHIFT+LEFT ARROW. Well, I did not succeed in that across Remote Desktop. I had to visit the server (approx 60 cm behind me!) and do it from the console. It is configurable, but CTRL+ALT+SHIFT did not work either. I could only make it work in full screen or if I choose to send "Windows key combinations" to the remote server. For me, this is a bug.

But as I browsed the web trying to find something about the importing problem, I found out that this is actually already documented in the release notes. Quote "The use of Virtual Machine Connection within a Terminal Services session is not supported".

BTW: If you disconnect and re-connect, you can get your mouse activated outside of the Virtual Machine Connection window. If your server is farther away than mine, that may be an option.

Resume after restart of host

Another good thing: With Virtual Server you had to configure an account, to enable a Virtual Machine to start automatically. This is not the case with Hyper-V. Actually, "Automatically start if it was running when the service stopped" is selected by default.

Conclusion so far

Seems ok, but I have to look more closely at the importing problem and the scripting interface.

Sunday, November 25, 2007

VMRCplus v1.6

Just saw that VRMCplus that I wrote about earlier has been updated to v1.6. Get it here.

The changes are (taken from this blog post)

So what is new in 1.6.0?
First of all, the UI reflects Virtual Server terminology. Both Paul and I had used a mix of Virtual Server terminology and internal (SDK) terminology. To reflect the terminology used in the web administration UI of Virtual Server, the terminology of VMRCplus has been updated.
Second, VMRCplus now offers configuration of scripts on both the Virtual Server and Virtual Machine level. This was missing from the previous release.
Third, VMRCplus offers configuring promiscuous mode on the network so you can trace traffic in the virtual switch. This is something Virtual Server does not offer in the web administration UI.

Of course there have been minor enhancements like storage of Console Manager coordinates, conflict handling when a shortcut already exists (something Virtual Server fails to resolve).

The COM and LPT port assignment logic has been fixed (most of it did not work).
The x86 installer package no longer installs on x64. This has been done to prevent issues with 32-bit VMRCplus on 64-bit Virtual Server.

Error handling has been enhanced and several issues have been fixed.

Monday, November 12, 2007

Viridian becomes Hyper-V

Marketing is a strange beast. Server virtualization in Windows Server 2008 - e.g. the replacement of Virtual Server - will be called Hyper-V. I already hate that name! HyperV perhaps - but why the hyphen??

Anyway, Hyper-V will be a server feature that can be turned on. Microsoft is also planning a Hyper-V Server SKU.

Hyper-V is still expected to be delivered 6 months after Windows Server 2008.

On the management side, it was demoed at the keynote here in Barcelona, a virtual server manager that could manage Virtual Server 2005, Hyper-V *and* WMware server!

Wednesday, September 19, 2007

Wake Active Directory from the Dead

So you have this 10-server test setup with multiple domains, multiple domain controllers, member servers and clients. It is running Virtual Server and for some months ago you left it and now it is time to use it again.

You power it back on and everything works - - - Not (If you seen Borat you know what I mean!)
The object changes I made in the child domain did not appear in the GC on the parent domain!?

Looking into the problem, I found this event -

Event Type: Error
Event Source: NTDS Replication
Event Category: Replication
Event ID: 2042
Date: 19-09-2007
Time: 11:37:04
User: NT AUTHORITY\ANONYMOUS LOGON
Computer: SRV02
Description:
It has been too long since this machine last replicated with the named source machine. The time between replications with this source has exceeded the tombstone lifetime. Replication has been stopped with this source.
The reason that replication is not allowed to continue is that the two machine's views of deleted objects may now be different. The source machine may still have copies of objects that have been deleted (and garbage collected) on this machine. If they were allowed to replicate, the source machine might return objects which have already been deleted.
Time of last successful replication:
2007-04-12 15:57:10
Invocation ID of source:
032bf6c8-f6b8-032b-0100-000000000000
Name of source:
d063611f-7ff1-4445-a7bf-45bd0066dcc6._msdcs.dlt-root.as
Tombstone lifetime (days):
60

The replication operation has failed.

User Action:

Determine which of the two machines was disconnected from the forest and is now out of date. You have three options:

1. Demote or reinstall the machine(s) that were disconnected.
2. Use the "repadmin /removelingeringobjects" tool to remove inconsistent deleted objects and then resume replication.
3. Resume replication. Inconsistent deleted objects may be introduced. You can continue replication by using the following registry key. Once the systems replicate once, it is recommended that you remove the key to reinstate the protection.
Registry Key:
HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Allow Replication With Divergent and Corrupt Partner

Oh no - do I have to rebuild it all? Fortunately not. Doing a series (the message says registry key, but it is a value) of -
reg \\server\HKLM\System\CurrentControlSet\Services\NTDS\Parameters /v "Allow Replication With Divergent and Corrupt Partner" /t reg_dword /d 1

(one line, but may be wrapped here)

and restarting the domain controllers solved the problem.

Read more in Event ID 2042: It has been too long since this machine replicated

Monday, July 23, 2007

Finding Virtual Servers in a domain

John Howard wrote an article of how to do it from vbscript. I couldn't resist doing it with PowerShell -

Get-VirtualServerFromAD.ps1 -



param([switch]$nameOnly)

$ds=[system.directoryservices.directorysearcher] "(&(objectCategory=serviceConnectionPoint)(cn=MS Virtual Server))"
$servers=$ds.findall()
if ($nameOnly) {
$servers | % { $_.path.split("=,")[3] }
}
else {
$servers
}



Could it be much easier?

Update: the software ate the vertical bars etc.

Wednesday, July 18, 2007

VRMCplus

Microsoft has released an alternative to the Virtual Server Administration Web. VMRCplus is a new VM client display and management tool. Read more here and here. Download it from here.

Things to note -
  • Alternate credentials as not supported. Use runas (even without trusts)
  • This is great if you do not wish to install the web site or IIS on your Virtual Servers (did anyone say Windows Server Core?)
  • The tools is as-is e.g. unsupported

Give it a spin!

Thursday, April 12, 2007

Viridian and Virtual Server Timing Update (A.k.a. delayed)

Mike Neil who is the general manager for virtualization strategy has announced an updated/delayed timeplan for Viridian and Virtual Server -

The public beta of Windows Server virtualization will ship in the second half of 2007, not in the first half as previously disclosed.

Still 180 days after the longhorn release

The final version of
Virtual Server 2005 R2 service pack 1 now will be available in Q2, not Q1 as previously stated. In the interim, customers and partners can download a Release Candidate (RC) version later this month - this is code complete and an update to the current beta 2.

I still wonder why Virtual PC 2007 supports 64 bit guest OS and Virtual Server doesn't - anyway IMHO after approx. 6 months since the the release of beta 2 its about time for the RC ;-)

Read the complete announcement here. Originally seen here.

Friday, February 09, 2007

Microsoft's Virtualization Offerings Suck

I just stumbled across Robert McLaws post Microsoft's Virtualization Offerings Suck and I do agree with a few of the points he is making (GUI and 64 bit guest support mainly).

We've been sticking with Virtual Server for some time and the main reason for that has been PSS supportability and licensing (Actually we have both VMWare and Virtual Server in our environment). But now we want to setup Exchange 2007 in "real" production environment and has bought a beefy server for that (Quad-core, 64 bit, 8 GB, six 15.000 RPM spindles in RAID 10).
Furthermore, as we wan't to mirror our enterprise customers environments I was planning on using Virtual Server to create and separate all the possible Exchange Server 2007 roles on a single server.

I've been running the 64 bit version of Virtual Server 2005 SP1 (Beta 2) for a while on my demo machine, but only with 32 bit guests due to the products I'm testing (Primarily LCS 2005 and Exchange 2007 32 bit). I thought that 64 bit guest support would be part of the final SP1 package (never bothered to check 'cause it was "a given"). But I just discovered that its first planned to be released as part of the Windows Server Virtualization (a.k.a. Viridian) offering that is due 90 days after Longhorn release and then only on the Longhorn platform :-(

So I guess we will ditch the support and go with VMWare Server for this server (I guess I for a while will have a hard time to handle customers complaints regarding how they think Microsoft supports "legacy" systems and how the products always seems to be much better/working as they should .. in the "next version").

Tuesday, January 23, 2007

PowerShell output strangeness

When I run batch jobs, I normally use a stub (here simplified) like this –

Set name=%~n0
Set log=%temp%\%name%.log
Set recursive=%1
If not defined recursive %0 yes >”%log%” 2>&1
The-command-you-want-to-run


In this way, I can ensure that I capture all output, including stderr (stream #2) in stdout (stream #1).

So I adapted the same approach with PowerShell – and got into problems. Actually, at first, I thought that I had made a work-around and would simply stick to that, but as it resurfaced, I decided to narrow it down and find the real problem.

The problem appears like this error message –

The OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. This may cause data loss.
out-lineoutput : The OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. This may cause data loss.



So how do I generate this message? Simply run this script with the above batch wrapper –

"start"
copy-item fds fdsaf
"end"


The abstract from the log generated is -

C:\>powershell -command .\x.ps1
start
Copy-Item : Cannot find path 'C:\Documents and Settings\Administrator\fds' because it does not exist.
At C:\Documents and Settings\Administrator\x.ps1:2 char:10
+ copy-item <<<<
out-lineoutput : The OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. This may cause data loss.



Note, that removing the start and/or the end line, makes the error *not* appear.

So, how should this wrapper work with PowerShell? Well, from what I can figure out, PowerShell never writes to stderr, so everything can be captured by redirection stdout with >. Even output from write-host get captured.

But, anyway - this seems a minor bug in PowerShell.

Tuesday, July 25, 2006

Virtual PC fix for laptops

I'm using VPC on my laptop and after suspends/hibernations, the screen goes blank and I have to restart VPC to get it back in shape. Well, according to Virtual PC Guy a laptop hotfix was just released. Fine, but versioning is to say at least weird for Virtual PC 2004 as I have written about earlier. This time, you have to download SP1 (again). Microsoft.com/downloads calls this version 582.27 but with a release date of July 12th 2006. Downloading the zip and opening it, reveals a subfolder called Laptop Hotfix. This folder contains the MSP-file, that you want to apply to you laptop. The hotfix has an associated KB 889677.

After applying the hotfix, my version is now called (5.3.)582.32...

The Hypervisor term

Hi. Now that my summer vacation is approching the end (bad, bad), I just catched up on a few blogs including Virtual PC Guy. Ben has a good article on what the Hypervisor term actually is.

And while being there, I also followed his link to Wolfenstein 3D and took a little stroll down memory lane...