Tuesday, February 28, 2012

Non trova più la scheda di rete eth0 e fallisce la configurazione di rete

Vmware vCenter Appliance 5.0



“Non trova più la scheda di rete eth0 e fallisce la configurazione di rete…”



Se si rimuove e si aggiunge la Vcenter appliance all’inventario, quando si effettua il reboot non riconosce più la eth0 e fallisce la configurazione di rete in quanto nonostante la salvi come eth1, l’appliance vuole per forza la eth0.



Per risolvere questo bisogna andare via console sulla Vcenter Appliance, connettersi come root (passw di default vmware) ed andare a modificare il file:



/etc/udev/rules.d/70-persistent-net.rules



All’interno di questo file troverete tutte le informazioni sulle schede di rete configurate e le associazioni ai loro effettivi MAC addresses e troverete sia la entry relativa alla vecchia scheda eth0 e sia quella relativa alla eth1.



A questo punto va rimossa la entry relativa alla vecchia eth0 e va modificato “eth1” con eth0.

Se si utilizza vi editare i seguenti comandi:

…# /etc/udev/rules.d/vi 70-persistent-net.rules



# premere il tasto Insert per entrare nella modalità inserimento ed andare a cambiare il nome della scheda eth1 in eth0 e cancellare la vecchia entry lasciando solo i dati relativi ad eth1. Uscire dalla modalità inserimento premendo il tasto <Esc>



#salvare il tutto ed uscire digitando



:qw!



Nella figura seguente il risultato di questa operazione, dove alla fine c’è l’unica entry della NIC “eth0”:



 Una volta fatta la modifica e salvata è necessario riavviare l’appliance con il comando:



shutdown –r now


Read More ->>

Monday, February 20, 2012

Citrix Provisioning Server 5.6 SP1 “An unexpected MAPI error occurred.” when you try to change an image mode

Today we had the following error when we tried to change the image mode from “Private” to “Standard” or reversed:
image
“An unexpected MAPI error occurred.”
Under the details Button the following info was displayed:
”Failed to map vDisk, no Driver. at Mapi.CommandsRun.CommandRunWithReturnMapDisk2.MapDisk(UInt32 localServerIntId, String remoteServerName, String diskName, String diskPath, UInt32 DeviceSerialNumber, UInt32 diskId, List`1 serverIps, UInt16 serverFirstPort)”.
The problem only occured when under the “Microsoft Volume Licensing” Tab the option “Key Management Service (KMS)” was activated:
image
So if you want to change the “Mode” of a Vdisk from “Private to Standard (or reversed) just activate under “Microsoft Volume Licensing” the option “None” or “Multiple Activation Key (MAK)” – make your change and open again the “vDisk File Properties” and change back the “Licensing Option” to “Key Management Service KMS”.
Read More ->>

Remote Desktop Licensing Manager Displays Client Name as "Unknown" for Terminal Services Client Access Licenses

Symptoms

For the Terminal Services Client Access Licenses (TSCALs), the Remote Desktop Licensing Manager displays the client name as “Unknown”.

Therefore, the CALS device on its RDS Licensing Server is used up quickly.

Cause

The Wdica.sys file requires to be altered to send the client name string during the License Capabilities request.

Resolution

To resolve the preceding issue, install the hotfix from the Knowledge Center article, CTX130531 – LIMITED RELEASE - Hotfix XA600W2K8R2X64086 - For Citrix XenApp 6.0 for Windows Server 2008 R2 - English.

Following is one of the fixes from the Fixes from Replaced Hotfixes section in the preceding article:
The Remote Desktop Licensing Manager displays the client name as "Unknown" for the Terminal Services Client Access Licenses (TSCALs) issued.


[From XA600W2K8R2X64048][#251083]

Caution! This fix requires you to edit the registry. Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

However, the hotfix only addresses the issue for new users. It does not delete any existing registry keys. You should delete existing registry keys manually.

Delete the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Store on the client computer and then test again.


This deletes the expired temporary license and reallocates a new temporary license to the client.
Read More ->>

VMware ESXi 5.0 Install Best Practices

VMware ESXi 5.0 Install Best Practices
Read More ->>

Thursday, February 16, 2012

Preventing Brute Force Login Attacks to the Citrix NetScaler Access Gateway or AAA for TM Login Page – Part 1

Preventing Brute Force Login Attacks to the Citrix NetScaler Access Gateway or AAA for TM Login Page – Part 1
Read More ->>

Do you want Citrix XenApp to run Windows apps on the iPhone ?

Do you want Citrix XenApp to run Windows apps on the iPhone ?
Read More ->>

DABCC TV: Kaviza VDI-in-a-box Part 2

Read More ->>

DABCC TV: Kaviza VDI-in-a-box Part 1

Read More ->>

APP-DNA APPTITUDE import of Adobe Reader 8

Read More ->>

How to install and configure Citrix VDI-in-a-box

Read More ->>

How Citrix AppDNA Software Accelerates and Automates Application Migrations

Read More ->>

A Field Guide to XenApp 6.5 Session Pre-Launch

A Field Guide to XenApp 6.5 Session Pre-Launch
Read More ->>

Tuesday, February 14, 2012

How to Accelerate the ICA Proxy Mode in Access Gateway with Repeater/Branch Repeater

This article contains information about deploying and configuring a Citrix Repeater or Branch Repeater appliance to accelerate Independent Computing Architecture (ICA) Proxy Mode in Access Gateway, also known as Secure Gateway Mode.
Requirements
The following are the basic requirements to complete this task:
  • Repeater or Branch Repeater appliance installed with any of the following software releases:
  • Version 5.7.x (Citrix Repeater or Branch Repeater)
  • Version 3.x (Citrix Branch Repeater with Windows Server)
  • Version 6.x (Citrix Repeater or Branch Repeater)
    Note
    : Citrix Repeater Plug-in is not recommended for ICA Proxy deployments. Refer to the Knowledge Center article CTX128581 - Citrix Branch Repeater Appliance and Access Gateway Enterprise Edition Appliance Supported Deployment Scenarios for more information.
  • Branch Repeater Crypto License to enable SSL traffic acceleration. This might be available through MyCitrix Web account. If the license is not available on MyCitrix, then refer to the Knowledge Center article CTX128877 - Branch Repeater Crypto License.
Background
You can deploy and configure a Repeater or Branch Repeater appliance to optimize ICA across all users in a branch location by using the Proxy Mode to access the published application.
Refer to the Deploying the Access Gateway to Access Published Applications page of the Access Gateway e-documents for more information about the ICA Proxy Modes.
You must deploy the Repeater or Branch Repeater appliance as shown in the following diagram. The Repeater or Branch Repeater appliance must be on the external facing side of the Access Gateway in the data center.

The Repeater or Branch Repeater appliance in the data center is configured with Secure Socket Layer (SSL) traffic acceleration and the SSL server certificate of Access Gateway. The Repeater or Branch Repeater appliance establishes a SSL tunnel to secure the accelerated ICA traffic. End-users log on to the Access Gateway through a Web browser (HTTPS) and access the published applications through the Web Interface (WI) site. Clicking on an application icon starts the Online Plug-in, which establishes an SSL connection to the Access Gateway. The ICA connection is tunneled through the SSL connection.
The Repeater or Branch Repeater appliance decrypts the SSL connection from the user device, applies ICA optimization techniques, and re-encrypts the traffic over the Internet. The data center side Repeater or Branch Repeater appliance decrypts the optimized ICA traffic and re-encrypts the ICA traffic into the original SSL connection destined to the Access Gateway. The result is transparent acceleration of ICA traffic the end-user device and the Access Gateway are not aware of Repeater or Branch Repeater ICA acceleration and require no configuration changes. If there are multiple users in the branch, then they also realize the benefit of the cross-user nature of the ICA optimization of the Branch Repeater.
Note: The Repeater or Branch Repeater appliance is not designed for deployment in a demilitarized zone (DMZ). Therefore, Citrix recommends against doing so. Deploying the Repeater or Branch Repeater appliance on the external facing side of the Access Gateway is suitable for private Multiprotocol Label Switching (MPLS) and other scenarios where Repeater or Branch Repeater appliance security is not a concern.
Accelerating ICA Proxy Mode in Access Gateway with a Repeater or Branch Repeater Appliance
To accelerate ICA Proxy Mode in Access Gateway with a Repeater or Branch Repeater appliance, complete the following procedures:
Enabling SSL Traffic Acceleration
To enable SSL traffic acceleration on a Repeater or Branch Repeater appliance, complete the following procedure:
  1. Install the Branch Repeater Crypto License.
  2. On the Repeater or Branch Repeater appliance Graphical User Interface (GUI), select Encryption from within the Acceleration Settings section.
    Note
    : For Citrix Branch Repeater software release 6.0 or later, select SSL Encryption from the Configuration section.
  3. For the Key Store parameter, click Create Password.
  4. Set the password as required.
  5. For the User Data Store parameter, click Enable Encryption.
  6. For the SSL Optimization parameter, click Enable.
Configuring SSL Profiles on the server side Repeater or Branch Repeater Appliance
To configure SSL profiles on a Repeater or Branch Repeater appliance, complete the following procedure:
  1. On the Repeater or Branch Repeater appliance GUI, select SSL from in the Acceleration Settings section.
    Note
    : For Citrix Branch Repeater software release 6.0 or later, select SSL Acceleration from the Configuration section.
  2. Click Add.
  3. In the Profile Name field, specify a SSL Profile name.
  4. Select the Profile Enabled option.
  5. For the Proxy Type parameter, ensure that the Split option is selected.
  6. From the Certificate/Private key list, select ADD NEW ENTRY, if you must install a certificate. If you have already installed the required certificate, then select the appropriate certificate from the list.
  7. Select the Signature/Expiration option for the Certificate Verification parameter.
    Note
    : This is required to maintain security between the Repeater or Branch Repeater appliances.
  8. From the CA Certificate Store list, select the appropriate CA Certificate Store.
  9. Retain the default settings for the other fields, as shown in the following screenshot:

  1. Click Add.
Setting up the Peer Communication
To set up the peer communication on a Repeater or Branch Repeater appliance, complete the following procedure:
  1. On the Repeater or Branch Repeater GUI, select Peers from in the Acceleration Settings section.
    Note
    : For Citrix Branch Repeater software release 6.0 or later, select Secure Partners from the Configuration section.
  2. Select the Enable option for the Peer State parameter.
  3. Configure the following Peer Security settings:
    • From Certificate/Key name list, select the Certificate/key pair you had added in the previous procedure.
    • Select the appropriate CA Certificate from the CA Certificate Store list.
    • Select the Signature/Expiration option for the Certificate Verification parameter.
      Note
      : This is required to maintain security between Repeater or Branch Repeater appliances.
  4. Ensure that the Enable Auto-Discovery option is selected.
  5. For the Listen On parameter, add the IP address of the Repeater or Branch Repeater appliance installed on the data center side, as shown in the following screenshot:

  1. For the Connect To, specify the same IP address as that in the preceding step. This is applicable to client side Repeater or Branch Repeater appliance.
    Note
    : On the Repeater or Branch Repeater appliance installed on the data center side, do not specify anything for this parameter.

  1. Click Save.
Configuring Service Class Policies
To configure Service Class Policies on a Repeater or Branch Repeater appliance, complete the following procedure:
  1. On the Repeater or Branch Repeater appliance GUI, select Service Class Policy from in the Acceleration Settings section.
    Note
    : For Citrix Branch Repeater software release 6.0 or later, select Service Classes from the Configuration section.
  2. Move the ICA service class policy to the top of the list.
  3. Ensure that the Accelerate option is selected for ICA service class policy and Disk is selected from the Compression Type.
  4. On the Repeater or Branch Repeater GUI, select Service Class from in the Acceleration Settings section.
    Note
    : For Citrix Branch Repeater software release 6.0 or later, select Service Classes from the Configuration section.
  5. Configure ICA as shown in the following screen shots:
Citrix Branch Repeater Software Release 5.7.x – Server Side

Citrix Branch Repeater Software Release 5.7.x – Client Side

Citrix Branch Repeater Software Release 6.0 or Later – Server Side

Citrix Branch Repeater Software Release 6.0 or Later – Client Side

Note: In addition to accelerating and compression ICA over a SSL enabled Branch Repeater appliance, if you also want to accelerate and compress other HTTPS type traffic such as SharePoint, and then proceed to Step 6.
  1. Configure AGEE_HTTPS as shown in the following screen shots. Ensure that this Service Class Policy is below the ICA Service Class Policy, but above the default HTTPS (private) Service Class Policy.
Citrix Branch Repeater Software Release 5.7.x – Server Side

Citrix Branch Repeater Software Release 5.7.x – Client Side

Citrix Branch Repeater Software Release 6.0 or Later – Server Side

Citrix Branch Repeater Software Release 6.0 or Later – Client Side

Configuring an External Firewall
Configure the external Firewall application in the data center to allow the following inbound ports for the Repeater appliance:
  • Signaling Address and Port (default 2312) for the Branch Repeater:
    Refer to the section within the User’s Guide - Configuring the Appliance: Peer Configuration.
  • Access Gateway traffic port (default 443)
Confirming the ICA Acceleration
To confirm the ICA acceleration on a Repeater or Branch Repeater appliance, complete the following procedure:
  1. On the Repeater or Branch Repeater GUI, select Peer Status from in the Monitoring section.
    Note
    : For Citrix Branch Repeater software release 6.0 or later, select Secure Partners from the Monitoring section.
  2. Ensure that a secure connection is established between the Repeater or Branch Repeater appliances, as shown in the following screenshot:

    Note: If a peer connection is not established, refer to the Branch Repeater Installation and User’s Guide for troubleshooting the issue.
  1. On the Repeater or Branch Repeater GUI, select ICA Status from in the Monitoring section.
    Note
    : For Citrix Branch Repeater software release 6.0 or later, select Citrix (ICA/CGP) from the Monitoring section.
  2. Ensure that the accelerated ICA connections are listed in the ICA Status page, shown in the following screenshot:

    Note: If the accelerated ICA connections are not listed, then review the appliance configuration. Additionally, the PROTO_ERROR connections are an internal misrepresentation of the HTTPS connections and can be ignored. These errors do not affect the end-user performance. Citrix Branch Repeater software release 6.0 or later has additional tabs that provide more information relevant to active ICA connections.
Read More ->>

Clearing The Air - Fixed or Dynamic vDisks?

Clearing The Air &#8211; Fixed or Dynamic vDisks?
Read More ->>

Monday, February 13, 2012

Fitting the AppDNA story into Citrix

Fitting the AppDNA story into Citrix
Read More ->>

XenClient 2 and AMD Graphics

XenClient 2.1 and AMD Graphics
Summary
This document describes how to install the AMD plugin and ioemu update packages on the AMD Graphics-enabled platforms running XenClient 2.1
Background
XenClient 2.0 and 2.1 supported AMD Radeon™ HD 6470M and the FirePro™ M5950 graphics solutions on several of the Hewlett-Packard platforms listed on the XenClient hardware compatibility list. By installing the AMD plugin and ioemu update packages described in this article, support for these graphics solutions is now also provided for Dell Precision platforms. In addition, some power management issues have also been addressed with these updates.
Requirements
You need a USB drive to perform this upgrade as described. The update packages add up to about 3.5 MB so a small-capacity device will be fine.
If you are still running XenClient 2.0, it is recommended that you upgrade to the latest 2.1 release found on our XenClient download page. Download it now
If you have already created any virtual machines (VMs), please make sure that you have all VMs turned off before installing the packages.
In addition to the two update packages, the source file for the ioemu file is also provided on the download link. The source file is ioemu-src_git-r8017-xc.7430.556.31.5_all.ipk
Procedure
The following steps detail how to install these updates on XenClient for your AMD Graphics-enabled platform.
  1. Download the two package files needed for the upgrade from here and copy them to the root of a USB device. (If the link does not take you directly to the links to the package files, scroll down the page about half way; alternatively, you can paste #1612513 at the end of the URL and hit ENTER). The two packages are:
    amd-plugin_2.02-r0.xc7.5_i686core2.ipk
    and
    ioemu_git-r8017-xc.7430.556.31.5_i686core2.ipk
  1. Plug the USB drive into one of the available USB ports on the platform you intend to upgrade.
  2. From the Citrix Receiver for XenClient (UIVM) screen, press CTRL+SHIFT+T to open a terminal session as shown in the following screen shot, and enter the password you created when installing XenClient at the prompt:

Figure 2
  1. Once you are logged in, at the command line prompt enter the command
    fdisk –l
This will display a list of storage devices on the system. Identify which device ID is assigned to your USB device. In our example it is sdb and the only partition it has is sdb1.

    (Note that on your system this might be different depending on what devices might be present. To make sure you select the correct device, look for some information that describes your USB device. In our example we have an 8-GB USB device. In the output of the fdisk command, 8036 MB is a good indicator of that being the USB device.)
  1. Enter the command
    mkdir /mnt/usb
    to create a directory for the USB device you plugged in earlier:
  1. Enter the command
    mount /dev/sdb1 /mnt/usb
    to mount the USB device to the directory created in the previous step. (Be sure to put the actual device ID for your system where sdb1 appears in this example.)
  1. Now that you have mounted your USB device, you can install the first package. Enter the command
    opkg install /mnt/usb/amd-plugin_2.02-r0.xc7.5_i686core2.ipk
    which installs the AMD plugin package.
  1. With the AMD package installed, install the second package. Enter the command
    opkg install /mnt/usb/ioemu_git-r8017-xc.7430.556.31.5_i686core2.ipk
    which updates the ioemu package.
  1. Once both packages have been installed, you need to reboot the system. Enter the command
    reboot
After the system reboots, you can enable 3D graphics on the system.

 

 
Read More ->>

Thursday, February 9, 2012

How to Speed Up Your Windows 7 Boot Time by 20%

Here is a very simple way to reduce the time it takes to boot Windows 7 by around 20% (the exact number depends on the hardware).
I would never have thought the effect to be this drastic, but the simple graphical animation Windows 7 displays while booting to the logon screen slows down the startup process by several seconds! By disabling this effect we gain roughly 20% in boot speed. There are two ways to configure this.

Using a GUI

Run MSConfig.exe and check the box in front of “No GUI boot”:

From the Command Line

Issue the following command in an elevated command prompt:
bcdedit /set quietboot on

Caveats

I am not aware of any downsides of disabling the boot animation, except that the screen stays black while booting.
If you use BitLocker, make sure to suspend it prior to changing boot settings. You can resume it after the reboot. If you forget this, you will be prompted to enter your BitLocker recovery key each time the system starts up.
This setting has no effect on Windows Server 2008 R2, by the way.

Credits

Big thanks to Dieter Schmitz from sepago for the idea behind this article
Read More ->>

Wednesday, February 8, 2012

The Pagefile Done Right!

After much internal debate and struggle, I’ve decided to finally write an article on the pagefile. Why the struggle? Because the topic is the Windows paging file…a pretty old concept that I think most folks understand, not to mention virtual memory is a pretty abstract and boring topic so I’m sure to lose a few people along the way. Then why am I finally writing about it? As it turns out, I still get questions about this all the time…and I still see ridiculous advice being handed out (even by our own folks) all the time…and I still see our customers configuring the pagefile wrong all the time. And instead of repeating myself over and over again and pointing people to the same resources, I figured I could point people to my own article which consolidates a lot of the good information out there, while debunking some of the myths about the pagefile in the process. I’ll end the article with a few real-world examples so you can see what I’ve recommended setting the pagefile to in the past in certain scenarios.

Let’s start with the basics – paging is a memory-management technique by which a system can store and retrieve frequently accessed data from secondary storage for use in main memory. The operating system retrieves data from this secondary storage in blocks called pages. So the paging file is essentially a collection of “pages” and these pages are stored on disk (that’s the secondary storage I was referring to earlier). This extension of virtual memory is important because it allows an operating system to leverage disk storage for data that might not fit into memory, which improves performance and prevents application crashes. The pagefile also allows the physical address space of a process to be non-contiguous (preventing things like fragmentation and other problems), but that’s about as much theory as I want to get into in this article about paging and memory segmentation. If I kept rambling about what my college professor taught me in my Operating Systems class, I’m sure to lose even more readers.

So now that we have a basic understanding of what the pagefile is (extension of virtual memory on disk) and why it’s important (speed, performance, etc.), how should we go about configuring this thing? And that’s really what I want to talk about in this article – how to size the Windows paging file.

Now that I’ve bashed people for mis-configuring this thing, I’m going to give everyone a break. Because the reason most people are configuring the pagefile incorrectly is because the “authorities” on this subject are providing improper guidance and don’t seem to understand how paging works either! So it’s not your fault…articles like this and this are still being referenced and that’s probably why I still see pagefiles that are blindly set to 1 GB or 1.5-3x RAM! It also doesn’t help that the default setting is to allow for a “system managed” pagefile, which is almost never what we want. Perhaps this is even more telling…this is a quote from a comment posted on one of my favorite references in the world:

“I was involved in choosing the default min/max sizes for system managed pagefiles in Vista, and I’m pretty sure those numbers were not just copied from some magazine The 1 GB minimum was chosen based on the actual commit charge observed on small machines (512 MB of RAM). The 3*RAM maximum might seem excessive on machines with lots of RAM, but remember that pagefile will only grow this large if there is actual demand. Also, running out of commit (for example, because of a leak in some app) can bring the entire system to a halt, and a higher maximum size can make the difference between a system that does not respond and has to be rebooted and a system that can be recovered by restarting a process. I will admit that scaling the maximum size linearly with the size of RAM is somewhat arbitrary. Perhaps it should have been a fixed constant instead.”

Pretty telling when even the guy (or gal) at MSFT fesses up, eh? It also shows us that the default settings are essentially designed for desktops…or that we bought all of our servers in the year 2000 when 2 GB RAM boxes were the norm. The reality is these defaults aren’t good and they haven’t been for a really long time. And especially in a server-world that us Citrix people live in and especially in the year 2011 when servers with 100 GB+ of memory are quite common.

So what does Citrix recommend then for the pagefile? That’s where I turn to one of the smartest people in the world, Mark Russinovich. Name sound familiar? For starters, he’s the author of one of my favorite IT books of all time called “Windows Internals“. But he’s also the founder/creator of Winternals and Sysinternals.com (procmon anyone?). After Microsoft gobbled up everything he ever wrote and invented, he’s now a Technical Fellow at MSFT. We also happen to have studied the same thing in college – Computer Engineering. The only difference? He has a Ph.D. from Carnegie Mellon and I went to Tulane…let’s just say there were “other” things to focus on in New Orleans. ;)

So now that everyone knows Mark, let me point you to one of my favorite references on virtual memory in general, but also the pagefile (towards the end of the article):
•Pushing the Limits of Windows: Virtual Memory

Please, I beg you, take 15 minutes to read through that article. Because after you read through it, you’ll have a much better understanding of how virtual memory and the pagefile work. And once you understand how the pagefile is used by the OS, then you can correctly size it! But it all comes down to the peak commit charge or maximum commit. I’ll let Mark finish off the “Citrix best practice” related to sizing pagefiles for me:

To optimally size your paging file you should start all the applications you run at the same time, load typical data sets, and then note the commit charge peak (or look at this value after a period of time where you know maximum load was attained). Set the paging file minimum to be that value minus the amount of RAM in your system (if the value is negative, pick a minimum size to permit the kind of crash dump you are configured for). If you want to have some breathing room for potentially large commit demands, set the maximum to double that number.

And that’s really it! What a novel concept…do some actual performance/load testing (which seems to be a forgotten art these days) and set the pagefile appropriately based on peak commit. So the optimal size for the pagefile actually has very little to do with how much memory is in the system or some multiple of RAM. And it has everything to do with your unique workload and how much paging your apps are doing!

So why might you still hear some Citrix or Microsoft Consultants say to set it to the “size of RAM” plus maybe 1% or 12 MB? That’s just a RULE OF THUMB when we don’t know anything about the workload or can’t determine peak commit through proper testing…and setting it to the size of RAM plus a bit extra simply allows for a full memory dump to be taken. So that’s why you might hear that advice still…it’s better than saying something from 10 years ago like “1.5x RAM” or “2-3X RAM”, but it’s important to remember that it’s just a rule of thumb…and the only way to optimally size your pagefile for the best performance (and cost which we’ll talk about in a minute) is to follow Mark’s advice and look at the peak commit charge. We even have this nifty thing called ESLT that allows you to simulate load so you can determine peak commit and set the pagefile properly. Why aren’t more people doing this? I have no idea.

Now let’s talk about the cost aspect and memory dumps a bit more. Because sizing the pagefile according to Mark’s guidance can also save you a lot of money, especially in certain XA scenarios and PVS-based XD deployments. Allow me to explain. Let’s say you are deploying XA 6.5 (64-bit) on bare-metal and the server has 256 GB RAM. If you followed the logic of the size of RAM or 1.5x RAM, you would have to order those boxes with pretty sizable disks to even put a pagefile on there! (Assuming min = max value and the file isn’t growing on demand). And do you even need a full or complete memory dump? Maybe…maybe not. Will a minidump or kernel memory dump suffice? Maybe…maybe not. Sure, you might need a full dump if you are getting blue screens on your boxes and MSFT Support gets engaged and requests one. But that’s a pretty hefty price to pay for a full dump, considering I’ve only seen MSFT request a full dump on 2 or 3 of the ~200 projects I’ve been apart of over the last 8 years. And I’ve already started seeing customers take this “chance”…they are ordering boxes with say 256 GB RAM with say 128 GB SSDs! So whether we are going bare-metal or cutting up these giant boxes with a server virtualization product like XenServer, we still aren’t going to have enough disk space for a pagefile that’s the size of RAM so we can take a full dump. So it seems customers are already taking this calculated risk for some XA workloads which may not be deemed mission-critical by the business. By the way, I recently ran into this situation at a customer and we used storage vMotion to move some resources around and take a full dump. Of course, the dump proved useless to MSFT, but we still found a way to get it done. I’ve also used the relatively new “Dedicated Dump File” feature on a XA6/R2 system to take a full dump “outside” of the typical pagefile used to back virtual memory…this little feature can be extremely valuable and is yet another reason why the pagefile does not need to be the size of physical memory! That’s why I want everyone to ask their customers (or themselves depending on who you are) if taking a full memory dump is really required or not. Or might it be better to save some cash on disk and possibly move things around when the time comes (in that rare event like I said when you actually need a full dump)?

Let’s do another example…say you are deploying Win7 desktops via XD and PVS. You are using target device hdd for the PVS wC (with a 5 GB persistent drive) and your Win7 VM spec is 2 vCPUs and 4 GB RAM. Again, if you followed the rule of thumb and used the size of RAM, your 5 GB secondary drive would get gobbled up by a 4 GB pagefile almost immediately. That would only leave 1 GB for the wC itself, event logs, ES data, etc. Not good. So you have a couple options – make that secondary drive even bigger or correctly size the pagefile! Making the secondary drive bigger is a HUGE cost hit because that is a per-VM “storage hit” as I like to say. So that adds up and gets expensive quickly. So I’d recommend the latter…the last time I did this at a customer we saw that the peak commit was a little below 2 GB, so we set the min and max equal to 2 GB. That left us with 3 GB for everything else which was a safe bet in my mind with nightly reboots (and subsequent flushing of the wC). And since these are desktops, having a pagefile smaller than the amount of memory was also OK because we really didn’t care about taking a full dump. As a baseline, I’ll typically configure a desktop for a minidump since it only requires a couple MBs…and I might configure my servers for a minidump or kernel memory dump as opposed to a complete memory dump. But if I have the disk space, cost is not an issue and the XA workload is deemed absolutely mission-critical by the business, then I’ll configure my boxes for a full dump to be safe. So it depends, but these are the factors it depends on and I want everyone to start asking these questions so we can be a little smarter about configuring the pagefile and probably saving some cash in the process.

There are some other things I could continue to go on about, most notably whether even having a pagefile is required, if setting the min=max is a best practice, whether having multiple pagefiles make sense, or splitting the pagefile across multiple disks make sense, but I think most of the industry agrees on that stuff and we already know the answers (yes, almost always, probably not, and only if they are truly separate disks and not partitions, respectively!).

To wrap this article up, let’s quickly recap some of the important items:
•The pagefile is an extension of virtual memory on disk
•The default settings involved with a “system managed” pagefile should not be trusted or used
•Setting the pagefile equal to the size of RAM (plus some small amount of overhead to take a dump) is just a rule of thumb to follow when no testing can be done
•MarkR’s advice should be followed to properly size a pagefile (based on proper testing and peak commit – not some multiple of RAM!)
•There are a variety of memory dumps that can be configured…and a full or complete dump may only be required in certain situations
•The “Dedicated Dump File” feature can prove very handy on newer operating systems

I really hope this article proves useful in your travels. Please drop me a note in the comments section if you have any feedback or questions. Thanks for reading.

-Nick

Nick Rintalan, Senior Architect, Citrix Consulting
Read More ->>