Archive: ‘Windows’ Category

Thoughts on Server 2012 R2 Scale-out File Server and Provisioning Services

1 comment September 17th, 2013

When I read about all the new features and enhancements that comes with the Windows Server 2012 R2 release, I started to realize how much of it could be used to optimize and save costs when used in a PVS platform. Ill try to go through a few of the enhancements and features and share my thoughts of how they could be used.

Failover Clustering and Scale-out File Server

Ive never been a fan of Microsoft Clustering. The experiences i have and what ive heard from others using it is thats its very cumbersome to manage and troubleshoot. When something goes wrong its a pain to get it working again.
Well with failver clustering and Scale-out File server in server 2012 this seems to have been improved.

Now you have features like Cluster-Aware Updating that enables software updates to be applied automatically to the operating system or other system components on the nodes of a failover cluster while maintaining availability during the update process. This will reduce maintenance time by automating what was previously a very repetitive task.

With the introduction om SMB 3.0 and Storage Spaces you get performance, scalability and functionality that used to only be available in big expensive SAN solutions.

The Scale-out File Server (SoFS) role uses SMB 3.0 to enable you to build Active-Active fileclusters. SoFS will automatically redired I/O over SMB to an optimal node in the cluster. When the client connects to a share in the cluster it will connect to any of the nodes. However the file the client wants to open might actually be stored on one of the other nodes in the cluster. SoFS will detect this and automatically transition the SMB connection to the node where the file resides.

With the Server 2012 R2 release Failover Clustering and SoFS also supports data deduplication which can save you lots of storage space when your vDisks are stored on a SoFS share.

Storage Spaces

Until Windows Server 2012 was released, implementing storage virtualization required purchasing proprietary third-party SAN solutions that were expensive and required using their own set of management tools. Such solutions also required special training to implement, manage, and maintain them effectively. Storage Spaces, first introduced in Windows Server 2012, was designed to make storage virtualization affordable even for small businesses. Storage Spaces is simple to deploy and manage, and it can provide businesses with shared storage that can grow on demand to meet an organization’s changing needs.

 With Storage Spaces in Windows Server 2012 R2 Microsoft enables you to create a tiered storage that transparently delivers an appropriate balance between capacity and performance that can meet the needs of enterprise workloads. The result is that the workload’s most frequently accessed data (the working set) will automatically be stored on the SSD tier while the rest of the workload’s data is stored on the HDD tier.

Data deduplication

Data deduplication was introduced in Windows Server 2012 to help enterprises cope with exponentially increasing growth of data storage in their environments. Data deduplication allows Windows Server 2012 to store more data in less physical space to optimize the capacity of their storage fabric. Data deduplication is highly scalable, resource efficient, and nonintrusive in Windows Server 2012, and can run on multiple volumes simultaneously without affecting other workloads running on the server. Checksums, consistency, and identity validation are used to ensure data integrity, and redundant copies of file system metadata are maintained to ensure data is recoverable in the event of corruption.

Sadly this wont help save storage in you PVS environment as you might think. In server 2012 data deduplication can only be used with files that are closed. Your PVS vDisks are likely to be open most of the time as the target devices is running from them.

In server 2012 R2 thou Microsoft added a few improvements to the way data deduplication works. When used in a Failover Cluster data deduplication will work on open files aswell!

SMB 3.0

SMB 3.0 is at the core of the new SoFS functionality introduced previously in Windows Server 2012 and enables file-based storage solutions (file servers) to provide network storage for servers that have similar performance to expensive, proprietary SAN solutions. Using SMB 3.0 and the Windows Server 2012 platform, organizations can build low-cost scale-out storage fabrics that can meet the needs of a broad range of private and hosted cloud solutions.

Some of the key features of SMB 3.0 include:

  • SMB Scale Out
    Allows you to create file shares using Cluster Shared Volumes (CSV) to provide simultaneous access to data files, with direct I/O, through all nodes in a file server cluster. This results in improved utilization of network bandwidth, load balancing of SMB 3.0 clients, and optimized performance for server applications.
  • SMB Transparent Failover
    Allows you to perform hardware or software maintenance of nodes in a clustered SMB 3.0 file server (an SoFS) without interruption to server applications storing data on the file shares. If a hardware or software failure occurs on a cluster node, SMB 3.0 clients can transparently reconnect to another cluster node without interruption as well.
  • SMB Direct
    Supports using network adapters that have Remote Direct Memory Access (RDMA) capability, which allows them to function at full speed with very low latency and very low CPU utilization. When used with workloads, such as Hyper-V or SQL Server, the result is that a remote SMB 3.0 file server can resemble local storage in its performance.
  • SMB Multichannel
    Provides aggregation of network bandwidth and network fault tolerance when multiple paths are available between the SMB 3.0 client and the SMB 3.0 file server. This results in server applications taking full advantage of all available network bandwidth and being more resilient to network failure.

All these features boosts the SMB protocol performance significantly when used with supported hardware and adds resiliancy with multichannel and transparent failover. This for me takes the SMB protocol into the cloud era and enables it to be used in more critical infrastructural functions while still being easy to mange and setup.

If you put all this together and build a SoFS cluster to store your vDisks you get a centralized vDisk store and dont need to sync your vDisks between servers using local storage. You will save even more storage with deduplication as the vDisks is likely to be very similar to eachother.

Windows Server 2012 R2 SoFS is an inexpensive, valid and fully featured storage solution that can compete with many enterprise storage solutions out there.

There are many more features and enhancements in the new R2 release i havnt talked about as i think these are the most important ones that relate to Provisioning Services.

Problems with Internet Explorer when running seamless sessions, but working from Desktop

2 comments January 16th, 2013

So ive been running into this problems a few times, it started when xenapp 6 was released enabling to run citrix on server 2008. The problem occurs a new profile is created, ie new user or profile wipe, and running seamless applications. Mostly its affecting Internet Explorer, but can in some cases also affect other applications. When the user surfs the internet/intranet or to sites using addons/plugins to IE, IE behaves mysteriously, gpo settings might not be applied to the user, trusted sites dont work or IE security zones looks corrupt. But if you publish a desktop to the user it works fine, and after the user have logged on to the desktop the seamless apps starts behaving correctly as well. Its only affecting users who use seamless apps and not yet logged in and used a desktop session.

The reason for this behavior is because when you run a seamless session, your not using explorer as a shell. And when the profile is created it needs the explorer process to create lots of stuff that is needed by IE among others.

You can easily test this yourself. If you publish something like notepad or Internet Explorer to a user with no profile yet created. When that user has started the application and the profile is created you can have a look into his registry here:

Software/Microsoft/Windows/CurrentVersion/Internet Settings

There is going to be a few keys here but if you compare to a user that has started a desktop session its lots more. It wont create the security zones or trusted sites settings needed to use trusted sites.

A quick fix is to just push the Internet Settings key to your users if your not publishing a Desktop. But i would be careful using this and go through every key to see what i would need and not need on my platform.

Microsoft has a KB about this problem aswell where you run “runonce.exe /AlternateShellStartup” when the user logs on. And supposedly creates all the registry settings as if you would use explorer as a shell. I say supposedly because i havnt verified it. KB951048

Citrix has an article about this as well with the same solution so it should be a working solution. CTX127874

This will affect applications in your environment that relies on internet settings such as security zones like connecting to intranet sites or even cifs shares that should be trusted intranet sites.


XenClient and Provisioning Services

1 comment January 28th, 2011

So! I was supposed to go and have a lecture on Provisioning Services a few weeks ago and i needed a demo. As im running XenClient on my laptop, and with the SP1 update XenClient gets support to provisioning services! So i thought why not set up an internal Provisioning Server on my XenClient? How hard can it be!

Well it wasnt that hard, you just need a little bit of Linux knowlege to be able to do it!

I started out by installing a Server 2003 with provisioning services, only problem I had with this was to get XenClient tools installed but it works good.  I configured local storage and the PVS server was up and running. Oh and i also installed the Licens Server, to be able to get licensing going for the PVS.

I had to decide on which network to use for provisioning thou, i dont want it spam dhcp stuff outside of my laptop, so first i thought hey lets use the internal network option in xenclient to isolate the network. Turns out there is a bug thou in XenClient that wont turn on the internal network unless there is a cable plugged in the physical network port. That sucked! What about the wireless?

In xenclient all guests share the wireless and they all get an internal address, so it suited me fine! Now all i needed to do was to add the dhcp options to the internal dhcp server. XenClient uses dnsmasq as a dhcp server and dns forwarder.  All i needed to do was to edit /etc/dnsmasq.brwireless and add the options there! Awesome. So now all i need to do is install a Master Target Device!

I created a new guest, called it MTD and installed XP on it. When it was finished I installed the PVS tools to make an image of it and runned the wizard. Of course i configured the guest to also use the wireless network. It prepared XP to be sucked into PVS and rebooted. When it was rebooting I turned it of and set it to only boot on network. Started it again, crossed my fingers and waited for it to boot on the network. It started good I saw it got the bootfilename to boot from, but it wouldnt boot! It timed out all the time. When i looked closer it tried to boot from the PVS netboot image, but from the wrong server! The ip i had specified in the dhcp-option wasnt used. It tried to connect to which is the XenClient host OS. After some fiddling around with dnsmasq and confirming that i entered the correct ip to the PVS server i found somewhere on google that some networkcards have problems with that option. And they default to dhcp server. This meant i couldnt get it to boot from the PVS unless the PVS was the dhcp server!

Well no problem, i disabled dhcp part of dnsmasq and installed the builtin dhcp-service from windows and configured it with the same options. Tried to boot the MTD again and voila! I was making a Golden Image of my XP!

All i had to do then was to create a new guest, called it TD1 and make it boot from the network! I had to make a local drive to the guest as you have to create a disc with every XenClient guest. But made it just 1 gb so thats no biggie.

So now i have my laptop running a provisioned XP client wherever i go. Im going to make a win7 guest that i can use as my private image. This works really good and as im a consultant can use a clean image at every new job!

Downsides thou that i havnt had time yet to work out, shouldnt be a problem thou, is that i always have to be connected to a wireless network as the guest will thing the network is disabled otherwise! But all i need to do is to figure out how to activate the network manually. Or wait until citrix fixes that bug to be able to use the dedicated internal network!

KB975777: There is a delay when you shut down, restart, or log off a computer that is running Windows 7 or Windows Server 2008 R2

No comments October 14th, 2010

If your users are having trouble loging out form your servers, getting the message

1 program still needs to close:
(Waiting for) Task Host Window

Then this KB is for you. This will patch taskhost.exe to handle the problem.

From the KB article:


Consider the following scenario:

  • You have a computer that is running Windows 7 or Windows Server 2008 R2.
  • You try to shut down, restart, or log off the computer.

In this scenario, the logoff process stops for about six seconds. Additionally, you receive the following message:
1 program still needs to close:
(Waiting for) Task Host Window
This problem occurs because the TaskHost.exe process stops handling messages during system shutdown, during system restart, and during system logoff.

Here is the link to the KB.

HOWTO: Remove Favorites from Explorer Folder View

No comments October 14th, 2010

This is how you remove the Favorites Link in the explorer folder view:

  1. Open regedit and go to [HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder]
  2. Open regedit and go to [HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder]
  3. In “ShellFolder” go to ‘Attributes’ and change the value from 0xa0900100 to 0xa400100. (Or to 0xa9400100)
  4. Reboot your machine. If everything is done correctly “Favorites” should now be disabled completely when your system is rebooted.


Citrix Web Interface, CSG and Windows 2008 NLB

No comments October 19th, 2009

So i wanted to update to the new web interface from 4.6 to 5.2. I also wanted to use 2008 servers with NLB, couldn’t make it work with 4.6 and server 2003. So i took 2 new servers and did a fresh install. I got the web interfaces configured so that they worked properly, and installed Citrix Secure Gateway on each of the WI:s. Then came the fun part to get the NLB working.

To get windows NLB working at all, all the servers has to be on the same subnet and there cant me more than 32 servers in the cluster.

I’m using multicast since i only have a single network card on the servers and my network infrastructure supports it, which many different routers aren’t, since you are having 2 mac:s on a single nic. If i had nics i would use unicast. One nic for administrating and one nic for the cluster.

And i specify the NLB address on the same subnet as the two servers. And using the default port rules which is basically saying to use nlb on all ports.

Next step is to configure the CSG, in which I’ve already has configured the basic settings, certificate, ssl and so on. But i need the change the monitoring of inbound connections where i specify the CSG to listen on the NLB address. And ofc do this on both WI/CSG servers.

And that’s it. Now i have a working NLB on my Citrix Web Interface.

On an another note i discovered i couldn’t force ssl in the IIS otherwise it gave me errors when the csg used http to fetch the web pages from the iis and then presenting them as https.