Windows 2008 R2 cluster Issue with Quorum drive to a new drive on SAN migration

Check out these two links.  Everything should work… but it doesn’t always.

http://www.ryanjadams.com/2011/07/move-cluster-quorum/#axzz3T5HU9X6N

http://blogs.technet.com/b/hugofe/archive/2012/07/04/windows-2008-2008-r2-san-migration.aspx

Shutdown the cluster

– Disconnect the iSCSI connections

– Move the LUNS on the storage side.

– Offline the old LUNS

– Connect a node to the new storage, check disks appear in disk management as ‘reserved’

– Start the cluster, make sure everything is OK then apply to other nodes.

I added a shutdown of one of the nodes in one of the following steps.

  1. From cluster manager,
  2. right click on the cluster
  3. go to More Actions,
  4. select Configure cluster Quorum Settings.
  5. Change from Node and Disk Majority and switch to only Node Majority.
  6. Once that is complete, disconnect the old LUN from the cluster.
  7. Add the new LUN to the cluster
  8. Go back to quorum configuration and switch back to node and disk majority.

Note:

The cluster software writes a disk signature to each drive (LUN) and that is how it keeps track of them.  If you preserve the complete contents of the LUNs, it should not have any issues recognizing them on a different IQN.

Advertisements

CREATE A READY TO DEPLOY WINDOWS 2008 R2 TEMPLATE – Repost

source: http://www.skypointconsulting.com/create-a-new-vmware-vm-with-the-converted-vmdk/

Here is a quick way to get a generalized VM up and running on your favorite hypervisor:

  1. Install your OS
  2. Install virtualization tools (VMware Tools, XenTools, etc.)
  3. Install patches and make necessary OS/System changes
  4. Run C:WindowsSystem32sysprepsysprep.exe
    • Select Enter System Out-of-Box Experience (OOBE)
    • Select Shutdown
    • Click OK

create-sysprep-2008r2-1

  1. After the VM has been shutdown, convert it to a template
  2. To test, create a new VM from the template
  3. At boot up, Windows setup will begin
  4. When prompted, complete the setup wizard and begin using your VM

create-sysprep-2008r2-2

Microsoft Releases iSCSI Software Target 3.3 to Windows Server 2008 R2 Users – Reposted

Microsoft Releases iSCSI Software Target 3.3 to Windows Sever 2008 R2 Users

Microsoft released on Monday iSCSI Software Target 3.3, a Windows Server 2008 R2 addition that allows for shared block storage in storage area networks using the iSCSI protocol.

According to Microsoft’s announcement, iSCSI Software Target 3.3 is the first release that can be used in a production environment. The product enables “storage consolidation and sharing on a Windows Server by implementing the iSCSI (Internet Small Computer Systems Interface) protocol, which supports SCSI-block access to [a] storage device over a TCP/IP network,” according to the product overview at Microsoft’s Download Center.

This type of storage architecture offers a number of benefits, according to the product overview. It can be used to achieve high availability with Microsoft’s Hyper-V hypervisor using the “live migration” feature. Storage for application servers can be consolidated, including on a Windows failover cluster. Finally, Microsoft iSCSI Software Target 3.3 supports the remote booting of diskless computers “from a single operating system image using iSCSI.”

Microsoft’s team ran this release the software through extensive testing, particularly with Windows Server failover clusters and Hyper-V, according to the announcement. One scenario involved using Microsoft iSCSI Software Target in a “two-node Failover Cluster,” with 92 Hyper-V virtual machines storing data to one of the nodes. The team introduced a failure in the main node and found that all 92 virtual machines switched to the second node without a noticeable effect on the underlying application.

Microsoft is recommending using Service Pack 1 with Windows Server 2008 R2 for this release of Microsoft iSCSI Software Target. The product can be installed in a Hyper-V virtual machine. It doesn’t work with a core installation of Windows Server 2008 R2.

About the Author

Kurt Mackie is senior news producer for the 1105 Enterprise Computing Group.

WINDOWS 2008 R2 REMOTE DESKTOP AND XENAPP 6 TUNING TIPS UPDATE (Repost)

Following the great article Terminal Server & XenApp Tuning Tips published on this website by Pierre Marmignon, this article defined all tips that I’ve found, test and validate for tuning Windows 2008 R2 and XenApp6.

Source: CitrixTools.Net

Please note that :
–       These informations are provided “as is” and that using these tips is at your own risks.
–       All this tuning tips have been tested and validated only on VMs running on Vmware Vsphere 4, let us know your feeback related to any other platform (either Hypervisor or physical server).
Windows 2008 R2 OS Tuning Tips for Remote Desktop Service and XenApp 6
 
Registry Hive
Value
Type
Data
Purpose(s)
HKLMSYSTEMCurrentControlSetServicesTcpipparameters
 KeepAliveTime
 REG_DWORD
180000
Determines how often TCP sends keep-alive transmissions
HKLMSYSTEMCurrentControlSetServicesTcpipparameters
 KeepAliveInterval
 REG_DWORD
 100
Determines how often TCP repeats keep-alive transmissions when no response is received
HKLMSYSTEMCurrentControlSetServicesTcpipparameters
 TcpMaxDataRetransmissions
 REG_DWORD
 10
Determines how many times TCP retransmits an unacknowledged data segment on an existing connection
HKLMSystemCurrentControlSetServicesLanmanServerParameters
 MaxWorkItems
 REG_DWORD
 512
Server Service Optimization
HKLMSystemCurrentControlSetServicesLanmanServerParameters
 MaxMpxCt
 REG_DWORD
 2048
Server Service Optimization
HKLMSystemCurrentControlSetServicesLanmanServerParameters
 MaxFreeConnections
 REG_DWORD
 100
Server Service Optimization
HKLMSystemCurrentControlSetServicesLanmanServerParameters
 MinFreeConnections
 REG_DWORD
 32
Server Service Optimization
HKLMSystemCurrentControlSetServicesLanmanWorkstationParameters
 UtilizeNTCaching
 REG_DWORD
 0
Disable Caching
HKLMSYSTEMCurrentControlSetServicesMRXSmbParameters
 OplocksDisabled
 REG_DWORD
 1
Disables Opportunistic Locking
HLMSYSTEMCurrentControlSetServicesLanmanworkstationParameters
 UseOpportunisticLocking
 REG_DWORD
 0
Disables Opportunistic Locking
HKLMSYSTEMCurrentControlSetServicesLanmanserverParameters
 EnableOplocks
 REG_DWORD
 0
Disables Opportunistic Locking
HKLMSYSTEMCurrentControlSetServicesTcpipparameters
EnableRSS
 REG_DWORD
0
Disable Receive Side Scaling
HKLMSYSTEMCurrentControlSetServicesTcpipparameters
EnableTCPA
 REG_DWORD
0
Disable TCP-acceleration
HKLMSYSTEMCurrentControlSetServicesTcpipparameters
EnableTCPChimney
 REG_DWORD
0
Disable TCP Chimney Offload
HKLMSYSTEMCurrentControlSetServicesLanmanWorkstationParameters
DisableBandwidthThrottling
 REG_DWORD
1
The default is 0. By default, the SMB redirector throttles throughput across high-latency network connections in some cases to avoid network-related timeouts. Setting this registry value to 1 disables this throttling, enabling higher file transfer throughput over high-latency network connections
HKLMSystemCurrentControlSetServicesLanmanWorkstationParameters
 MaxThreads
 REG_DWORD
 17
Maximum Concurrent Threads
HKLMSYSTEMCurrentControlSetServicesLanmanWorkstationParameters
DisableLargeMtu
 REG_DWORD
0
The default is 1. By default, the SMB redirector does not transfer payloads larger than approximately 64 KB per request. Setting this registry value to 0 enables larger request sizes, which can improve file transfer speed.
HKLMSYSTEMCurrentControlSetServicesTcpipparameters
 EnableWsd
 REG_DWORD
 0
The default is 1 for client operating systems. By default, Windows Scaling Diagnostics (WSD) automatically disables TCP receive window auto tuning when heuristics suspect a network switch component might not support the required TCP option (scaling). Setting this registry setting to 0 disables this heuristic and allows auto tuning to stay enabled. When no faulty networking devices are involved, applying the setting can enable more reliable high-throughput networking via TCP receive window auto tuning. For more information about disabling this setting
HKLMSYSTEMCurrentControlSetServicesLanmanWorkstationParameters
FileInfoCacheEntriesMax
 REG_DWORD
32768
The default is 64 with a valid range of 1 to 65536. This value is used to determine the amount of file metadata that can be cached by the client. Increasing the value can reduce network traffic and increase performance when a large number of files are accessed
HKLMSYSTEMCurrentControlSetServicesLanmanWorkstationParameters
DirectoryCacheEntriesMax
 REG_DWORD
4096
The default is 16 with a valid range of 1 to 4096. This value is used to determine the amount of directory information that can be cached by the client. Increasing the value can reduce network traffic and increase performance when large directories are accessed
HKLMSYSTEMCurrentControlSetServicesLanmanWorkstationParameters
FileNotFoundCacheEntriesMax
 REG_DWORD
32768
The default is 128 with a valid range of 1 to 65536. This value is used to determine the amount of file name information that can be cached by the client. Increasing the value can reduce network traffic and increase performance when a large number of file names are accessed.
HKLMSYSTEMCurrentControlSetServicesLanmanWorkstationParameters
MaxCmds
 REG_DWORD
32768
The default is 15. This parameter limits the number of outstanding requests on a session. Increasing the value can use more memory, but can improve performance by enabling deeper request pipelining. Increasing the value in conjunction with MaxMpxCt can also eliminate errors encountered due to large numbers of outstanding long-term file requests, such as FindFirstChangeNotification calls. This parameter does not affect connections with SMB 2 servers.
Windows 2008 CPU Tuning (for VM only)
 
Because I’m working with VMware VSphere Server 4, I Supposed that the Hypervisor manage my processor and I don’t want to have any CPU management in the VM, I force all my VM to the “min  Power Scheme“  (High Performance) with the following command “owercfg -setactive scheme_min“
And force my Processor Performance Boost Policy, Minimum and Maximum Processor Performance State and Processor Performance Core Parking Maximum and Minimum Cores to the maximum. (http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv-R2.mspx)
The following commands set Processor Performance Boost Policy to 100 percent on the current power plan:
Powercfg -setacvalueindex scheme_current sub_processor 45bcc044-d885-43e2-8605-ee0ec6e96b59 100
Powercfg -setactive scheme_current
The following commands set Processor Performance State parameters to 100 %
Powercfg -setacvalueindex scheme_current sub_processor 893dee8e-2bef-41e0-89c6-b55d0929964c 100
Powercfg -setactive scheme_current
Core parking is a new feature in Windows Server 2008 R2. The processor power management (PPM) engine and the scheduler work together to dynamically adjust the number of cores available to execute threads, to turn off core parking, set the Minimum Cores parameter to 100 percent by using the following commands:
Powercfg -setacvalueindex scheme_current sub_processor bc5038f7-23e0-4960-96da-33abaf5935ec 100
Powercfg -setactive scheme_current
Additional Windows Explorer Tuning
 
Registry Hive
Value
Type
Data
Purpose(s)
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer
 UseDesktopIniCache
 REG_DWORD
 1
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer
 NoRemoteRecursiveEvents
 REG_DWORD
 1
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer
 NoRemoteChangeNotify
 REG_DWORD
 1
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer
 StartRunNoHOMEPATH
 REG_DWORD
 1
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer
 NoRecentDocsNetHood
 REG_DWORD
 1
HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer
 NoDetailsThumbnailOnNetwork
 REG_DWORD
 1
HKLMSystemCurrentControlSetServicesMRXSmbParameters
 InfoCacheLevel
 REG_DWORD
 16
HKCR*shellexPropertySheetHandlersCryptoSignMenu
 SuppressionPolicy
 REG_DWORD
 1048576
HKCR*shellexPropertySheetHandlers{3EA48300-8CF6-101B-84FB-666CCB9BCD32}
 SuppressionPolicy
 REG_DWORD
 1048576
HKCR*shellexPropertySheetHandlers{883373C3-BF89-11D1-BE35-080036B11A03}
 SuppressionPolicy
 REG_DWORD
 1048576
HKLMSOFTWAREMicrosoftWindowsCurrentVersionexplorerSCAPI
 Flags
 REG_DWORD
 1051650
HKLMSYSTEMCurrentControlSetControlSession Manager
 SafeDllSearchMode
 REG_DWORD
 1
HKLMSYSTEMCurrentControlSetControlSession Manager
 SafeProcessSearchMode
 REG_DWORD
 1
Windows 2008 R2 – RDP Tuning  
Registry Hive
Value
Type
Data
Purpose(s)
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 AutoEndTasks
 REG_SZ
 1
Determines whether user processes end automatically when the user either logs off.
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 WaitToKillAppTimeout
 REG_SZ
 20000
Determines how long the system waits for user processes to end after the user attempts to log off
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 MenuShowDelay
 REG_SZ
 10
Changes the Start menu display interval
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 CursorBlinkRate
 REG_SZ
 -1
Specifies how much time elapses between each blink of the selection cursor
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 DisableCursorBlink
 REG_DWORD
 1
Enables / Disables Cursor Blink
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 DragFullWindows
 REG_SZ
 0
Specifies what appears on the screen while a user drags a window / Only the outline of the window moves
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 SmoothScroll
 REG_DWORD
 0
Scrolls using smooth scrolling
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 Wallpaper
 REG_SZ
 (none)
Sets Wallpaper to “None”
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktopWindowsMetrics
 MinAnimate
 REG_SZ
 0
Disabled. Window does not animate while being resized
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverrideControl PanelDesktop
 InteractiveDelay
 REG_DWORD
 40
Optimizes Explorer and Start Menu responses Times
XenApp 6.0 – ICA tuning
  
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
 AutoEndTasks
 REG_SZ
 1
 Determines whether user processes end automatically when the user either logs off.
Registry Hive
Value
Type
Data
Purpose(s)
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
 WaitToKillAppTimeout
 REG_SZ
 20000
Determines how long the system waits for user processes to end after the user attempts to log off
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
 MenuShowDelay
 REG_SZ
 10
Changes the Start menu display interval
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
 CursorBlinkRate
 REG_SZ
 -1
Specifies how much time elapses between each blink of the selection cursor
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
DisableCursorBlink
REG_DWORD
 1
Enables / Disables Cursor Blink
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
 DragFullWindows
 REG_SZ
 0
Specifies what appears on the screen while a user drags a window / Only the outline of the window moves
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
 SmoothScroll
 REG_DWORD
 0
Scrolls using smooth scrolling
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
 Wallpaper
 REG_SZ
 (none)
Sets Wallpaper to “None”
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktopWindowsMetrics
 MinAnimate
 REG_SZ
 0
Disabled. Window does not animate while being resized
HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsICA-TcpUserOverrideControl PanelDesktop
 InteractiveDelay
 REG_DWORD
 40
Optimizes Explorer and Start Menu responses Times
Please note that using these tips is at your own risks.
All these tips have been test with XenApp6 server running on VMware Vsphere 4 and should be test on your own environment.
Sources :
Author : Julien Sybille
CCEA & CCA XenDesktop
14 comments
By: Jonathan Pitre (JakeLD)
10 December, 2010

Very nice article Julien!

According to Thomas Koetzing paper on “Optimizing Logon and Logoff 1.4” available at http://www.thomaskoetzing.de/index.php?option=com_docman&task=doc_download&gid=135

the registry key HKLMSYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TcpUserOverride dosen’t work anymore with Windows 2003 and 2008/2008 R2 I assume.

Here what he had to say on page 22: “With Windows 2003 those global keys don’t work anymore and has to be set on a per user basis.”

I tested it my self with existing profiles and it didn’t work…but I just read this morning that the profile must be NEW. So who’s right, you or Thomas ? 🙂

Also I suggest the following registry keys:

HKLMSSYSTEMCurrentControlSetControlProcessor
Key: “Capabilities” (dword)
Value: 0007e666
http://support.microsoft.com/kb/2000977

HKLMSYSTEMCurrentControlSetServicesTCPIPParameters
Key: “DisableTaskOffload” (dword)
Value: “1”

http://support.microsoft.com/kb/904946
http://support.citrix.com/article/CTX117491

Regards,

Jonathan Pitre

By: Helmut Hauser (Houzer)
16 December, 2010

Other tuning options are:

1st) Turn off TCP Offloading (at the NIC AND the OS)

OS:
%SYSTEMROOT%SYSTEM32
etsh.exe int tcp set global chimney=disabled
%SYSTEMROOT%SYSTEM32
etsh.exe int tcp set global rss=disabled

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]
“EnableRSS”=dword:00000000
“EnableTCPChimney”=dword:00000000
“EnableTCPA”=dword:00000000
“DisableTaskOffload”=dword:00000001

2nd) If dealing with APP-V 4.6 64 Bit RDS Client on W2K8R2 this one could be for you [SCCM related]:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftSoftGrid4.5ClientConfiguration]
“RequireAuthorizationIfCached”=dword:00000000
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftSoftGrid4.5ClientNetwork]
“AllowDisconnectedOperation”=dword:00000001
“Online”=dword:00000000
“DOTimeoutMinutes”=dword:ffffff
“LimitDisconnectedOperation”=dword:00000000
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftSoftGrid4.5ClientPermissions]
“ToggleOfflineMode”=dword:00000000

3rd)

other optimizations:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]
“EnablePMTUBHDetect”=dword:00000001
“KeepAliveTime”=dword:00007530
“KeepAliveInterval”=dword:00001388
“TcpMaxDataRetransmissions”=dword:00000005
“EnableBcastArpReply”=dword:00000001
“DisableTaskOffload”=dword:00000001

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanServerParameters]
“TreatHostAsStableStorage”=dword:00000001

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem]
“NtfsDisableLastAccessUpdate”=dword:00000001
“DontVerifyRandomDrivers”=dword:00000001
“NtfsDisable8dot3NameCreation”=dword:00000001

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsaKerberosParameters]
“MaxTokenSize”=dword:0000FFFF

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem]
“DelayedDesktopSwitchTimeout”=dword:00000005

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl]
ServicesPipeTimeout”=dword:0001d4c0

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesBrowserParameters]
“IsDomainMaster”=”FALSE”
“MaintainServerList”=”No”

As always – do NOT use this in a production environment.
Test it in a lab.
Be very careful when touching the autotuning TCP/IP stack. This can backfire.
Talk with the networking gents.

HOW TO CLEAN UP THE WINSXS DIRECTORY AND FREE UP DISK SPACE ON WINDOWS SERVER 2008 R2 WITH NEW UPDATE

// // <![CDATA[
try { jQuery.telligent.evolution.site.configure({baseUrl:'/',monthNames:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],dayNames:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],authorizationCookieName:'AuthorizationCookie',defaultErrorMessage:'An error occurred. Please try again or contact your administrator.',defaultMultiErrorMessagePrefix:'The following errors occurred: ',silverlightFileUploadEnabled:true});
jQuery.extend($.fn.evolutionUserFileTextBox.defaults,{removeText:'Remove',selectText:'Select/Upload…',noFileText:'No File Selected'});
jQuery.telligent.evolution.navigationConfirmation.configure({message:'==============================rnUnless you save before leaving this page, you will lose any changes you have made.rn=============================='});
jQuery.telligent.evolution.validation.registerExtensions({passwordInvalidMessage:'Password contains invalid chars …',passwordRegex:'^.*$',emailInvalidMessage:'Your email address is invalid.',emailRegex:'^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$',usernameInvalidMessage:'Your sign in name does not meet the requirements for this site.',usernameRegex:'^[a-zA-Z0-9_\- @\.]+$',emailsInvalidMessage:'One or more emails is invalid',urlInvalidMessage:'URL not in correct format',urlRegex:'^((http|https|mailto|mms):|/|#|~/)'});
jQuery.extend(jQuery.fn.evolutionLike.defaults,{likeText:'Like',unlikeText:'Unlike',modalTitleText:'People who like this',modalShowMoreText:'Show More',whoLikesOtherText:'{user_display_name} likes this’,whoLikesOtherTwoText:’{user_display_name} and 1 other like this’,whoLikesOtherMultipleText:’{user_display_name} and {count} others like this’,whoLikesAccessingText:’You like this’,whoLikesAccessingTwoText:’You and 1 other like this’,whoLikesAccessingMultipleText:’You and {count} others like this’});
jQuery.extend(jQuery.fn.evolutionInlineTagEditor.defaults,{editButtonText:’Edit tags’,selectTagsText:’Select tags’,saveTagsText:’Save’,cancelText:’Cancel’});
jQuery.extend(jQuery.fn.evolutionStarRating.defaults,{titles:[‘Terrible’,’Poor’,’Fair’,’Average’,’Good’,’Excellent’],ratingMessageFormat:’Average rating: {rating} out of {count} ratings.’});
jQuery.extend(jQuery.fn.evolutionModerate.defaults,{moderateLinkText:’moderate’,reportLinkText:’Flag as spam/abuse’,reportedLinkText:’Flagged as spam/abuse’,reportedNotificationMessageText:'{NAME}’s post has been flagged. Thank you for your feedback.’});
} catch(e) { };
// ]]>// // // // //
How to Clean up the WinSxS Directory and Free Up Disk Space on Windows Server 2008 R2 with New Update – Ask Premier Field Engineering (PFE) Platforms – Site Home – Source: TechNet Blogs

It’s finally here! After pages and pages of comments from you requesting the ability to clean up the WinSxS directory and component store on Windows Server 2008 R2, an update is available.

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

As a refresher, the Windows Server 2008 R2 update is directly related to my previous blog post announcing a similar fix for Windows 7 client.

The Windows 7 version of this fix introduced an additional option to the Disk Cleanup wizard that would cleanup previous versions of Windows Update files. KB2852386 adds a Disk Cleanup option on Windows Server 2008 R2, similar to the Windows 7 update.

What does this mean for Windows Server 2008 R2? After installing this update and prior to being able to perform the cleanup, the Desktop Experience feature must be installed. Why you ask? Disk Cleanup is not installed by default on Windows Server 2008 R2. It is instead a component installed with the Desktop Experience feature.

Why was the update not included as a DISM switch like Windows Server 2012 R2?

This was evaluated, however, due to the amount of changes required and the rigorous change approval process, it was not feasible to back port the functionality this way. Knowing that it would be some time before everyone could upgrade to Windows Server 2012 R2 and based on feedback from an internal survey taken of a subset of enterprise customers, it was determined that this update would still be useful in its Disk Cleanup form, even with the Desktop Experience prerequisite. We hope you agree. However, we are aware that for some of you, the Desktop Experience requirement will be a deal breaker, but decided to release it anyway hoping it will help in some instances.

How can I get the update?

The update is available on Windows Update. It can also be manually downloaded from the Microsoft Update Catalog. The KB article listed above will also direct you to a download link in the Microsoft Download Center.

Let’s Cleanup those Old Windows Update Files!

First, let’s take a look at our starting point. Looking at my Windows 2008 R2 Server with SP1 installed, according to Windows Explorer, the size of my Windows/WinSxS directory is as follows:

The size of the WinSxS directory will vary by server. Some of you will have smaller WinSxS directories, some larger.

Installing the update is just like installing any other update. Just download and double-click on the .msu file:

Installing the update does not require Desktop Experience to be installed beforehand, but if you check your WinSxS directory again, you’ll see there has been no change to the size. This is expected as we need to run Disk Cleanup in order for this to take effect. It also does not require a reboot to install the hotfix.

But…we can’t do anything with what we just installed until we get Disk Cleanup which is installed with the Desktop Experience feature.

When installing Desktop Experience, it does require additional features. Select the button to Add Required Features and click Next and then Install:

A reboot is required to finalize the install.

Click Close and Reboot when prompted.

After we reboot, a Disk Cleanup option can be found under Start –> All Programs –> Accessories –> System Tools:

On launch, Disk Cleanup prompts for the drive you want to clean up:

After clicking Ok, a scan is performed:

Several options are provided for cleanup, including a new option for Windows Update Cleanup:

Just like the Windows 7 cleanup, mileage will vary. Also like Windows 7, the actual cleanup occurs during the next reboot. After the reboot, taking a look at the WinSxS directory, it has shrunk to the following:

Automation

My super knowledgeable scripting cohort Tom Moser wrote a PowerShell script that automates THE ENTIRE PROCESS. Can I get a cheer? Ok. So maybe it is a bit much to expect IT admins to cheer, but can I get an appreciative grunt?  The script certainly beats the alternative of doing this all manually.

You can find the script on the TechNet Script Center here:

http://gallery.technet.microsoft.com/scriptcenter/CleanMgrexeKB2852386-83d7a1ae

What does the script do?

In short, the script does the following:

1) Installs Desktop Experience, if not previously installed, and performs a reboot.

2) Sets the appropriate registry keys to automate the cleanup. The script will cleanup not only previous Windows Update files as well as Service Pack files.

3) The script then initiates the cleanup.

4) If Desktop Experience was not previously installed, the script uninstalls it.

5) Performs final reboot.

For more details, read below.

The script can be run from any directory on the server. It has two parameters: LogPath and a switch called NoReboot. LogPath will allow the user to specify a log location or if none is specified, by default, the script will create a log in the same directory from which the script was executed. NoReboot allows the user to suppress reboots, but will require manual reboots by an administrator.

Note: Make sure to check the log file to verify the process completed successfully and to verify there is no manual interaction required. If the script has completed successfully, the log will end with CleanMgr complete.

The script has several phases, using a registry key to keep track of progress. After initial run, it inserts itself as a scheduled task, which runs as local system. The final phase removes the task.

Depending on pending reboots, etc, we have found that this phase may generate a few reboots. Do not be concerned if the server reboots a few times.

Other Options

Aside from the cleanup mechanism included with this fix, if you have applied SP1 and have not cleaned up afterwards, I’d highly recommend doing so by running the following command from an administrative command prompt:

dism /online /cleanup-image /spsuperseded

or

If you have installed the Desktop Experience feature and thus have the Disk Cleanup utility, you can select the following option to do the same thing:

Specifying the /spsuperceded switch or choosing to remove service pack backup files will remove the ability to uninstall the service pack. If you haven’t done it before, it is certain to free up some space.

The Origins of this Update (Hint: Windows Server 2012 R2)

I’ve mentioned a couple of times that this is a back port. What does that mean? Well, it means that this functionality is already built into a later operating system. In this case, that operating system is Windows Server 2012 R2. Not only do we have several mechanisms to automatically cleanup previous versions of Windows Update files like this update does, we even have the ability to more accurately determine the size of the component store (aka the WinSxS directory).

The command to accurately determine the size of the component store on Windows Server 2012 R2 is as follows:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Running this command analyzes the component store to determine the size and whether cleanup is recommended. Notice in the screen shot that it provides you with the Windows Explorer reported size and the actual size:

Notice that the component store is much smaller than Windows Server 2008 R2 right out of the gate? This isn’t because I’ve used Features on Demand to remove roles and features. It’s because by default in Windows Server 2012 R2, we compress all unused binaries. Another win for Windows Server 2012 R2!

Looking at the breakdown of the 5.12GB. We see that Shared with Windows accounts for 3.83GB of the 5.12GB. Shared with Windows refers to the size of the files that are hardlinked between the WinSxS directory and the Windows location of the file. Because these hardlinks appear to take up space, but don’t really, we can subtract them from our component store size. Therefore, the actual size of the component store is the total of Backups and Disabled Features plus Cache and Temporary Data or 1.28GB.

But back to our cleanup.

In the above screen shot, it’s stated that component store cleanup is recommended. We can manually cleanup the component store on Windows Server 2012 R2 by running the following command:

Dism.exe /online /Cleanup-Image /StartComponentCleanup

What does this do? When this runs, Windows cleans up the previous versions of the component that was updated. In other words, it is doing exactly what our update does for Windows Server 2008 R2 SP1. It removes previous versions of the files updated by Windows Updates.

After running /StartCompomentCleanup, upon analyzing the size again, we see it is as follows:

So no notable difference really. Largely because we’ve been running this cleanup all along. This same command is run every 30 days as a scheduled task with a time limit of 1 hour.

With the scheduled task however, the task will wait at least 30 days after an updated component has been installed before uninstalling the previous versions of the component. This scheduled task can be found in Task Scheduler under the Task Scheduler LibraryMicrosoftWindowsServicingStartComponentCleanup directory:

More information on this can be found here:  http://technet.microsoft.com/en-us/library/dn251565.aspx

If you’re in all out spring cleaning mode and want to perform super deep cleanup, you can use the /resetbase command with the /startcomponentcleanup to remove all superseded versions of every component in the component store:

Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

This removes the ability to uninstall any updates applied until this point in time.

And don’t forget the ability to completely remove any role or feature which also reduces the size. Take a look at one of my earlier blogs for more details on Features on Demand:  http://blogs.technet.com/b/askpfeplat/archive/2013/02/24/how-to-reduce-the-size-of-the-winsxs-directory-and-free-up-disk-space-on-windows-server-2012-using-features-on-demand.aspx

Here’s a handy table showing when we introduced the various different cleanup and WinSxS size reductions by operating system:

Operating System Compress Unused WinSxS Binaries Cleanup Previous Windows Update Files Automatically Clean Up Previous Windows Update Files Cleanup All Components Features on Demand
Windows Server 2008 R2 With KB2852386
Windows Server 2012  With KB2821895 x x x
Windows Server 2012 R2 x x x x x

Want more information on how all this works under the covers?

Check out the following series on the AskCore team blog for an in-depth look at servicing improvements on Windows Server 2012 R2:

What’s New in Windows Servicing: Part 1

What’s New in Windows Servicing: Reduction of Windows Footprint : Part 2

What’s New in Windows Servicing: Service Stack Improvements: Part 3 

More on the Desktop Experience Feature

The Desktop Experience feature includes the following components and features:

* Windows Media Player

* Desktop themes

* Video for Windows (AVI support)

* Windows SideShow

* Windows Defender

* Disk Cleanup

* Sync Center

* Sound Recorder

* Character Map

* Snipping Tool

* Ink Support

Most of these are not automatically turned on with the exception of Windows Defender whose service is started after reboot. You’ll likely want to stop the service and disable it after reboot. Not all 3rd party anti-viruses conflict with Windows Defender, but there have been reports that some do.

~ Charity Shelbourne and Tom Moser, Spring cleaning servers since 1998

Update May 15th, 2014

We are aware of a method of copying in the appropriate Disk Cleanup/CleanMgr files into the appropriate location to avoid installing the Desktop Experience. If this were a tested and supported option, we certainly would have included these details in this post and definitely would have used this method to automate the cleanup. However, it was determined early on that this method would not be supported. If you decide to do this, do so at your own risk.

iSCSI configuration in a cluster

Configuring the Microsoft iSCSI target software for use in a cluster

Source: http://clusteringformeremortals.com/2011/03/24/configuring-the-microsoft-iscsi-target-software-for-use-in-a-cluster/

Now that Starwind has stopped offering a free, limited version of their iSCSI target software you might be looking for an alternative for your labs. Microsoft has recently made their iSCSI target software available as part of the Windows Storage Server 2008 R2 download on Tech-Net and MSDN. It is not for use in production and has some of its own licensing restrictions, but it works fine and it is free for Tech-Net and MSDN subscribers.

I recorded some really quick and dirty videos that aim to show you how to configure the iSCSI target and iSCSI initiator software in under 7 minutes. At the end, you will have a shared disk array ready to start your shared storage cluster. Hopefully when I get some more time I’ll actually write these steps out, but in a pinch this will give you the general idea of what needs to be done. There are plenty of other features, but for a lab environment this will do the trick.

http://screencast.com/t/2qUUDvZo6Zka – configuring the iSCSI target software and iSCSI initiator on the client

http://screencast.com/t/7m9ElSIdAbP – configuring the iSCSI initiator….continued

Step-by-Step: Configuring a 2-node multi-site cluster on Windows Server 2008 R2 – Part 1

Source: Clustering for mere mortals

STEP-BY-STEP: CONFIGURING A 2-NODE MULTI-SITE CLUSTER ON WINDOWS SERVER 2008 R2 – PART 1

CREATING YOUR CLUSTER AND CONFIGURING THE QUORUM: NODE AND FILE SHARE MAJORITY

Introduction

Welcome to Part 1 of my series “Step-by-Step: Configuring a 2-node multi-site cluster on Windows Server 2008 R2″. Before we jump right in to the details, let’s take a moment to discuss what exactly a multi-site cluster is and why I would want to implement one. Microsoft has a great webpage and white paperthat you will want to download to get you all of the details, so I won’t repeat everything here. But basically a multi-site cluster is a disaster recovery solution and a high availability solution all rolled into one. A multi-site cluster gives you the highest recovery point objective (RTO) and recovery time objective (RTO) available for your critical applications. With the introduction of Windows Server 2008 failover clustering a multi-site cluster has become much more feasible with the introduction of cross subnet failover and support for high latency network communications.

I mentioned “cross-subnet failover” as a great new feature of Windows Server 2008 Failover Clustering, and it is a great new feature. However, SQL Server has not yet embraced this functionality, which means you will still be required to span your subnet across sites in a SQL Server multi-site cluster. As of Tech-Ed 2009, the SQL Server team reported that they plan on supporting this feature, but they say it will come sometime after SQL Server 2008 R2 is released. For the foreseeable future you will be stuck with spanning your subnet across sites in a SQL Server multi-site cluster. There are a few other network related issues that you need to consider as well, such as redundant communication paths, bandwidth and file share witness placement.

Network Considerations

All Microsoft failover clusters must have redundant network communication paths. This ensures that a failure of any one communication path will not result in a false failover and ensures that your cluster remains highly available. A multi-site cluster has this requirement as well, so you will want to plan your network with that in mind. There are generally two things that will have to travel between nodes: replication traffic and cluster heartbeats. In addition to that, you will also need to consider client connectivity and cluster management activity. You will want to be sure that whatever networks you have in place, you are not overwhelming the network or you will have unreliable behavior. Your replication traffic will most likely require the greatest amount of bandwidth; you will need to work with your replication vendor to determine how much bandwidth is required.

With your redundant communication paths in place, the last thing you need to consider is your quorum model. For a 2-node multi-site cluster configuration, the Microsoft recommended configuration is a Node and File Share Majority quorum. For a detailed description of the quorum types, have a look at thisarticle.

The most common cause of confusion with the Node and File Share Majority quorum is the placement of the File Share Witness. Where should I put the server that is hosting the file share? Let’s look at the options.

Option 1 – place the file share in the primary site.

This is certainly a valid option for disaster recovery, but not so much for high availability. If the entire site fails (including the Primary node and the file share witness) the Secondary node in the secondary site will not come into service automatically, you will need to force the quorum online manually. This is because it will be the only remaining vote in the cluster. One out of three does not make a majority! Now if you can live with a manual step being involved for recovery in the event of a disaster, then this configuration may be OK for you.

Option 2 – place the file share in the secondary site.

This is not such a good idea. Although it solves the problem of automatic recovery in the event of a complete site loss, it exposes you to the risk of a false failover. Consider this…what happens if your secondary site goes down? In this case, your primary server (Node1) will go also go offline as it is now only a single node in the primary site and will no longer have a node majority. I can see no good reason to implement this configuration as there is too much risk involved.

Option 3 – place the file share witness in a 3rd geographic location

This is the preferred configuration as it allows for automatic failover in the event of a complete site loss and eliminates any the possibility of a failure of the secondary site causing the primary node to go offline. By having a 3rd site host the file share witness you have eliminated any one site as a single point of failure, so now the cluster will act as you expect and automatic failover in the event of a site loss is possible. Identifying a 3rd geographic location can be challenging for some companies, but with the advent of cloud based utility computing like Amazon EC2 and GoGrid, it is well within the reach of all companies to put a file share witness in the clouds and have the resiliency required for effective multi-site clusters. In fact, you may consider the cloud itself as your secondary data center and just failover to the cloud in the event of a disaster. I think the possibilities of cloud based computing and disaster recovery configurations are extremely enticing and in fact I plan on doing a whole blog post on a just that in the near future.

Configure the Cluster

Now that we have the basics in place, let’s get started with the actual configuration of the cluster. You will want to add the Failover Clustering feature to both nodes of your cluster. For simplicity sake, I’ve called my nodes PRIMARY and SECONDARY. This is accomplished very easily through the Add Features Wizard as shown below.

Figure 1 – Add the Failover Clustering Role

Next you will want to have a look at your network connections. It is best if you rename the connections on each of your servers to reflect the network that they represent. This will make things easier to remember later.

Figure 2- Change the names of your network connections

You will also want to go into the Advanced Settings of your Network Connections (hit Alt to see Advanced Settings menu) of each server and make sure the Public network is first in the list.

Figure 3- Make sure your public network is first

Your private network should only contain an IP address and Subnet mask. No Default Gateway or DNS servers should be defined. Your nodes need to be able to communicate across this network, so make sure the servers can communicate across this network; add static routes if necessary.

Figure 4 – Private network settings

Once you have your network configured, you are ready to build your cluster. The first step is to “Validate a Configuration”. Open up the Failover Cluster Manager and click on Validate a Configuration.

Figure 5 – Validate a Configuration

The Validation Wizard launches and presents you the first screen as shown below. Add the two servers in your cluster and click Next to continue.

Figure 6 – Add the cluster nodes

A multi-site cluster does not need to pass the storage validation (see Microsoft article). Toskip the storage validation process,click on “Run only the tests I select” and click Continue.

Figure 7 – Select “Run only tests I select”

In the test selection screen, unselect Storage and click Next

Figure 8 – Unselect the Storage test

You will be presented with the following confirmation screen. Click Next to continue.

Figure 9 – Confirm your selection

If you have done everything right, you should see a summary page that looks like the following. Notice that the yellow exclamation point indicates that not all of the tests were run. This is to be expected in a multi-site cluster because the storage tests are skipped. As long as everything else checks out OK, you can proceed. If the report indicates any other errors, fix the problem, re-run the tests, and continue.

Figure 10 – View the validation report

You are now ready to create your cluster. In the Failover Cluster Manager, click on Create a Cluster.

Figure 11 – Create your cluster

The next step asks whether or not you want to validate your cluster. Since you have already done this you can skip this step. Note this will pose a little bit of a problem later on if installing SQL as it will require that the cluster has passed validation before proceeding. When we get to that point I will show you how to by-pass this check via a command line option in the SQL Server setup. For now, choose No and Next.

Figure 12 – Skip the validation test

The next step is that you must create a name for this cluster and IP for administering this cluster. This will be the name that you will use to administer the cluster, not the name of the SQL cluster resource which you will create later. Enter a unique name and IP address and click Next.

Note: This is also the computer name that will need permission to the File Share Witness as described later in this document.

Figure 13 – Choose a unique name and IP address

Confirm your choices and click Next.

Figure 14 – Confirm your choices

Congratulation, if you have done everything right you will see the following Summary page. Notice the yellow exclamation point; obviously something is not perfect. Click on View Report to find out what the problem may be.

Figure 15 – View the report to find out what the warning is all about

If you view the report, you should see a few lines that look like this.

Figure 16 – Error report

Don’t fret; this is to be expected in a multi-site cluster. Remember we said earlier that we will be implementing a Node and File Share Majority quorum. We will change the quorum type from the current Node Majority Cluster (not a good idea in a two node cluster) to a Node and File Share Majority quorum.

Implementing a Node and File Share Majority quorum

First, we need to identify the server that will hold our File Share witness. Remember, as we discussed earlier, this File Share witness should be located in a 3rd location, accessible by both nodes of the cluster. Once you have identified the server, share a folder as you normally would share a folder. In my case, I create a share called MYCLUSTER on a server named DEMODC.

The key thing to remember about this share is that you must give the cluster computer name read/write permissions to the share at both the Share level and NTFS level permissions. If you recall back at Figure 13, I created my cluster and gave it the name “MYCLUSTER”. You will need to make sure you give the cluster computer account read/write permissions as shown in the following screen shots.

Figure 17 – Make sure you search for Computers

Figure 18 – Give the cluster computer account NTFS permissions

Figure 19 – Give the cluster computer account share level permissions

Now with the shared folder in place and the appropriate permissions assigned, you are ready to change your quorum type. From Failover Cluster Manager, right-click on your cluster, choose More Actions and Configure Cluster Quorum Settings.

Figure 20 – Change your quorum type

On the next screen choose Node and File Share Majority and click Next.

Figure 21 – Choose Node and File Share Majority

In this screen, enter the path to the file share you previously created and click Next.

Figure 22 – Choose your file share witness

Confirm that the information is correct and click Next.

Figure 23 – Click Next to confirm your quorum change to Node and File Share Majority

Assuming you did everything right, you should see the following Summary page.

Figure 24 – A successful quorum change

Now when you view your cluster, the Quorum Configuration should say “Node and File Share Majority” as shown below.

Figure 25 – You now have a Node and File Share Majority quorum

The steps I have outlined up until this point apply to any multi-site cluster, whether it is a SQL, Exchange, File Server or other type of failover cluster. The next step in creating a multi-site cluster involves integrating your storage and replication solution into the failover cluster. This step will vary from depending upon your replication solution, so you really need to be in close contact with your replication vendor to get it right. In Part 2 of my series, I will illustrate how SteelEye DataKeeper Cluster Edition integrates with Windows Server Failover Clustering to give you an idea of how one of the replication vendor’s solutions works.

Other parts of this series will describe in detail how to install SQL, File Servers and Hyper-V in multi-site clusters. I will also have a post on considerations for multi-node clusters of three or more nodes.