Tag Archives: cluster

Creating a cluster with PowerShell

I’m obviously so late with this post that others (Jan Egil Ring) have posted about this already. Considering he’s running a blog about Powershell, his script most likely looks a lot better than mine too…

Below is the script I used at TechEd in Berlin to create my 2-node cluster. You can watch the video from TechEd if you’re interested in knowing more about clustering. It’s Symon Perryman, PM from Microsoft that does most of the talking. I’m the demo guy 🙂

Note that in this script a lot of the information is hardcoded, such as nodenames, iscsi-information and ip-addresses. I’m working on a version which will ask you for the needed information but I haven’t finished it yet, this ought to get you started though.

write-host -foreground red "CREATING A 2-NODE CLUSTER WITH POWERSHELL`n`n"
sleep 3
#Start iSCSI
sleep 1
icm fs01 -scriptblock {set-service msiscsi -startuptype automatic}
icm fs01 -scriptblock {start-service msiscsi}
sleep 1
icm fs02 -scriptblock {set-service msiscsi -startuptype automatic}
icm fs02 -scriptblock {start-service msiscsi}

#Connect disks
write-host -foreground red "`nCONFIGURING iSCSI CONNECTIONS`n`n"
icm fs01,fs02 -scriptblock {iscsicli qaddtargetportal}
icm fs01,fs02 -scriptblock {iscsicli persistentlogintarget iqn.clu02-quorum T * * * * * * * * * * * * * * * 0}
icm fs01,fs02 -scriptblock {iscsicli persistentlogintarget iqn.clu02-storage T * * * * * * * * * * * * * * * 0}
icm fs01,fs02 -scriptblock {iscsicli qlogintarget iqn.clu02-quorum}
icm fs01,fs02 -scriptblock {iscsicli qlogintarget iqn.clu02-storage}
#Partition and format
write-host -foreground red "`NPARTITIONING AND FORMATTING DISKS`N`N"
icm fs01 -scriptblock {sc $env:tempdiskpart.txt @"
list disk
select disk 1
online disk
att disk clear readonly
create partition primary
format fs=ntfs quick
assign letter=q
select disk 2
online disk
att disk clear readonly
create partition primary
format fs=ntfs quick
assign letter=s
"@ -encoding ascii}
icm fs01 -scriptblock {diskpart /s $env:tempdiskpart.txt}
#Install feature
icm fs01,fs02 -scriptblock {load-mo -install Failover-Clustering}
#Create cluster
write-host -foreground red "`nCREATING CLUSTER`n`n"
New-Cluster FileCluster01 -Node fs01,fs02 -staticaddress
#Add disks
write-host -foreground red "`nADDING DISKS TO CLUSTER`n`n"
Get-ClusterAvailableDisk | Add-ClusterDisk

Cluster related sessions at TechEd Berlin 2010

If you’re into clustering and high availability there are a lot of sessions at TechEd Berlin 2010, below is a list of the sessions scheduled.

I’ll be going and will be showing some demos together with Symon from the Cluster team at Microsoft. Hope to see you there!

Credits to Hans for compiling the list (I just stole it)!

VIR309 – Disaster Recovery by Stretching Hyper-V Clusters Across SitesTuesday, November 9 | 6:00 PM – 7:00 PM

Session Type: Breakout Session

Track: Virtualization

Speaker(s): Symon Perriman, Edwin van Mierlo

As servers are consolidated into VMs, the availability of those VMs is becoming increasingly important in providing disaster tolerance and business continuance. This session covers considerations of multi-site clustering, where virtual machines can be configured on a Hyper-V Failover Cluster that reaches across sites. This session also covers conducting live migrations across datacenters, and considerations of Cluster Shared Volumes with replication software.

WSV203-IS – Failover Clustering 101: Everything you Wanted to Know but were Afraid to Ask
Thursday, November 11 | 2:30 PM – 3:30 PM

Session Type: Interactive Session

Track: Windows Server

Speaker(s): Symon Perriman

Want to learn about Windows Server 2008 R2 Failover Clustering for the first time? We will show you how to build a highly-available File Server and Hyper-V cluster in just a few simple steps, while answering any and all of your questions. We will cover planning, licensing, virtualization, support, validation, hardware, networking considerations, building a cluster, deploying workloads on a cluster, and deploying virtual machines on a cluster. No prior clustering knowledge is needed!

WSV306-IS – Failover Clustering with Hyper-V Unleashed in Windows Server 2008 R2
Wednesday, November 10 | 10:30 AM – 11:30 AM

Session Type: Interactive Session

Track: Windows Server

Speaker(s): Symon Perriman & Cluster MVPs

This is a free-form session that will demo, whiteboard and discuss what’s on YOUR MIND! Share the pain you have using Failover Clustering with Hyper-V, ask difficult questions or let us know why some customers avoid clustering even when there is a need to implement a high availability solution. Get the answers you need, directly from the world’s leading clustering experts.

WSV313 – Failover Clustering in 2008 R2: What’s New in the #1 High-Availability Solution
Friday, November 12 | 9:00 AM – 10:00 AM

Session Type: Breakout Session

Track: Windows Server

Speaker(s): Symon Perriman

Learn about what makes Windows Server 2008 R2 Failover Clustering the top Server High-Availability solution! Clustering has changed in every area since 2003, so in this technical session you will learn about Hyper-V, Live Migration, validation, flexible hardware requirements, easy deployment, migration, Cluster Shared Volumes multi-site clustering and easier management. A live demo will deploy a 2008 R2 Failover Cluster from scratch. Clustering knowledge recommended.

WSV403 – Failover Clustering & Hyper-V: Planning your Highly-Available Virtualization Environment
Wednesday, November 10 | 5:30 PM – 6:30 PM

Session Type: Breakout Session

Track: Windows Server

Speaker(s): Symon Perriman, Joachim Nasslander

This technical session will discuss Hyper-V and Failover Clustering live migration, deployment considerations, licensing, upgrades, host clustering, guest clustering, disaster recovery, multi-site clustering, System Center Virtual Machine Manager, hardware and validation. What are the pros and cons of each virtualization solution? What’s right for my customers and their scenarios? What about combining physical and virtual machines in the same cluster? This session will include a live demo of a Hyper-V Cluster deployment and live migration.

WSV01-HOL – Implementing High Availability
Session Type: Hands-on Lab

Track: Windows Server

This top-rated lab introduces the process for creating highly available services using Windows Server 2008 R2 cluster technologies, as well as basic administration tasks with new clustering PowerShell Cmdlets.

Partner Team Events

DAT210 – Mission Critical: High Availability Overview
Tuesday, November 9 | 10:30 AM – 11:30 AM

Session Type: Breakout Session

Track: Database Platform

More information coming soon.

DAT211 – Mission Critical: Comparing High-Availability Solutions
Tuesday, November 9 | 4:30 PM – 5:30 PM

Session Type: Breakout Session

Track: Database Platform

More information coming soon

DAT212 – Mission Critical: Improving High-Availability
Wednesday, November 10 | 9:00 AM – 10:00 AM

Session Type: Breakout Session

Track: Database Platform

More information coming soon.

DAT303-IS – Performance Scalability and Reliability on Mission Critical Applications with Microsoft SQL Server 2008 R2 and Windows Server 2008 R2
Wednesday, November 10 | 4:00 PM – 5:00 PM

Session Type: Interactive Session

Track: Database Platform

Speaker(s): Lonnye Bower, Nitasha Chopra

Join us on a walk-through of the steps we took to improve performance of a SQL Server 2008 R2 Tier 1 Mission Critical Core Banking application by more than 30% . Learn the processes we followed that resulted in:

· A world record number of transactions per second (tps), compared to other database platforms, for an ISV Partner application (specifics about the ISV and the application will be shared in the session as the details are pending public release)

· Improving performance to push SQL Server to execute over 120,000 batches per second (YES! That’s 120K batches per second!)

· Overcoming the issues we encountered during the exercise

You will garner tips and tricks used by Microsoft’s SQL Performance Group and SQL Server Customer Advisory Team (SQLCAT) to optimize mission critical customer applications. You will also be able to review the different hardware architectures (based on the Intel® Xeon® processor 7500 series) involved in the exercise and the limits that were pushed by each. At the end of this session, you will receive several simple takeaways to help you obtain better levels of performance out of your enterprise implementations.

MGT201-LNC – Managing Your Virtual Environments
Thursday, November 11 | 1:20 PM – 2:05 PM

Session Type: Lunchtime Session

Track: Management

Speaker(s): Kenon Owens, Michael Michael

Grab your lunch and bring your questions. Join Management and Virtualization Experts for a ‘No Holds Barred’ Question and Answer Session on how Microsoft can help you manage your virtualization environment in the datacenter. This session will highlight some of the new capabilities of System Center and Windows Server 2008 as we answer your questions candidly on topics including: Disaster Recovery and Availability; Virtual Machine Sprawl; how Virtualization can assist in my Service Oriented World; Server Application Virtualization; and Transitioning to Private and Public Clouds.

PRC05 – Microsoft Exchange Server 2010 High Availability and Disaster Recovery – Be Prepared
Monday, November 8 | 9:00 AM – 3:30 PM

Session Type: Pre-Conference Seminar

Track: Unified Communications

Speaker(s): Vladimir Meloski

Microsoft Exchange Server is a business-critical system for many organizations. This workshop will provide you with knowledge on how to respond to the challenges of managing Microsoft Exchange Server 2010 high availability, and how to address any disaster recovery scenario. You will also learn about deploying healthy and performance optimized Exchange Organization.

The topics will include:

· Planning for high available network and site environment

· Planning for hardware and storage technologies

· Planning Active Directory for Exchange Organization

· Planning and deploying high availability for mailbox server roles, using Database Availability Groups

· Planning and deploying high availability for non-mailbox server roles, using software or hardware Network Load Balancing and Client Access Arrays for Client Access Server role, as well as strategies for Hub Transport, Edge and Unified Messaging server roles

· Planning for site resilience, and the steps needed to switchover successfully to an alternative disaster recovery site

You will find out how to implement efficient backup and restore strategies, for both mailbox and non-mailbox server roles, using Windows Server Backup and Microsoft System Center Data Protection Manager 2010, but also discover how you might choose to run backup-less Exchange Organization and use raid-less and JBOD storage technologies for mailbox server roles. You will learn about the techniques on how to test and verify your high availability and disaster recovery strategies, including scenarios from disk to site failure. After completing this workshop you will know best practices for implementing high availability, and for providing healthy, reliable and optimized Exchange Organization.

UNC303 – Microsoft Lync Server 2010 : Voice Architecture and Planning for High Availability
Thursday, November 11 | 2:30 PM – 3:30 PM

Session Type: Breakout Session

Track: Unified Communications

Speaker(s): Jamie Stark, Sundereshwaran Raman

The Lync Server team has made a significant investment in high availability with the upcoming release. In this session we review the new Survivable Branch Appliance offering for branch office resiliency, the new features for data center-based multi-site failover, and intra-site architecture for high availability.

UNC321-IS – Microsoft Exchange 2010 SP1 High Availability: Ask The Experts
Thursday, November 11 | 6:00 PM – 7:00 PM

Session Type: Interactive Session

Track: Unified Communications

Speaker(s): Ross Smith IV, Scott Schnoll

Do you have questions about high availability or site resilience in Exchange Server 2010 SP1? Ross Smith IV, Principal Program Manager, and Scott Schnoll, Principal Technical Writer, will be on hand to answer your questions.

Curious about design considerations? Wondering about networking requirements? Thinking about deployment options? This session is intended to be highly interactive and completely Q&A driven, so bring your questions and join in the fun.

UNC401 – Microsoft Exchange Server 2010: High Availability Deep Dive (including changes introduced by SP1)
Thursday, November 11 | 10:30 AM – 11:30 AM

Session Type: Breakout Session

Track: Unified Communications

Speaker(s): Scott Schnoll

Go beyond the basics of Exchange high availability and gain a solid understanding of what’s going on under the hood in an Exchange 2010 database availability group. This session dives deep into the inner workings of continuous replication, Active Manager, best copy selection, quorum and witness, lagged copies, DAG networks, DAC mode and built-in monitoring and management scripts.

VIR302-IS – Understanding How Microsoft Virtualization Compares to VMware
Thursday, November 11 | 6:00 PM – 7:00 PM

Session Type: Interactive Session

Track: Virtualization

Speaker(s): David Greschler, Edwin Yuen

This is a must-see session for anyone who is comparing VMware with Microsoft’s virtualization offerings. We will review Microsoft’s technology compared to VMware, focusing on what differentiates the two technologies. The session will also cover effective strategies for integrating Microsoft virtualization into datacenter environments, and review one company’s experience with implementing Microsoft virtualization. If you need to know how the Microsoft virtualization stack compares to VMware’s, this is the session for you!

VIR321 – Advanced Storage Infrastructure Best Practices to Enable Ultimate Hyper-V Scalability
Tuesday, November 9 | 9:00 AM – 10:00 AM

Session Type: Breakout Session

Track: Sponsor Sessions

Speaker(s): Txomin Barturen

This session will address how Microsoft and EMC technologies work together to deliver scalable and reliable enterprise deployments of Microsoft virtualization. Working together, Microsoft and EMC tested the scalability of up to 16 node Hyper-V clusters on the EMC Symmetrix storage platform. Topics to be covered include optimization and characterization of Microsoft Hyper-V for large scale highly-available deployments, as well as performance and optimization of the EMC Symmetrix. Technical details and lessons learned from the tested solution will be covered.

MVP renewal

Tonight I received the email from Microsoft that informs me that I’ve been awarded the Microsoft Most Valued Professional for last years community effort. I’m really happy for being renewed, and this year it’s for Clustering / High Availability. Last year was in File Systems and Storage, but these are closely related as you may know. I’d like to thank Malu Menezes and José Barreto from the File Systems and Storage Team as these guys have been my main contacts and Symon Perryman from the Cluster Team for being such a jolly good fellow. Thanks guys!

Congratulations also to the Swedes I know that got awarded or renewed on July 1:st:

(and of course congratulations to those of you I don’t know also)


Magnus Björk, Martin Lidholm, Andreas Stenhäll


Marcus Murray, Patrik Lowendahl, Christoffer Andersson, Björn Axell, Anders Bengtsson, Stefan Schörling


For those of you who don’t know what the MVP award signifies this is from Microsoft.com:

The Microsoft MVP Award recognizes exceptional technical community leaders from around the world who voluntarily share their high quality, real world expertise with others. Microsoft MVPs are a highly select group of experts representing technology’s best and brightest who share a deep commitment to community and a willingness to help others. Worldwide, there are over 100 million participants in technical communities; of these participants, there are fewer than 4,000 active Microsoft MVPs.

At Microsoft, we believe that technical communities enhance people’s lives and the industry’s success by providing users with the opportunity to have conversations about technology that catalyze change and innovation. Technical communities help users adopt new technologies more quickly and more effectively. Also, they help Microsoft product developers understand the “pulse” of our users and better meet our customers’ needs. As the most active, expert participants in technical communities, MVPs are recognized and awarded for their inspirational commitment to technical communities.

In order to receive the Microsoft MVP Award, MVP nominees undergo a rigorous review process. Technical community members, current MVPs, and Microsoft personnel may nominate candidates. A panel that includes MVP team members and product group teams evaluate each nominee’s technical expertise and voluntary community contributions for the past year. The panel considers the quality, quantity, and level of impact of the MVP nominee’s contributions. Active MVPs receive the same level of scrutiny as other candidates each year.

MVP Award recipients reflect Microsoft’s global customer base and the breadth of Microsoft’s technologies. MVPs have been awarded in new categories such as Windows Live, Xbox, VSTO, Microsoft Dynamics, and Visual Developer Team System. A significant portion of new MVPs represent emerging markets in China, Russia, and Korea, as well as smaller markets like Ghana, Nepal, Macedonia, and Macao.

MVPs also represent the diversity of today’s technical communities. Respecting the user’s desire to get technical information in a variety of ways, Microsoft recognizes both online and offline community contributions. Reviewers consider the contributions that nominees make to traditional communities such as public newsgroups and third-party Web sites, as well as emerging community venues such as forums and blogs.

Microsoft MVPs are an amazing group of individuals. By sharing their knowledge and experiences and providing objective feedback, MVPs help people solve problems and discover new capabilities. It gives us great pleasure to recognize and award MVPs as our way of saying thank you for their demonstrated commitment to helping others in technical communities worldwide. We sincerely appreciate their efforts. Microsoft would like to congratulate and thank this year’s MVPs.

PrintBRM.exe, 0x80070043 and Print Clusters – A workaround

Since I’ve been working almost 24/7 over the holidays while migrating one huge environment (15.000 users) into a new one in a hurry. That is, without any previous knowledge of the old environment and a very tight schedule, I’ve been using all the shortcuts I can come up with. I quickly realised that PrintBRM would save my a*s when it came to migrating printers. I still ended up adding them more or less manually since I migrated from Windows Server 2003 x86 to a Windows Server 2008 x64-based cluster and the time finding the right drivers for it to work flawlessly would’ve been longer than the  manual add.

Anyway, once I’ve added all my printers to my new cluster I came to realize that I had screwed up in the cluster configuration so I needed to backup my printers and rearrange a little (I DON’T want to add those printers manually again). Along came PrintBRM.exe which I used to backup the old Windows Server 2003 server with from a Vista machine so I gladly fired it up on one of my cluster nodes. It came about 58% before it terminated with the good old error message “The following error occurred: 0x80070043. The network name cannot be found.” while backing up a driver. I removed the failing driver and tried again, 60% this time. I realized that I’d be deleting printers and drivers all night before it would finish so I needed a workaround.

I did some googling and came up with more people with similar problems:



And the usual how-to’s from Microsoft:




And if you bother to read any of the above you’ll quickly notice that there’s no solution. So I’ll give you my workaround:

I looked with process monitor since it was mentioned in the first forum post above, the error thrown is “Bad network name”. Let’s say our print server is called “PrintSrv”, and the syntax of PrintBRM is:


This will cause PrintBRM to go looking for PrintSrvc$WindowsSystem 32 to get the dll’s for certain drivers. A clustered print server doesn’t have a c$ since it only has a spooler, hence it’ll fail.

The solution

Check your Failover Cluster Manager for which disk is your print server storage (in the picture below it’s O:)


The following steps need to be done on the node that has the resources for obvious reasons:

Open Explorer and share your drive (regardless of letter, remember my O:) as C$


Open the drive in Explorer and create a directory called “Windows” (yes, that’s correct)

The below information is incorrect, I’ve now found the mklink.exe application included in Windows Server 2008 which will do the same as linkd.exe.

The syntax of the command is: mklink /D O:Windows C:Windows

Then you’ll need to download the Windows Server 2003 Resource Kit since you’ll be needing the linkd.exe application. This application creates junction points which in our case is just what we need.

If we assume that O: is our drive the syntax of linkd.exe will be: linkd O:Windows C:Windows

This will create a junction point (you can see this in explorer both on the arrow and the description) from O:Windows to C:Windows.

That’s it! Now you can backup all your printers regardless of driver.

Why it works? Well, we’ve shared our drive as c$ so now your clustered print server actually has a C$, and the junction point gives it ServerNameC$Windows and all the files PrintBRM is looking for are located there.

When you’re done you’ll need to remove the junction point: linkd O:Windows /D (D = Delete) and don’t forget to remove the sharing of your drive as C$ either.

This is filed as a bug with Microsoft so I’m hoping for a QFE / patch as soon as possible.

Server Core Cluster – How it's done

Having received a bunch of emails (what’s wrong with the comment-section?) about the failover-cluster construction, I’ve decided to explain it in a little bit more detail.

The basic network layout looks something like this

After that setup in Hyper-V I installed Starwind from Rocketdivision which lets my Windows Server 2008 act as an iSCSI-target for the other machines. I created two disks and connected to these with the ISCSICLI on Server Core making the connections persistent. You’ll need to enable shared access for clustering to work.

The commands used are:

Starting the service:
sc config msiSCSI start= auto (note the space)
net start msiSCSI

Connecting the disks:
iSCSIcli QAddTargetPortal [Portal IP Address]
iSCSIcli ListTargets
iSCSIcli QloginTarget [Target Name]
iSCSIcli PersistentLoginTarget [Target Name] T * * * * * * * * * * * * * * * 0
iSCSIcli ListPersistentTargets
iSCSIcli ReportTargetMappings

If you know the names of the disks you can skip adding the target portal and listing the disks. You might need to add each server to the initiator list and if you’re adding authentication you’ll need to logon. (My example doesn’t use that yet, hence I haven’t tried it)

Once the disks are connected to one server you can either connect to the VDS with the MMC (just make sure the firewall is open on both servers for it to work) or configure the disk with diskpart from command-line.

You can find Starwind here:

Here’s a great link with more information about iSCSI: http://blogs.technet.com/josebda/archive/2007/12/18/configuring-the-microsoft-iscsi-software-target.aspx

And here’s the movie with the result:

[flash http://www.nullsession.com/media/WS2008Core/WS2008CorePart03.flv w=425 h=335 f={image=http://www.nullsession.com/media/WS2008Core/WS2008CorePart03.jpg}]