
Name: Dave
Email:
Web Site: http://www.triconelite.com
AIM: @DaveKawula on Twitter
Bio: Dave Kawula Senior Consultant 1E Software DataCenter Virtual Technology Specialist - Microsoft Canada In 2003, Dave co-founded TriCon Technical Services Inc. with the vision of building an elite professional services and training company. In 2004, Dave was selected to work with Microsoft’s technical SMSGR and GTR departments to create internal Microsoft training materials. Based on the success of these projects Dave became a world-wide lead instructor for Windows Vista Escalation Engineers. To date he has helped author over 40 courses for Microsoft. Currently - Dave works as a freelance consultant for Enterprise Consulting Organizations across North America. He has expertise helping customer ranging in sizes from 250 seats to 100K+.
Posts by davek:
- Microsoft Windows 2008 R2 SP1
- Microsoft Windows 2008 R2 SP1 w/Hyper-V
- Microsoft System Center Operations Manager
- Microsoft System Center Orchestrator
- Microsoft Data Protection Manager
- Microsoft System Center Virtual Machine Manager
- DataCore San Symphony
Migrating a Production Server 2008 R2 SP1 Hyper-V Cluster to a Server 2012 Production Hyper-V Cluster
January 4th, 2013Many of you have immersed yourselves in the different versions of Hyper-V by now. As such I have found that a lot of customers are running production workloads on Hyper-V.
What do you do when you need to Migrate to the latest and greatest Microsoft Operating System Windows Server 2012. It has too many extra features to list and the value proposition is definitely there for customers to swing over to the new platform. So here comes the issue – Production workloads running cannot have extended outages and we need fallback plans in case something happens.
What I will show you in this blog post is how I moved the following configuration with more than 1 TB of production data from Server 2008 R2 SP1 Hyper-V Cluster to Server 2012 Hyper-V Cluster in less than 1 Hour of downtime.
Some of the steps listed below will entail having deep knowledge of your Storage Configuration. For this example my customer was running on a Dell Equallogic P5000 Storage Array.
Listed below are some of the architectural challenges I faced while doing this:
#1 – Customer demanded that we have a fall back plan if something happened during the migration. They wanted a “BIG RED Easy Button” to get back.
#2 – Customer wanted to minimize downtime on the environment and have a valid solution that could be tested offline before a live test was performed.
#3 – Customer wanted to use a solution similar to this for their DR Site.
Let’s start off by looking at constraint #1.
With the current model that is available via Microsoft TechNet and resources available online an outage is required to perform the Migration. So we cannot really get away from this. The customer wanted to see if any of the SAN technologies like SNAP Cloning or equivalent Dell technologies could be used. So this got me thinking…..
I had performed a Hyper-V Emergency repair of a CSV Cluster Volume in the past by using a cloned copy of the data volume from a replica set on another SAN.
What if I could do the same thing on the P5000 Equallogic Storage unit?
Initially I could simply clone the CSV Volume while it was running live. This wouldn’t be a crash consistent snapshot or clone. It would however give me the ability to test the solution in a lab environment with production data.
If I could prove out that it works than we could simply repeat the process during a planned outage to cutover the data.
The biggest problem when performing tasks like this outside of the SAN is the amount of time to copy data. For 1 TB of data I would be looking at a minimum of a 6 hour outage on their environment. This would clearly not be acceptable and testing at this SAN level would be a natural fit.
Another big problem is that in that Microsoft is advising to use the Cluster Migration Wizard as a powerful tool to help automate this task. You should really read this article at some point:
http://blogs.msdn.com/b/clustering/archive/2012/06/25/10323434.aspx
My issue is that in this article it states that in order to perform the final cutover – Luns or Volumes need to be re-zoned or re-mapped to the new Hyper-V Cluster Nodes. I have seen issues in the past in doing this where the cluster can pick-up a new disk signature and it makes it very difficult to fall back. Once this is done a lot of work is required to get the disk to present itself back into the new cluster. As I hadn’t done many production migrations at this point – I wanted to take a safe position and the customer agreed with trying the SAN Clone first before playing with the live data.
We will definitely use this Cluster Migration Wizard to create the base shell of the VM configurations prior to presenting the new CSV volumes.
So we have a plan for #1 – Moving on to constraint #2
Constraint # 2 – Customer wanted to minimize downtime for this solution. Well when we look at the amount of time to copy data over the network. Working with the SAN was the only option. If we couldn’t get this working it would cause a significant impact to the customer.
Constraint # 3 – Well I told the customer that we had to put this on the backburner for now but that it would work without issues. As we would be moving to Server 2012 Hyper-V as a platform of choice. It is extremely easy to mount a volume and present guests and their configurations without exporting it first. In previous versions we could use some PowerShell scripts to export VM Configuration Only to get the guest metadata. Now with Server 2012 Hyper-V it can do this for us automatically and I have done it many time successfully with live customer guest workloads. So this was a no problem it will work to the customer J
Ok so let’s fast forward just a little bit here. We are at the point that we can start doing some configurations.
What I have done ahead of time for the sake of keeping the article short is this:
1. Build the Base Windows Server 2012 Hyper-V Host Servers
2. Joined to the Domain
3. Fully patched and updated with all relevant hotfixes
4. Hyper-V Role Installed
5. Hyper-V Management Tools and PowerShell Support Installed
6. Failover Clustering Installed
7. Connect to the Equallogic Storage Array and clone the existing CSV Volumes and create a new Quorum Drive.
a. So I did check and there was enough free space on the SAN to perform the Clone of the existing volumes.
b. Find the volumes in this case they are HVCLU2-CSV1 and HVCLU2-CSV2
c. Right Click HYCLU2-CSV1 and Click Clone Volume
d. Give the new Volume a name in this case HV2012CLU2-CSV1 and choose a storage pool with enough available space.
e. We will configure the security ACL’s for the new volume later. For now we will setup as no access and enable Shared Access to the ISCSI Target as seen below
f. Ok so now we just repeat the process for HVCLU2-CSV2 and create a new volume for the Quorum disk on the new cluster. Seen below are my results.
8. So we have the disks ready to go. In essence these drives will contain all of the data required to start the Virtual Machines in the Cluster – Let’s have a quick look at the old Cluster that we will be migrating. When I checked there are about 40 + guest that need to be migrated from the first cluster.
a. Let’s also have a quick look at the Cluster Shared Volume Configuration before proceeding.
b. So let’s recap. At this point the production cluster is still running and we have cloned these two CSV volumes at the SAN Hardware level. Now we will move on the configuration steps required to stand up the new Server 2012 Hyper-V Cluster. For the sake of keeping the article readable I have trimmed some of the steps on the basic configuration.
9. We have named the Hyper-V Node WS12-HV-N1 and the next step for us is to configure some base networking. Now a common issue we will run into especially with Blade Hardware which is what this infrastructure is running on is a lack of physical network connections. Many vendors like Emulex have created converged network adapters and prior to Server 2012 it was not possible to create converged adapters at the software layer. Also will be configuring the traffic to run through a Windows 2012 Team. As these will be connecting through a single set of Switches we will be ok to use the converged adapters. You will see this configuration in the next set of steps.
a. As you are probably a bit new to the teaming capabilities of Windows Server 2012 – Read this Article – It does a great job of explaining our configuration. We will be taking our 2 x 1GbE ports and creating a team then we will configure the additional converged adapters.
http://blogs.technet.com/b/privatecloud/archive/2012/06/19/nic-teaming-in-windows-server-2012-brings-simple-affordable-traffic-reliability-and-load-balancing-to-your-cloud-workloads.aspx
Open Powershell and type the following command:
PS C:\Windows\system32> New-NetlbfoTeam PRODVLAN “Ethernet”, “Ethernet 2” –verbose
Name : PRODVLAN
Members : {Ethernet, Ethernet 2}
TeamNics : PRODVLAN
TeamingMode : SwitchIndependent
LoadBalancingAlgorithm : TransportPorts
Status : Down
i. Now validate the settings in the GUI – A screen shot is shown below
ii. Here is a Screenshot of the new NIC TEAM
b. Now we will configure the Converged Adapters Required – For this we will create 4 x New adapters – HOST,ISCSI, CLUSTERCSV, LM – There is a great Step-by-Step guide that can be followed here
I highly suggest reading this before proceeding
c. First let’s take a look at our Adapter Configuration by typing:
PS C:\Windows\system32> Get-NetAdapter | sort name
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
—- ——————– ——- —— ———- ———
Ethernet Intel(R) 82576 Gigabit Dual Port Net… 12 Up 00-A0-D1-EC-8F-ED 1 Gbps
Ethernet 2 Intel(R) 82576 Gigabit Dual Port N…#2 13 Up 00-A0-D1-EC-8F-EC 1 Gbps
PRODVLAN Microsoft Network Adapter Multiplexo… 20 Up 00-A0-D1-EC-8F-EC 2 Gbps
d. Create a new Hyper-V Virtual Switch with the following settings:
PS C:\Windows\system32> new-vmswitch “VSW01″ -MinimumBandwidthMode Weight -NetAdapterName “PRODVLAN” -verbose
VERBOSE: new-vmswitch will create a new virtual network.
Name SwitchType NetAdapterInterfaceDescription
—- ———- ——————————
VSW01 External Microsoft Network Adapter Multiplexor Driver
e. Note: If the command New-VMSwitch doesn’t work it may be because you need to install the Hyper-V Powershell Modules
f. Next check that the bindings look correct by typing
PS C:\Windows\system32> Get-NetadapterBinding | where {$_.DisplayName –like “Hyper-V*”}
Name DisplayName ComponentID Enabled
—- ———– ———– ——-
vEthernet (VSW01) Hyper-V Extensible Virtual Switch vms_pp False
PRODVLAN Hyper-V Extensible Virtual Switch vms_pp True
Ethernet Hyper-V Extensible Virtual Switch vms_pp False
Ethernet 2 Hyper-V Extensible Virtual Switch vms_pp False
g. Ensure that the NIC’s are up and that everything looks good
PS C:\Windows\system32> Get-NetAdapter | sort name
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
—- ——————– ——- —— ———- ———
Ethernet Intel(R) 82576 Gigabit Dual Port Net… 12 Up 00-A0-D1-EC-8F-ED 1 Gbps
Ethernet 2 Intel(R) 82576 Gigabit Dual Port N…#2 13 Up 00-A0-D1-EC-8F-EC 1 Gbps
PRODVLAN Microsoft Network Adapter Multiplexo… 20 Up 00-A0-D1-EC-8F-EC 2 Gbps
vEthernet (VSW01) Hyper-V Virtual Ethernet Adapter #2 23 Up 00-A0-D1-EC-8F-EC 10 Gbps
h. Next we will create the 4 Converged Adapters HOST,ISCSI, CLUSTERCSV, LM — Note that the Host Converged NIC is created by default
Add-VMNetworkAdapter –ManagementOS –Name “LM” SwitchName “VSW01” –verbose
Add-VMNetworkAdapter –ManagementOS –Name “ISCSI” –SwitchName “VSW01” –verbose
Add-VMNetworkAdapter –ManagementOS –Name “CLUSTERCSV” –SwitchName “VSW01” –verbose
i. Review the NIC Configuration again
Get-NetAdapter | Sort name
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
—- ——————– ——- —— ———- ———
Ethernet Intel(R) 82576 Gigabit Dual Port Net… 12 Up 00-A0-D1-EC-8F-ED 1 Gbps
Ethernet 2 Intel(R) 82576 Gigabit Dual Port N…#2 13 Up 00-A0-D1-EC-8F-EC 1 Gbps
PRODVLAN Microsoft Network Adapter Multiplexo… 20 Up 00-A0-D1-EC-8F-EC 2 Gbps
vEthernet (CLUSTERCSV) Hyper-V Virtual Ethernet Adapter #5 43 Up 00-15-5D-32-0B-02 10 Gbps
vEthernet (ISCSI) Hyper-V Virtual Ethernet Adapter #4 39 Up 00-15-5D-32-0B-01 10 Gbps
vEthernet (LM) Hyper-V Virtual Ethernet Adapter #3 35 Up 00-15-5D-32-0B-00 10 Gbps
vEthernet (VSW01) Hyper-V Virtual Ethernet Adapter #2 23 Up 00-A0-D1-EC-8F-EC 10 Gbps
j. Now we should rename the HOST NIC
10. PS C:\Windows\system32> Rename-NetAdapter –Name “VEthernet (VSW01)” –NewName “vEthernet (Host)” –verbose
11. VERBOSE: Rename-NetAdapter -Name ‘vEthernet (VSW01)’ -NewName ‘vEthernet (Host)’
h. Review the NIC Configuration again
Get-NetAdapter | Sort name
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
—- ——————– ——- —— ———- ———
Ethernet Intel(R) 82576 Gigabit Dual Port Net… 12 Up 00-A0-D1-EC-8F-ED 1 Gbps
Ethernet 2 Intel(R) 82576 Gigabit Dual Port N…#2 13 Up 00-A0-D1-EC-8F-EC 1 Gbps
PRODVLAN Microsoft Network Adapter Multiplexo… 20 Up 00-A0-D1-EC-8F-EC 2 Gbps
vEthernet (CLUSTERCSV) Hyper-V Virtual Ethernet Adapter #5 43 Up 00-15-5D-32-0B-02 10 Gbps
vEthernet (Host) Hyper-V Virtual Ethernet Adapter #2 23 Up 00-A0-D1-EC-8F-EC 10 Gbps
vEthernet (ISCSI) Hyper-V Virtual Ethernet Adapter #4 39 Up 00-15-5D-32-0B-01 10 Gbps
vEthernet (LM) Hyper-V Virtual Ethernet Adapter #3 35 Up 00-15-5D-32-0B-00 10 Gbps
i. The last part of this configuration will have us setup the Weighting on the Adapters
Set-VMNetworkAdapter –ManagementOS –Name “CLUSTERCSV” –MinimumBandwidthWeight 40
Set-VMNetworkAdapter –ManagementOS –Name “LM” –MinimumBandwidthWeight 20
Set-VMNetworkAdapter –ManagementOS –Name “ISCSI” –MinimumBandwidthWeight 10
Set-VMNetworkAdapter –ManagementOS –Name “VSW01” –MinimumBandwidthWeight 5
j. Let’s have a look and see what the NIC Configuration looks like in the GUI now
k. I have created this as a simple script which is listed below and could help you automate this process:
#Script Created By Dave Kawula MVP
#Base Configuration of Network for a 2 NIC Hyper-V Host
#Jan 3, 2013
#Production Hyper-V Cluster Upgrade
start-transcript -path c:\post-install\001-NetworkConfig.log
#Create the NIC Team
New-NetlbfoTeam PRODVLAN “Ethernet”, “Ethernet 2” –verbose
#Get the Status of the Network Adapters
Get-NetAdapter | Sort Name
#Create the new Hyper-V Vswitch VSW01
new-vmswitch “VSW01″ -MinimumBandwidthMode Weight -NetAdapterName “PRODVLAN” -verbose
#Check the Bindings
Get-NetadapterBinding | where {$_.DisplayName –like “Hyper-V*”}
#Check the Adapter Settings
Get-NetAdapter | sort name
#Now Create the Converged Adapters
Add-VMNetworkAdapter –ManagementOS –Name “LM” –SwitchName “VSW01” –verbose
Add-VMNetworkAdapter –ManagementOS –Name “ISCSI” –SwitchName “VSW01” –verbose
Add-VMNetworkAdapter –ManagementOS –Name “CLUSTERCSV” –SwitchName “VSW01” –verbose
#Review the NIC Configuration Again
Get-NetAdapter | Sort name
#Rename the HOST NIC
Rename-NetAdapter –Name “VEthernet (VSW01)” –NewName “vEthernet (Host)” –verbose
#Review the NIC Configuration Again
Get-NetAdapter | Sort name
#Set the weighting on the NIC’s
Set-VMNetworkAdapter –ManagementOS –Name “CLUSTERCSV” –MinimumBandwidthWeight 40
Set-VMNetworkAdapter –ManagementOS –Name “LM” –MinimumBandwidthWeight 20
Set-VMNetworkAdapter –ManagementOS –Name “ISCSI” –MinimumBandwidthWeight 10
Set-VMNetworkAdapter –ManagementOS –Name “VSW01” –MinimumBandwidthWeight 5
Stop-transcript
h. It should also be noted that the VSwitch VSW01’s properties cannot be modified because it was created as a Converged VSwitch as seen below. This is normal a normal behavior.
10. Now it is time for us to configure our target Windows Server 2012 Hyper-V Cluster. We will configure this with a Single Node Cluster to start with for the purpose of this article. Extra nodes can easily be added later.
a. First we need to connect to our P5000 Dell ISCSI SAN and configure some of the ACL’s. We will run all of the ISCSI Traffic over the new Converged ISCSI Adapter.
b. Setup the ISCSI Adapter with an IP Address on the ISCSI Vlan – Validate that you can ping the ISCSI Target Portal’s IP Address
c. Now open the ISCSI Initiator and accept the default firewall warning
d. Click on the configuration tab and copy the ISCSI IQN in this case:
i. iqn.1991-05.com.microsoft:ws12-hv-n1.companyx.com
b. Setup the Access Rights in the P5000 management console using this IQN – at this time we will connect the cloned volumes but we will only connect the quorum drive. We will connect the other 2 x CSV Volumes after we run the Cluster Migration tool
c. Go back to the ISCSI Initiator and type the address of the Virtual IP on the SAN – in my case 10.11.1.9
d. We will actually connect all of the volumes and ensure the data is there now.
e. Open Disk Management and bring all disks online and initialize the Quorum Drive
f. Format the Quorum Drive and label it with the q:
g. The other two CSV Volumes will be setup as mount points so it doesn’t matter about their drive letters for now
h. Open the Failover Cluster Manager
i. Right Click on Failover Cluster Manager and click Create Cluster
j. For this cluster we will pretty much accept all of the defaults and then give it a name through the wizard – Make sure you run the Cluster Validation Wizard and ensure it passes before proceeding
k. Perform all other steps required to prepare the production Hyper-V Cluster. These next steps assume you are happy with the functionality of the cluster
l. Right Click on the Cluster Node at the top of the console, Click More Actions, Click Migrate Roles
m. On the Migrate a Cluster Wizard Screen Click Next
n. On the Specify Old Cluster type the name or IP of the old Cluster
o. The wizard should compile a list of running Services and Applications
p. Select from the dialog box a list of the HAVM’s that you want to migrate – in our case all of them. Notice that there is a warming on the Virtual Machine Resource. This is because we have a Pass Through Volume Connected to this Virtual Machine. This will not work moving over to the new cluster – We will just skip it for now. Also as a note this creates a report – -You can view and save the report for your documentation in the project.
q. Now we need to customize the Virtual Network Connections as they will no longer work from the old configurations. As seen in the screen shot below we will simply connect these to their appropriate Virtual Networks. This will change the virtual machine metadata to map to the new networks.
r. Success — We now have 40 x VM Configurations stored on the new Cluster. Now we just need to setup the new CSV Volumes and start the VM’s. After we shut down the old Cluster
s. Because the disks were already setup with Cluster Disk Signatures and were CSV Volumes. The new Cluster is already aware of them. So all you need to do is online them from the Disks Node
t. Time to test these out.
u. Success!! – Now we just need to perform the following steps to make this work for production
v. Stop all of these Guests’s once tested – We are ok because I put this on an Isolated VLAN for testing J
w. Stop all of the Guest’s on the source Production Cluster
x. Take another Clone of the CSV Volumes
y. Give Access Rights to the Target Server
z. Remove the Access Rights from the Testing CSV’s we were just working with
aa. Delete the old Clone so we don’t waste space on the SAN
bb. Online the new CSV Disks in Disk Management
cc. Ensure they come online in the Failover Cluster Manager
dd. Once Online – Start Bringing the VM’s online
As you can see with the above process the only production downtime would be from the last 10 or so steps. The Cloning of Volumes at the SAN Hardware level is nearly instantaneous. As such you should easily be able to port things over to the new Production Windows Server 2012 Hyper-V Cluster with less than one hour of Downtime.
I hope you enjoy this and find it useful.
Thanks,
Dave
Extremely Slow Performance on Production SQL Workload running on Hyper-V
January 3rd, 2013Today’s Issue – Extremely Slow performance of a SQL Server running on Hyper-V Windows 2008 R2 SP1.
This is a very common customer issue that I run into and the first step is understanding why this is happening?
Could it be Anti-Virus running file level scan’s on the Guest?
Could it be a runaway process consuming all of the IO on the SAN
Let’s take a quick look at the customer’s configuration of Hyper-V as a starting point:
3 x Node HP DL380 G7 Hyper-V Cluster (2 Proc, 128GB RAM, 8 GbE NIC’s)
4 x GbE nic ports teamed for Production
2 x GbE nic Ports teamed for Heartbeat / LiveMigration
2 x GbE nic Ports running HP DSM for MPIO ISCSI
2 x HP 2910 Switches / VLAN ‘s Configured for ISCSI, Heartbeat / LiveMigration, and Production Servers
2 x HP P4300 SAN Shelves running approximately 2500ish IOP max.
As you can see above – We have a dual-core set of HP 290x Switches. Front facing adapters are teamed and ISCSI Connections are using HP DSM’s for Multi-Path IO. The SAN’s that this production infrastructure is connecting too is a HP P4300 SAN.
They Currently have 4 x CSV Volumes and one Quorum Drive connected in this 3 server Hyper-V Failover Cluster.
So where do we start with all of this – Users are complaining for slow performance on their Databases and Applications that connect to them.
Here is where I always like to start – Have a look at your SAN. (You must know some important facts about your hardware in order to troubleshoot effectively. For example I know that this P4300 SAN will allow me to sustain approximately 2500 IOP’s.)
Where are we now?
I log into the P4300 Central Management Console and click on the P4300-Cluster and click on the Performance Node:
I can see right away that we are averaging approximately 1054 IOPS. This means that there is some normal activity happening on the SAN. Problem is this is Jan 3, 2013 and there are only 20 x users in the office. I have run performance baselines that tell me in a relatively idle state – the Guest Workloads only consume around 400 IOP. So I know that something is up.
Now to dig a bit deeper – As seen in the screenshot above you can see that I have 4 CSV Volumes created. We need to get more detailed information about their individual volume performance. This will allow me to start isolating which guests are running on which Volume. So we have to click on the Performance monitor and add some additional counter objects on the SAN.
As you can see in the screenshot below the P4300 SAN allows quick analysis of active ISCSI Volumes that are presented to the servers. I simply have to Click on Connected Volumes and Snapshots, Select one of the Hyper-V Nodes and find the volumes that are in question. We really need to determine which volume on the SAN is consuming all of our IOPS.
Note: The counters that I am interested in are IO Latency Read, IO Latency Total, IO Latency Total, IOPS Reads, IOPS Total, IOPS Writes, and Queue Depth. If the Queue Depth is too high it tells me that we are starting to run out of overall IOPS on the SAN. The Total IOPS can be correlated to a performance monitor counter that we will look at a bit later.
Now we can re-evaluate the results from the Performance Monitor node in the P4300 Central Management Console. Make sure you scroll down and try to see if we get lucky and find one of the volumes and is consuming a majority of the IOPS on the SAN. Right away upon doing this I can see that I have one volume CSV1 that is consuming almost all of the IOPS that the SAN is serving up. It is coming from CSV1. Also of Interest is that the type of IO is a Read and not a write. This normally indicates that there is some type of active file level scan occurring at this time.
Now seeing as the customer has indicated that it is an issue with performance on the Production SQL Server let’s start there:
As seen in the above screen shot this workload is running on CSV Volume 1. This is the volume that is consuming about 50 % of the available IO from the Server right now.
Let’s take a bit deeper look – What I do next is perform a very simple test on the affected server. Open Performance Monitor and add all of the physical disk counters.
What I am most interested in is Disk Transfers/SEC or otherwise known as IOP/SEC. This will tell me if this server is the one that is consuming all of the IO in that CSV Volume. I checked this value before taking a screen shot and this guest alone was consuming over 1000 IOP. So we know that it was something happening on this host. Unfortunately by the time I got to this point again the customer advised that the problem has ceased and that the issues were gone.
How could this happen? What might have been running and then all of a sudden stopped. Well now it is time to do the dirty work. Checking services and indications in logfiles for running file level scans. So best to note the time right now (3:40PM MST). We will need that as we start to gather some information for root cause analysis.
So where to start? How about the beginning. Let’s start again with the P4300 Central Management Console to confirm that the IOPS have been reduced on the SAN. As seen in the screen shot below this clearly indicates that the issues is no longer occurring. (You can note that the IOP Saturation on the SAN is now at 145 IOP. This normally averages about 300-400 on a busy day and then spikes up to as high as 1800 during peak load. This load is distributed amongst 15 Guests.)
So now that business is back to normal for now we still need to try and figure out root cause. I my professional experience this type of issue is almost always caused by some type of file level scan. Now you need to ask yourself a series of questions to move forward:
What type of things do file level scans on a scheduled basis on a server?
Is there an SCCM Agent Deployed?
What type of workload is this? SQL, Exchange, AD, Oracle, Citrix, etc.
Has this issue occurred before or is it new? If it is new what has changed?
So let’s start off with some basic troubleshooting and analysis:
Here are my notes from the analysis that was performed on this production SQL Server:
1. Logon to the Server with Admin Rights
2. Check Services (See if anything pop’s out that is out of the ordinary)
3. Check the event viewer (See if anything was triggered or running – backup / scan / etc.)
a. We know that it was read IOP and not Write IOP. So was there a large job running on the SQL Server that the SAN could not keep up with?
4. I did notice two things from the Eventlog. I cannot take screenshots due to privileged information. But what I can tell you is the following:
a. There are errors relational to the Windows Search Service
b. There was a Windows Installer Install for some HP Hardware that shouldn’t be running.
c. Office SCAN did not appear to be running but we may want to consider disabling it. In a lot of my calls with Microsoft Support this seems to be a common cause with Filter Drivers and such conflicting.
5. As it is very hard to find out what is happening I figured I would check the P4300 Central Management Console again to see what is happening. Luckily we have CSV1 pinning the SAN again.
6. Quickly let’s check Perfmon on the CGYSQL02 Server.
b. Sure enough there it is again.
7. Now we need to quickly download Process Monitor from Microsoft Sysinternals
a. Downloaded from http://technet.microsoft.com/en-ca/sysinternals/bb896645.aspx
b. This is really weird. The Server is in going nuts right now – Process monitor has been running for 2 minutes and I already have over 400K in operations. What is going on.
c. Time to dig in!
d. Well as expected Trend Office Scan is running – Querying for files with the real-time scanner (pccntmon.exe):
e. I am seeing a TON of read’s from LV_Engine.exe – This is known as Live Vault from Iron Mountain. It is scanning the file system for changed files and is uploading them to Iron Mountain for offsite backups. We can also notice below that these are indeed Read operations. This would explain the high volume of READ IOP on the SAN. It also looks like the service is using Volume Shadow Copies to snag SQL Backups.
f. There is a cool feature in process monitor where you can view Process Activity Summaries. As you can see below we are definitely looking at two potential causes for our massive READ IOP issue on this server. LiveVault or Trend OfficeScan – What is interesting to me is that the combination of LiveVault and OfficeScan have initiated of 500K in reads in less than three minutes on this server.
g. At this point I am calling the client back to see if there is a possibility of us stopping either OfficeScan or LiveVault to see if it makes a difference.
h. I stopped the LiveVault Backup Service and as such the IOP Consumption has stopped on the server.
i. Next steps will have the client modify the LiveVault Backup Schedule to not run during peak business hours.
This case today was an interesting one for me. It takes a lot of combined knowledge and understand to figure out what root cause of an issue really is. As it turns out the issue with the slowdown in the Hyper-V Cluster was cause by this one machine that was running backups during peak business hours. When you move to a converged fabric “CLOUD” type environment for your virtualization you must pay particular attention to what type of workloads are running. Also you must have deep insight into the applications running on these workloads.
At the beginning of this case I felt that it would likely be a file-level scan “Anti-Virus” or agent running. As such it definitely was an agent running backups.
What I have shown you today will hopefully empower you with more knowledge to help actively troubleshooting issues at your site.
Thanks,
Dave
Getting ready for Server 2012? Boot Camps are going to be coming back in 2013 for me.
December 31st, 2012Many of my customers have been asking me for the past few years why I haven’t been running boot camps on technology anymore. Well to be brutally honest – The Boot Camps are just as hard on the instructor as the student.
I used to do 4 – 6 of these 10 day Boot Camps a year and it really burned me out.
Well with all of the new technology coming out in 2012-13 it is a must for all of us to ramp up as fast as possible again. So in the coming weeks you will see posts from me lining up dates for the following Boot Camps:
MCSA/MCSE 2008 Upgrade to 2012 Boot Camp – 7 Days (12 Hours + per day)
MCSE 2012 Full Boot Camp – 10 Days (12 Hours + per day)
Exchange 2013 Boot Camp – 5 Days (12 Hours + per day)
LYNC 2013 Boot Camp – 5 Days (12 Hours + per day)
System Center Boot Camp (SCCM, SCOM, Orchestrator, DPM, SCVMM) – 15 Days (12 Hours + per day)
SCCM Boot Camp 5 Days (12 Hours + per day)
SCVMM + Private Cloud Boot Camp 5 Days (12 Hours + per day)
I have been working with some of the largest clients in North America and now I have a chance to share my knowledge with the IT Community.
Like I said stay tuned for dates and timing of these.
Thanks,
Dave
NEW SMB Hyper-V Design
February 17th, 2012I know a lot of you have been searching for good SMB Hyper-V solutions. Well here is a really nice one that I have just recently designed for one of my smaller customers. They have around 150 users worldwide and about 30 workloads.
They business is driving them for a level of higher availability and as always reducing costs. They asked if there was a good solution that would encompass all of their needs today and now blow their budget out of the water.
Normally when a customer wants high availability for virtualization it means the acquisition of a costly ISCSI SAN. I would normally without hesitation recommend a solution from Dell and their Equallogic line-up.
Main reason is that these units are incredibly robust and I haven’t ever been called back to a customer site with issues post implementation.
Problem is the price point. They start on the low end at around 18 – 25 K. This is normally at least half to one third of the infrastructure capital budget for most small organizations.
So my HA Solutions for SMB have always look like this:
For example:
2 x Dell R310’s with 96GB of RAM and 2 x Quad port GB Nics
1 x Dell Equallogic PS4000E with 16 TB of Storage – 16 1 TB Drives – 16 TB RAW (12 TB in Usable in Raid 5)
2 x Layer 2 Switches
Windows Server 2008 R2 DataCenter Edition for each of the Servers
System Center Virtual Machine Manager and or other components.
This would normally Net out to well over 60 K.
So the issue for most business owners when looking at capital expenditures is this. How much additional revenue will a solution like this cost the company to pay for it.
Well if the company has a NET Profit range of 10 % – It would cost around 500 K in net new revenue to pay for this.
Hey let’s face it the economy is really tight – If was can save money and have a robust solution anyone will look at it. Remember for most SMB customers sometimes an entry level solution is all they need.
Well take a look at my new design for these SMB Customers.
2 x HP DL 380 G7’s with 128 GB of RAM and 2 x Quad port GB Nics
3 x QNAP SAN’s with TB of Storage – 12 3 TB Drives 36 TB RAW (28 + usable in Raid 5)
2 x Layer 2 Switches
Windows Server 2008 R2 DataCenter Edition for each of the Servers
System Center Virtual Machine Manager and or other components.
The price point for this solution just came in at a little over 30 K for hardware.
This is about half the cost of the other solution. So we will see how it goes – it will be my first couple of deployments using the QNAP technology. Hopefully it doesn’t disappoint.
Enjoy…
Dave
2-Tips to reduce the cost of your Windows 7 Migration
February 7th, 2012As the clock keeps ticking towards end of support for Windows XP we need to find ways to accelerate our Windows 7 Migrations. Just because you accelerate your Windows 7 Migration you don’t have to increase your budget. In fact what if you could do the opposite….Accelerate the project and reduce cost.
Wait a minute – This is an IT Project. The words reduce costs don’t really exist in a typical IT Project. Well maybe they can…
Most Windows 7 Projects I have seen project over 80 % of the costs for that project on Application Packaging and Remediation.
What if there was a way to have an organization quickly rationalize their deployed applications.
What if there was a way to remove unused software from a desktop prior to the migration.
Tip #1 – I can sum it up in one word “Rationalization”
Well there are a couple of tools out there that can help us out with this. One is the Application Compatibility Toolkit “ACT” from Microsoft. It is a great tools that allows us to gain insight into our organization. This unfortunately requires an agent to be deployed on the workstations and requires us to scan them to see what is installed. Then pull the information back to a central database and try to analyze what is deployed.
The second tool is one that many of you will already own and have probably deployed. Microsoft System Center Configuration Manager has a software metering component that will allow us to use simply scan the machines using the Configuration Manager agent. One problem this requires a lot of configuration and won’t automatically pull back unused software to keep licensing in check.
The third tool is one from 1E Software call AppClarity. You can checkout a link to this product here: 1E AppClarity I have personally seen AppClarity give money back to an organization in less than 60 Days after the acquisition of their software. Think about it…. Why waste money getting shelfware or unused software ready for your brand new Windows 7 Desktops. Once again “Rationalize” not only the amount of software that needs to be migrated to the new platform but also the amount of work.
Checkout the screenshot below of this software package. It has revolutionized the way I approach Windows Migrations.
So in my perfect world that I live in I need a tool that will do the following for my Windows 7 Project:
|
Product |
Rationalize Applications |
Provide Detailed License Utilization Information |
Provide an intelligent Reclamation Engine |
Quantify the amount of Wasted Software for Management |
|
System Center Configuration Manager |
Yes — but require Customization through rules |
Yes – there are good built-in reports for Microsoft Products // Need to build reports for third party software |
No – It can be done but needs to be manually configured or customized with Scripts |
No – It can be done but reports would need to be manually configured |
|
Microsoft Application Compatibility Toolkit |
Yes – Built in Database and Rules from Microsoft are extensive and give a good snapshot of an organization – Requires an agent to be deployed on end workstations |
No |
No | No |
|
1E AppClarity |
Yes – Connects to existing SCCM database information and almost instantly provides a snapshot in a readable format |
Yes – Extends on existing Configuration Manager information and has an intelligent import wizard to allocate licenses an organization owns. |
Yes – Extends the functionality of SCCM by providing uninstallers for software that has been identified as unused or prohibited. |
YES – Built-in Reports quantify the amount of software waste organizations have. Most organizations can fund a large portion of their Windows 7 Project by simply reducing Software Waste. |
If you can drive cost savings at the start of this project you will be well on your way. Gartner has estimated that it costs on average between $1000.00 to 3000.00 + per desktop to migrate to Windows 7. Most of this cost comes from the work required to migrate unused applications. What if you could get back all that time and save hard dollars by removing shelfware before your projects starts. This makes your project sponsors very happy and allows you to accelerate this project.
Tip #2 – Automation and Self Service
Now imagine that you have finally completed the following phases of your project:
Core Architecture, Gold Image Build and Test, Application Rationalization, Testing, Testing, and more Testing.
Now you need to get your images deployed to end users….. Well this is a problem because most organizations lack the forethought to automate this process.
So when it comes to deploying Microsoft’s Operating Systems there are really two choices that we are normally presented with. Lite Touch and Zero Touch – Let’s take a moment and define both of these.
Lite Touch = Some manual intervention from a desktop analyst or from user driven menus.
Zero Touch = Fully automated builds when an administrator can choose to deploy operating system upgrades on demand.
Now do either of the above work… The answer is yes absolutely. The issue is that all of this requires Careful coordination and communication to end users.
This process normally involves hiring project managers, business analysts, corporation communication specialists, and costly IT Engineering time.
My question is this: We are in a world where we can get applications delivered to all of our phones by simply clicking in a portal and having them magically installed. We can change devices and simply re-deploy these applications from the same portal.
WHAT IF… you could do the same thing for your Windows 7 Deployment. Just treat the Windows 7 Deployment as nothing more than a complex application. Allowing end users to click on a Windows 7 upgrade icon in a portal. Then have them them schedule their own upgrade for a time that works for them.
Check out this product from 1E Software called yes you guessed it. 1E Shopping
Does this mean death to the manual spreadsheets… Well probably not – We always seem to return to what we know and love. I have personally deployed this product and have seen the impact it has on the classical approach to Operating System and Software delivery.
Oh wait – That was Tip #2 and with the incredibly fast ROI for this 1E product it actually kicks back in money to the Windows 7 Projects. The only requirement for Shopping is that a customer must already own and have configured System Center Configuration Manager.
The best part of this application is that it can be easily be installed and configured in less than five consulting days.
So I want to wrap up this post with a little bit of simple math for everyone:
Assume each Windows 7 Upgrade costs an organization 3000.00 per desktop.
Assume that approximately 50 % of deployed software is not used.
Assume that each request for Software costs an organization 200.00 (BTW This is a really safe number) I haven’t seen it much lower than this.
Assume it takes over 5 business days to receive the software after a request.
Now…here is a look at the old way!
Deploy 1000 Desktops x $3,000 each = $300,000 in resource costs
Assume 25 Applications averaging 100 each with 50 % unused and deployed to all workstations. 25 Apps x 1000 Desktops x $100 Average License Cost = 2.5 /mil investment in software. This would work out to having approximately $2500 in software on each desktop – You all know this number is really low!
Assume that the organization receives 20 Software deployment requests per week for 52 weeks per year. 20 Request x 52 Weeks x $200.00 average cost = $208,000 in resource costs to deploy software.
Assume that it takes 5 business days to receive your software once requested. Well you do the math on this one – Quantify the cost of lost productivity for your employees!!!
How about the new way!!! Take the opportunity to incorporate this organizational change into your Windows 7 Projects.
Deployment costs reduced by 30 % simply by “Rationalizing” the number of applications that need to be ported to Windows 7 and automating the delivery mechanisms for the images. You could easily save over $90,000 in soft costs out of the gate.
Reduce the amount of Software Renewals, Support, Deployment, and licensing costs. Once again we “Rationalize” all of our apps. Assume a 50 % savings for your organization what does that return? How about an estimated 1 /mil + savings in hard and soft costs. By the way – Now that you have a tool that helps rationalize this – Think of the savings the next time the licensing police come visit you.
Reduce the amount of Annual Software deployment costs by over 50 %. Savings of over $104,000 in soft costs.
Assume your budget for this Windows 7 project was around $500,000. I will leave you pondering those numbers. Now of course remember there is an acquisition cost of new software that would save money. The nice thing about 1E is that all of their software pretty much pays for itself very quickly.
I hope you have enjoyed this post and I welcome any feedback or if you want to share your experiences with your Windows 7 Projects thus far.
Dave
De-Risking your Windows 7 Deployment
February 7th, 2012
Are you running out of time for your Windows 7 Upgrade Project?
Would you like to learn about what it takes to fast track this project with the process and third party tools the pro’s use?
I recently visited the Microsoft Canada offices in Toronto, Ontario and was a guest speaker on the Align IT Manager Tech Talk. The talk was focused on Windows 7 Deployments and we were able to covers the following topics:
Application Rationalization – Figuring out your Applications you need before you get started.
Automating your Windows 7 Migration with Self Service Options. Allow users to shop for their own Operating System Upgrades.
Organizations need to expedite these projects and find ways to accelerate these projects while keeping risk in check.
You can view the video below:
Click here to see the blog posting on the Microsoft Canada IT Manager Blog.
De-risking your Windows Deployment — Canada IT Manager Blog
This has also been syndicated into the Microsoft IT Manager Podcast series. It is Episode 47: Episode 47: De-risking your Windows Deployment
UPDATE….
I will be running a “lunch and learn” session where you could learn how Microsoft Canada and 1E Software www.1e.com can help you De-risk your Windows 7 projects!
In this session you will learn about the following:
• The common steps organizations take in a Windows 7 Project?
• How to rationalize your applications and reduce applications that need to be tested on Windows 7 prior to the migration?
• How to deploy Windows 7 using Microsoft’s System Center Configuration Manager 2007/2012.
• How to reduce the requirement for branch infrastructure for remote offices.
• How to accelerate your migration and Windows 7 Pilot with assistance from Microsoft?
• How to allow your end users to shop for their own Windows 7 migration via trusted 3rd party solutions.
The meeting will be held at the Microsoft Calgary Office on February 22, 2012.
We will provide lunch and host a round table discussion after the session to get your questions answered and provide you an opportunity to network with your peers in an informal environment.
At the end of this session you will gain imperative insight to the products you may already own and might be acquiring.
Number of seats is limited, please RSVP now to b-daveka@microsoft.com or p-dave.kawula@1e.com to reserve your spot.
Looking forward to seeing you there!
Dave
Presenting at Prarie DevCon in Calgary, Alberta–March 13, 2012
February 7th, 2012I am pleased to announce that I will be presenting the following sessions at PrarieDevCon in Calgary. These will be a repeat of the sessions that I did at TechDays last year with some updated content.
There are a lot of great presenters at the conference this year and I would definitely recommend that you come check it out.
http://www.prairiedevcon.com/Registration
There is a ton of awesome content already this year and the expense for the conference fees are worth it.
Listed below are my sessions that I will be queued up for on March 13th, 2012.
Understanding How Microsoft Virtualization Compares to VMware
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!
Hyper-V in the Real World – Performance Tuning and Best Practices
Do you have Hyper-V deployed? Are you looking to deploy in the next few months? In this session you will learn from our Real World Deployments. Review best practices on the following: • Virtual Switch Configuration • High Availability • VLAN Trunking • Performance Monitoring • Disk Configuration • Hyper-V Optimizations • Performance Baselines • Dynamic Memory • and more! If you are serious about getting it right the first time this session is one that should not be missed.
Hyper-V in the Real World –Multi-Site DR with the System Center Suite of Products
Are you struggling with new expectations of high availability for your workloads? Have you been told by upper management that Exchange, SQL Server, Web Services are critical applications and need to have a 4 hour or less Service Level Agreement. Is it possible to achieve a Multi-Site DR solution with Microsoft System Center and Hyper-V? Yes it is! With Microsoft System Center Technologies you can accomplish this economically. Microsoft Enterprise Core Infrastructure Licensing + Microsoft System Management Suite (SMSE/D) licensing include all of the tools necessary to complete this out of box. In this session you will learn how to provide a highly available infrastructure with tools that you might already have licensed and not even know it.
Hope to see you all out there.
Dave
Techdays Canada–Presentations now online! Continued
February 7th, 2012Are you struggling with new expectations of high availability for your workloads? Have you been told by upper management that Exchange, SQL Server, Web Services are critical applications and need to have a 4 hour or less Service Level Agreement. Is it possible to achieve a Multi-Site DR solution with Microsoft System Center and Hyper-V?
Yes it is! With Microsoft System Center Technologies you can accomplish this economically. Microsoft Enterprise Core Infrastructure Licensing + Microsoft System Management Suite (SMSE/D) licensing include all of the tools necessary to complete this out of box.
In this session you will learn how to provide a highly available infrastructure with tools that you might already have licensed and not even know it. Key Technologies covered in this action packed session will be:
If you are serious about getting it right the first time this session is one that should not be missed
I did some really cool demonstrations in this recording using DataCore’s San Symphony to showcase how you can enable synchronous mirroring on your SAN’s.
Click here to download the PowerPoint….
Hopefully the video will be up online soon at www.techdays.ca
Thanks,
Dave
Techdays Canada–Presentations now online!
January 31st, 2012Well after a long wait one of my presentations from Microsoft Canada’s Techdays is finally here.
In this presentation I discussed all of the performance tips and tricks from a production Hyper-V solution. Often times we get technology implemented and don’t have a chance to stress test or validate that it is working properly.
I am pleased to share this link to my Presentation that was done in Toronto, Ontario in November 2011.
One of my favorite parts of this presentation was a little tool called Microsoft PAL “Performance and Analysis of Logs”.
It can be downloaded here and is surely a life saver for anyone struggling with the elusive “SLOW” Server. http://pal.codeplex.com/
As for the rest of the presentation there is also a lot of great information on the following:
MBSA, Microsoft MAP, Microsoft PAL, Hyper-V Tuning best practices, Hyper-V Cluster tuning, etc…
Download the PowerPoint Deck here….
Watch the recorded session here….
I hope you enjoy and I welcome your feedback on the session.
Dave
Standing up your own System Center 2012 LAB -
January 30th, 2012Well I promised that this year I would start posting more of my technology adventures. Well I have spent a ton of time with MDT 2010 Update 1 and I thought it was finally time to take a look at the upcoming release of the Microsoft Deployment Toolkit.
It is currently in Beta 2 which was released around November 2011 and I am hoping this is in full RTM sometime in the next few months.
Customers out there are really struggling with a way to accelerate their Windows 7 Deployments. Many of them cannot afford the time to even look at Zero Touch deployments now. Most clients are going to be forced into a hybrid approach and need to get on this project ASAP. Time is ticking – XP End of life is coming ASAP.
So I wanted to get started and noticed there were a lot of components to download – So after a bit of hunting on THE GOOGLE. I found this nice little site:
Specifically – they have written a great little downloader powershell script to grab all the files required to stand up your own System Center 2012 Environment. It is called a hydration kit – Now this has been here for a while but I love the example of how to grab to source files via this simple little script.
You can grab the script from here:
I have to do so many repetitive projects with my customers that I am always looking for a way to fast track and standardize our client facing deployments.
I am going to customize this idea in future post to incorporate my work with other Microsoft products like Exchange and LYNC.
This is truly a little gem!
*************************
Here is their sample script to handle the downloading….
$DrivePath = Read-Host -Prompt “- Enter the destination path, eg. C:\sc2012_prereq_files\”
$DownloadSCSuite = Read-Host -Prompt “- Do you want to Download the entire SC 2012 RC Suite? If you answer N, only Config Mgr will be downloaded. <Y or N>”
Write-Host “Beginning to download required files.”
Import-Module BitsTransfer
## Prompt for the destination path
## Check that the path entered is valid
If (Test-Path “$DrivePath” -Verbose)
{
## If destination path is valid, create folder if it doesn’t already exist
$DestFolder = “$DrivePath”
New-Item -ItemType Directory $DestFolder -ErrorAction SilentlyContinue
}
Else
{
Write-Warning ” – Destination path appears to be invalid.”
Write-Host ” – Defaulting to C:\sc2012_prereq_files\ “
$DestFolder = “i:\sc2012_prereq_files\”
}
Try
{
## Check if destination Folder already exists
Write-Host “Verifying Destination Folder Exists, and we can write to it.”
If (Test-Path “$DestFolder”)
{
## Begin download
Write-Host “Beginning Download of Pre-Req’s for Hydration”
Start-BitsTransfer -Source “http://www.deploymentresearch.com/DRFiles/HydrationCM2012RC2.zip” -Destination “$DestFolder\HydrationCM2012RC2.zip” -DisplayName “Downloading `’HydrationCM2012RC2.zip`’ to $DestFolder” -Priority High -Description “From DeploymentResearch.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://download.microsoft.com/download/b/3/a/b3a89fae-f7bf-4e7c-b208-223b991e9c30/MicrosoftDeploymentToolkit2010_x64.msi” -Destination “$DestFolder\MicrosoftDeploymentToolkit2010_x64.msi” -DisplayName “Downloading `’MicrosoftDeploymentToolkit2010_x64.msi`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://download.microsoft.com/download/b/3/a/b3a89fae-f7bf-4e7c-b208-223b991e9c30/MicrosoftDeploymentToolkit2010_x86.msi” -Destination “$DestFolder\MicrosoftDeploymentToolkit2010_x86.msi” -DisplayName “Downloading `’MicrosoftDeploymentToolkit2010_x86.msi`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2633146&kbln=en-us” -Destination “$DestFolder\SQLServer2008R2-KB2633146-x64.exe” -DisplayName “Downloading `’SQLServer2008R2-KB2633146-x64.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=b9aa2dba-7f20-4c0c-9afd-1eebee5a94ea&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f7%2f7%2f6%2f776727E8-57EE-4AB5-BC69-6CCDF04A2A70%2fSQLServer2008R2SP1-KB2528583-x64-ENU.exe” -Destination “$DestFolder\SQLServer2008R2SP1-KB2528583-x64-ENU.exe” -DisplayName “Downloading `’SQLServer2008R2SP1-KB2528583-x64-ENU.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://download.microsoft.com/download/8/E/9/8E9BBC64-E6F8-457C-9B8D-F6C9A16E6D6A/KB3AIK_EN.iso” -Destination “$DestFolder\KB3AIK_EN.iso” -DisplayName “Downloading `’KB3AIK_EN.iso`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/download/D/8/0/D808E432-5AC6-4DA5-A087-21947AC4AC5F/1033/SQLFULL_x64_ENU.exe” -Destination “$DestFolder\SQLFULL_x64_ENU.exe” -DisplayName “Downloading `’SQLFULL_x64_ENU.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/download/7/5/E/75EC4E54-5B02-42D6-8879-D8D3A25FBEF7/7601.17514.101119-1850_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso” -Destination “$DestFolder\Server2008r2_sp1.iso” -DisplayName “Downloading `’Server2008r2_sp1.iso`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Write-Host “Beginning Download of System Center 2012 Components”
IF ($DownloadSCSuite=”Y”)
{
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/8/C/4/8C4F744E-0F2C-438C-8786-362D687B2517/SCOM2012RC.exe” -Destination “$DestFolder\SCOM2012RC.exe” -DisplayName “Downloading `’SCOM2012RC.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/3/4/C/34C7656A-F89E-473C-8CE0-21DA5DB0717C/ConfigMgr_2012_RC2_ENU_7703.exe” -Destination “$DestFolder\ConfigMgr_2012_RC2_ENU_7703.exe” -DisplayName “Downloading `’ConfigMgr_2012_RC2_ENU_7703.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/A/9/5/A956026A-18AB-4046-B47E-301AFABF9E34/System_Center_2012_Orchestrator_RC.EXE” -Destination “$DestFolder\System_Center_2012_Orchestrator_RC.EXE” -DisplayName “Downloading `’System_Center_2012_Orchestrator_RC.EXE`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/0/F/6/0F6679F0-9E9C-432A-B44C-7BCCBB36D82E/DPM_EVAL_RC.zip” -Destination “$DestFolder\DPM_EVAL_RC.zip” -DisplayName “Downloading `’DPM_EVAL_RC.zip`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/0/6/8/068DBD4A-6544-4CC7-966A-810FC0D89E4D/VMM.EVAL.RC.exe” -Destination “$DestFolder\VMM.EVAL.RC.exe” -DisplayName “Downloading `’VMM.EVAL.RC.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/F/5/F/F5F22F42-7566-4246-A0C6-FF81FD5CA250/SCSM2012_RC.exe” -Destination “$DestFolder\SCSM2012_RC.exe” -DisplayName “Downloading `’SCSM2012_RC.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/5/0/A/50AFAC54-781E-4711-B85C-BE064B423C58/SC2012_UnifiedInstaller_RC.exe” -Destination “$DestFolder\SC2012_UnifiedInstaller_RC.exe” -DisplayName “Downloading `’SC2012_UnifiedInstaller_RC.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/7/A/C/7AC5564B-DB1A-47B3-8F7E-E464445EE5B6/AppController.Beta.exe” -Destination “$DestFolder\AppController.Beta.exe” -DisplayName “Downloading `’AppController.Beta.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
}
ELSE
{
Start-BitsTransfer -Source “http://care.dlservice.microsoft.com/dl/download/3/4/C/34C7656A-F89E-473C-8CE0-21DA5DB0717C/ConfigMgr_2012_RC2_ENU_7703.exe” -Destination “$DestFolder\ConfigMgr_2012_RC2_ENU_7703.exe” -DisplayName “Downloading `’ConfigMgr_2012_RC2_ENU_7703.exe`’ to $DestFolder” -Priority High -Description “From Microsoft.com…” -ErrorVariable err
}
If ($err) {Throw “”}
}
Else
{
Write-Host ” – Folder does not exist, Cancelling…”
}
}
Catch
{
Write-Warning ” – An error occurred downloading files”
break
}
## View the downloaded files in Windows Explorer
Invoke-Item $DestFolder
Write-Host “Finished downloading required files.”
******************