SharePoint Distributed Cache & Dynamic memory with Hyper-V and VMWare

There is a guidance from Microsoft to be followed with virtual machines (VM) running SharePoint 2013. The guidance is “you must not configure the VM with Dynamic Memory”.

 

There are two issues if you do configure the VM with dynamic memory:

  1. Performance
  2. Not supported by Microsoft SharePoint Product team

 

In fact, the Dynamic Memory setting is referenced in a Microsoft article on unsupported scenarios “Certain Microsoft SharePoint Server 2013 installation scenarios are not supported

This article describes Microsoft SharePoint Server 2013 installation scenarios that are not supported:

You install SharePoint Server 2013 on a virtual machine (VM) that uses Dynamic Memory. For more information about best practice configurations for SharePoint Server 2013 and virtual machines, go to the following Microsoft TechNet website: Use best practice configurations for the SharePoint 2013 virtual machines and Hyper-V environment

 

The Distributed Cache service can run on either a physical or virtual server. When using virtualization, do not use Dynamic Memory to manage shared memory resources among other virtual machines and the Distributed Cache servers. The memory allocation for virtualized Distributed Cache servers must be fixed. Source: http://technet.microsoft.com/en-us/library/jj219572(v=office.15)

 

The memory allocation for virtualized Distributed Cache servers must be fixed.

Source: http://technet.microsoft.com/en-us/library/jj219572(v=office.15)

 

OK, so that’s Microsoft world – so Microsoft Hyper-V. What about VMware then?

Until now, I haven’t found any guidance on for Vmware as all the official documentation mentions “Dynamic Memory” which alludes to the setting in Microsoft Hyper-V.

 

It is important that the cache cluster runs in a homogeneous environment of servers. It is not supported for cache hosts to have different physical specifications in memory, processor speed, and other capabilities.

Source: http://msdn.microsoft.com/en-us/library/ee790954(v=azure.10).aspx

 

The cache cluster is a collection of one or more instances of the Caching Service working together in the form of a ring to store and distribute data. Data is stored in memory to minimize response times for data requests

 

Source: http://msdn.microsoft.com/en-us/library/ee790954(v=azure.10).aspx

 

 

Finally found something that has ‘VMWare’ mentioned in it in respect to the SharePoint Distributed Cache.

Joerg Sinemus , Microsoft Germany states in his blog..

 

Caching services are used to improve performance because these services are optimized to work with the amount of memory installed on a server. In case the memory will vary during the uptime of the server, there might be a need to also implement those features into a Caching-Service. That makes no sense because of the nature a Caching Service has.

In other words our SharePoint product group cannot support scenarios when Distributed Cache is needed/running and someone has concerns about performance or stability because of Dynamic Memory configuration in any Virtual Environment.

The best way for a customer to make this guarantee is to set the VM sizes (static memory) of the guests such that their sum is less than the memory available on the physical machine, i.e. don’t use the overcommit feature or dynamic memory.”

Source: http://blogs.msdn.com/b/joerg_sinemus/archive/2013/01/24/sharepoint-2013-with-distributed-cache-and-dynamic-memory.aspx

 

Most of the environments I work in have Vmware for virtualisation, so I hope this clears up some doubts for VMware ESX Administrators until I get an official response from Microsoft.

 

 

 


Converting Vmware vmdk to Hyper-V vhd

Scenario:

You have a vmdk file for Vmware and want to convert it to a Hyper-V compatible hard disk file such as vhd.

 

Solution:

Download Microsoft Virtual Machine Converter Solution Accelerator (4.3MB)
http://www.microsoft.com/en-au/download/details.aspx?id=34591

It works on Windows 7, Windows Server 2008 R2, Windows Server 2012

Once installed, run the following:

In a command prompt window, go to the path to MVDC.exe (32bit is usually installed here by default – C:\Program Files (x86)\Microsoft Virtual Machine Converter Solution Accelerator).

MDVC.exe ‘path to vmdk file’ ‘path to vhd file’

Example:

cd '.\Program Files (x86)\Microsoft Virtual Machine Converter Solution Accelerator'
.\MVDC.exe 'D:\Temp\SERVER123.vmdk' 'D:\Temp\SERVER123.vhd'

Once your file is a vhd, you can easily import it into Microsoft Hyper-V and convert it to a vhdx.

 

  • If you want to convert several machines at once, then look at the Migration Automation Toolkit.

https://gallery.technet.microsoft.com/Automation-Toolkit-for-d0822a53

The Migration Automation Toolkit is a collection of PowerShell scripts that will automate conversions using MVMC and it is back ended by a SQL instance (SQL Express will work). You can use it to convert several machines at once, on a single server – or scale it out and execute conversions on many servers at the same time.


Removing unlicensed users in Office 365

I was faced with a situation where I had 17,020 users that synced up into Office 365 but my Office 365 license was like about 5…

So one of the quickest paths I took was to fire up PowerShell and remove all users that did not have a license.

These are the steps I took to get the job done:

Connect-MsolService

Connect-MsolService

Type in your Office 365 Global Admin credentials:

EnterCredentials

Get-MsolUser -all | Where-Object {$_.isLicensed -ne "true"} | Remove-MsolUser -Force

Remove-MsolUser

Anyway, curious to see the rate it deleted the users, I thought of monitoring the process by opening another PowerShell window and ran this:

Connect-MsolService

Type in your Office 365 Global Admin credentials

Get-MsolUser -All | measure

Get-MsolUserMeasure

Turns out the above command took three minutes to run (around 15,600 users) and deleted approximately 36 users per minute. The above command, will progressively run faster as the user count goes down.

Once I’m done, I’ll be configuring up the DirSync version of Forefront Identity Manager 2010 R2 (FIM) to selectively sync a few of the choicest users in my AD infrastructure.

:)


ULS log viewer for SharePoint 2013

Good news for all the on-premises SharePoint Infrastructure Admins and Developers. An improved ULS Log viewer for SharePoint 2013 has been released a few days ago. I was concerned for a couple of years that there wasn’t any movement on updating my number 1 favourite SharePoint tool. However, I did see a video where Bill Baer there was a hint of how bad the tool was and they’d do something about the tool.. so here it is – a new ULS Log Viewer……

Download it here:

http://www.microsoft.com/en-us/download/details.aspx?id=44020

Some new features:

1. Monitor multiple servers simultaneously

ULSLogViewer-SharePoint2013

2. Locate specific log entries via command line

3. Highlight and personalise the output if a filter match occurs

Some fixes I have noticed:

1. More stability when working with the filters

2. Multiple fixes such as filtering on pause state

Source: http://blogs.technet.com/b/wbaer/archive/2014/08/22/uls-viewing-like-a-boss-uls-viewer-is-now-available.aspx

Can we use it for SharePoint 2010?

Yes! It works well for SharePoint 2010. However, you would need to ensure that .NET 4.5.1 is installed on the server you run ULS Viewer on. With SharePoint 2010, .NET 3.5 is used and you might not find .NET 4.5.1 on your SharePoint 2010 servers.

Download Microsoft .NET Framework 4.5.1 (Offline Installer) here: http://www.microsoft.com/en-au/download/details.aspx?id=40779

I have tested it successfully on Windows Server 2012, Windows Server 2012 R2 and Windows Server 2008 R2.


OneDrive for Business Groovy sync tool

Previously known as SkyDrive Pro, now more appropriately named OneDrive for Business, builds on a solid foundation of years of sync technology.

In terms of functionality, I am quite impressed with the OneDrive for Business functionality. It keeps getting better with each new release.

I use my OneDrive for business syncing various SharePoint Document Libraries with multiple organisations in different folders on my laptop…quite handy for people on the move.

Download:
Download OneDrive for Business standalone sync client for SharePoint 2013 and SharePoint Online.

Click here to download OneDrive for Business:

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

Use the license key:
When I set up my OneDrive for Business, I normally choose to use the license key rather than using my O365 login to install the app. Here is the license key: 3V9N8-W93CC-FQPB8-Y9WVF-TVGJ3

Limits:

There are some limits on syncing OneDrive for Business and site libraries, according to the OneDrive for Business help:

Note the following limitations related to syncing OneDrive for Business and other site libraries to your computer:

  • You can sync up to 20,000 items in your OneDrive for Business library, including folders and files.
  • You can sync up to 5,000 items in site libraries, including folders and files.
  • In any library, you can download files up to 2 GB.

OneDrive for Business is Gold:
It’s nice to see good ol’ Groove Networks still carrying on behind the scenes and Microsoft building upon a solid foundation of sync software, positively looking at it. :)

Personally, I have been very impressed by Groove since it was released! Groove was brilliant and way ahead of others at that time.

Take a look under the bonnet:

OneDriveforBusiness-Groove1

Love it!

OneDriveforBusiness-Groove-2

Groove Logo:

OneDriveforBusiness-Groove-3

 

Well, One Drive for Business certainly is not a new kid on the block. I suggest you give it a try if you haven’t in its newest incarnation!


Troubleshooting Site Mailboxes SharePoint 2013 & Exchange 2013

When configuring Site Mailboxes in SharePoint 2013 on-premises, you may be presented with a few errors such as:

‘Your SharePoint Server configuration is not supported’

Your Organization’ SharePoint Server configuration is not supported. Please contact your system administrator for more information.

Site Mailboxes finally work:

you-sharepoint-server-configuration-isnot-supported

Another error that is displayed is:

Sorry, something went wrong

An unexpected error has occurred.

sorry-something-went-wrong-sitemailboxes

To troubleshoot these errors, open your favourite ULS Log viewer and look up the Correlation ID.

With Site Mailboxes, there are specific ‘error codes’ or ‘error keywords’ that will be found in the ULS logs.

Here is a table that I found useful when troubleshooting SiteMailbox configuration issues:

Troubleshooting

Please review the following table if you encounter issues.

Table of error codes for reference when you run a configuration checklist script

Error Code Error Notes
0 NoError Review Prerequisites.
1 ExchangeClientNotAvailable EWS client was not found on the SharePoint WFE. Run the Check script and ensure the entries are properly in the GAC; you may need to reinstall the EWS client.
2 UnsupportedVersion EWS client version is incompatible with SharePoint. Run the Check script to ensure the version meets minimum requirements. Alternatively, the Exchange server may be 2010 or earlier.
3 InvalidUser The TeamMailboxDomain parameter is not a valid FQDN or SMTP address.
4 UnauthorizedUser The script received a 401 from the Exchange Server, review the Exchange setup steps.
5 ServerBusy Exchange timed out during AutoDiscovery. It should be intermittent, please retry, but if it is persistent, follow-up with the Exchange Administrator.
6 URLNotAvailable AutoDiscovery failed to return a URL for ECP/OWA, which means typically that the EWS client version is incompatible with SharePoint. It may also mean Site Mailboxes are not enabled on Exchange, which would require follow-up with the Exchange Administrator.
7 OAuthNotSupported Unsuccessful in generating an OAuth token on behalf of SharePoint. This is typically caused by claims-based authentication being disabled on the SharePoint web application.
8 OAuthException An error occurred during the OAuth handshake between SharePoint and Exchange. This is typically caused by server to server configuration issues, such as a realm value mismatch on either side, certificate issues for Exchange or SharePoint, etc. Review certificates and attempt to establish or reestablish trust.
9 InvalidAutodiscoverDomain The AutoDiscover domain property is not set to a valid FQDN.
10 UnknownError An unknown error condition has occurred. Run the Check script and confirm that a valid, trusted instance of SharePoint is available, review prerequisites, confirm AutoDiscover has been set-up properly with the Exchange Administrator.
101 OAuthNotSupportedOverHttp If this error is thrown, your web application’s default zone is not set to SSL, and AllowOauthoverHttp is also set to false. Run the Check script to ensure that any web application you intend to host site mailboxes are set with SSL in the default zone, as outlined in the prerequisites.
102 AssociatedOwnersGroupNull One or both of the default Owners and Members groups for the site have been deleted. Each of these two default groups are required to exist on any site where users install site mailboxes. A site administrator should be able to direct a site owner to recreated these required groups.
103 ExchangeTeamMailboxDomainNotSet The ExchangeTeamMailboxDomain property has not been set.
104 ExchangeAppPrincipalNotFound No Exchange app principals were found to be trusted. Typically, this means the New-SPTrustedSecureTokenService step was missed. Run the Check script and ensure that the app principal URL(s) outputted are the correct one(s).
105 ExchangeAppPrincipalMissingPermissions The Exchange app principal being connected to doesn’t have the right permissions on the SharePoint farm. Run the Check script and ensure that the Exchange app principal has the required permissions on the farm.

From <http://technet.microsoft.com/en-us/library/jj552524.aspx>

In my case, I had an Error 104 – ExchangeAppPrincipalNotFound.

No Exchange app principals were found to be trusted. Typically, this means the New-SPTrustedSecureTokenService step was missed. Run the Check script and ensure that the app principal URL(s) outputted are the correct one(s).

I rechecked my OAuth trust settings with Exchange 2013 and I had an issue with the Enterprise partner configuration.

jeremy-site-mailboxes


Latest Cumulative updates, Service packs and hotfixes for SharePoint & SQL

Cumulative updates, service packs and hotfixes should be an important part of any on-premises SharePoint Admin’s life. They not only fix up a lot of bugs in the product but also contain important security fixes!

So the advice is to apply service packs when they arrive, well I suggest waiting it out a few weeks and look up the known issues before you apply it in your PROD environment. You should always apply any updates to a non-production environment first with similar content and code to simulate the same process in PROD.

While Cumulative Updates are to be applied specifically when you have an issue fixed by it, I recommend you keep a close eye on the security fixes that come with Cumulative Updates and then decide accordingly.

Again, don’t rush to apply a Cumulative Update just for the sake of it. Many Cumulative Updates have had serious issues in the past and there’s no easy rollback!

So how do you keep up with whats the latest Cumulative updates, Service packs and hotfixes for SharePoint & SQL?

No need to google any more if you bookmark these “Update Centers” from Microsoft. They provide an easy way to look at whats the current version of Service Pack and Cumulative Update and hotfixes for SharePoint, SQL and related products.

Update center for Office, Office servers, and related products
This includes SharePoint Server, Office Web Apps and Project Server

Link: http://technet.microsoft.com/en-US/office/ee748587.aspx
(This Update Center has an RSS Feed too, so you can subscribe to it).

 

Update Center for Microsoft SQL Server
Link: http://technet.microsoft.com/en-us/sqlserver/ff803383.aspx

 

Updates for App Fabric 1.1
There is no “Update Center for AppFabric”. I recommend a search in the Microsoft Support site for “Cumulative Update Microsoft AppFabric 1.1”

Link: https://support.microsoft.com/en-us/search?query=Cumulative%20Update%20Microsoft%20AppFabric%201.1&p=

 

 


SharePoint 2013 Service Pack 1 (SP1) download

Update 14/04/2014: Here’s another one for the record.. A few days ago it was discovered that SharePoint 2013 SP1 had a bug and Microsoft has removed it from their website with a notice:

Notice
We have recently uncovered an issue with this Service Pack 1 package that may prevent customers who have Service Pack 1 from deploying future public or cumulative updates. As a precautionary measure, we have deactivated the download page until a new package is published.

If you happened to see my older post with links to the Service Pack 1 download, you would get a “We are sorry, the page you requested cannot be found” message when you access the SharePoint 2013 SP 1 page.

Well, its happened before when service packs and updates have been pulled back because of some serious issues. But after all these years, nothings changed. Maybe a hint to go SharePoint Online – you wont have these issues maybe? :)

Anyway, for On-premises deployments, I always recommend you wait for known issues, usually a month or so to know of any bugs and then make a decision on testing it out in your non-production environment first.

SharePoint 2013 SP1 is a fine example of what can happen to stuff that gets sent out by the testing team at Microsoft. This time, it was just 1 month of them releasing SharePoint 2013 SP1 when the bug was discovered, so may be waiting for longer like 2 or 3 months before you install any new piece of software on your farms would be advisable if you value your time and aim for a stable environment.