spc210 server 1 server 2 web app a web app b web app a web app b spsite upgrade limit 3 upgrade...

40

Upload: silvia-montgomery

Post on 16-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

SharePoint 2013 Upgrade Deep DiveSean LivingstonSenior Program Manager

SPC210

AgendaDeferred Site Collection Upgrade InternalsCompatibilityLevelCompatibilityRangeTemplate PickerManaging Site Collection Upgrade Abilities

Upgrade Throttling InternalsMechanismsInsight and ControlDemo

Managing Evaluation SitesExecutionSnapshotsBackupsExpiry

Customizations And UpgradeLegacy customizationsCompatibilityLevel in Solutions DeploymentFall back mechanisms

Authentication and Upgrade

Build Upgrade ImprovementsWeb Level Upgrade Sequences

Upgrades In Federated Services EnvironmentsCross farm service compatibilityOrder of operations

Miscellaneous Upgrade ItemsInsight into Upgrade ActionsMaintenanceWindows

Deferred Site Collection Upgrade Internals

Deferred Site Collection Upgrade FlowchartCheck Site Collection Health UI1. Scan site collection2. (Optionally) repair site collection if

requested3. Show health check results pageRequest Site Collection Upgrade UI4. Check site collection health5. If errors found, shows results6. Queue site collection upgrade7. Run upgrade in-process or in timer job8. Monitor upgrade and show results pageCreate Evaluation Site Collection UI9. Verify if evaluation site collection can be

requested10. Queue evaluation site collection creation11. Send queuing email to site collection

admin12. First timer job creates evaluation site13. Second timer job upgrades site collection14. Send upgrade email to site collection

admin

RequestSite Collection

Upgrade

CheckSite Collection

Health

Create Evaluation Site Collection

QueueSite Collection

UpgradeQueue

EvaluationSite Collection

Creation

ScanSite Collection

RepairSite Collection

MonitorSite Collection

Upgrade

RequestHealth Check

Get HealthCheck Results

Evaluation Site Collection Creation

Timer Job

Queue EvaluationSite Collection Upgrade

QueryEvaluation

Site CollectionCreationQueue

CreateEvaluation

Site Collection

Site Collection Upgrade Timer Job

Invoke Site CollectionUpgrade

Query Site CollectionUpgrade Queue

Upgrade Site Collection

UpgradeSite Collection

RequestHealthCheck

GetHealthCheck

Results

InvokeSite Collection

Upgrade

SendEvaluation

Site CreationQueued

Email

SendEvaluation

Site CreationCreated

Email

Send EvaluationSite Creation

Upgraded Email

Write Upgrade Logs

CompatibilityLevelTracks current site collection mode and behavior within OMTracked on site collection (SPSite.CompatibilityLevel)All 2010 sites are CompatibilityLevel = 14All 2013 sites are CompatibilityLevel = 15

Set on site collection at database upgrade or site creationAll site collections in upgraded 2010 content database start as CompatibilityLevel = 14

Changed on site collection version upgrade onlyFirst thing to change during site collection version upgrade once health rules completeIs not changed if upgrading a database (even with children) or site collection (unless -VersionUpgrade flag set)

Webs can only be in same compatibility as site collectionWeb templates limited by SPSite.CompatibilityLevelWeb templates must exist for specific CompatibilityLevel if defined in site definition

Features can be same or earlier CompatibilityLevel as site collectionCurrent version used or system attempts fallback to prior version if installed

CompatibilityRangeDetermines site collection creation modesTemplate picker choice for new site collectionProvides New-SPSite defaults if no CompatibilityLevel specified

Determines self-service upgrade defaultsRange must include new version if self-service upgrade is desired

Sets both maximum and minimum compatibility level values

Parameter on Solution commandsBoth Install-SPSolution and Uninstall-SPSolutionDetermines range of site collection modes to support for solutionsNote: parameter is -CompatibilityLevel even though it can take a CompatibilityRange value

Tracked on Web Application and tenantsSPWebApplication.CompatibilityRange

Defaults to 14,15Optionally tracked in multi-tenant at SiteSubscription settings:

SPTenant.CompatibilityRangeOverrides web app settingsTenant and farm admin can changeDefaults to not existing

SPTenant.AdminCompatibilityRangeOverrides web app and tenant settingsOnly farm admin can changeDefaults to not existing

Template PickerLimited by CompatibilityRange if used at Central Admin/Tenant AdminVersion dropdown shown if selection is applicableVersion string shown if single version only

Limited by CompatibilityLevel if used within site collection to create sub websOnly versions shown are same as SPSite.CompatibilityLevelVersion string is shown in this case

Managing Site Collection Upgrade AbilitiesSPWebApplication Upgrade Properties

CompatibilityRangeSpecifies maximum and minimum versions to allow for site creationIf new version is not within range upgrade is unavailable as a default

AllowSelfServiceUpgradeEvaluationSpecifies whether site collection administrators can request an upgrade evaluation site

MaxSizeForSelfServiceEvalSiteCreationMBSpecifies maximum size of site collection where an evaluation site can be requested by a site collection admin (102400 MB default)

SPSite Upgrade Properties

AllowSelfServiceUpgradeOverrides CompatibilityRange to specify whether the site collection upgrade can be initiated by the site collections admins

InheritAllowSelfServiceUpgradeSettingClears the site collection AllowSelfServiceUpgrade flagflag so site collection upgrade checks CompatibilityRange value only

AllowSelfServiceUpgradeEvaluationOverrides AllowSelfServiceUpgradeEvaluation to specify whether an evaluation site collection can be requested by the site collections admins

InheritAllowSelfServiceUpgradeEvaluationSettingClears the site collection AllowEvaluationSite flag so site collection inherits AllowSelfServiceUpgradeEvaluation value

Upgrade Throttling Internals

Upgrade Throttling Mechanisms1. Too many upgrades at once

Can overload SharePoint and/or SQL

2. Finished upgrades reduce impact

3. Add insight into throttles:Per database parallelism throttlePer process parallelism throttle

4. Database throttle impact on parallelism

Sessions beyond limit are queued & throttled

5. Cleanup of upgrade sessions6. Process throttle impact on

parallelismSessions beyond limit are queued & throttled

7. Cleanup of upgrade sessions

Server 1

Server 2

Web App A

Web App B

Web App A

Web App B

SPSiteSPSiteSPSiteSPSiteSPSite

SPSiteSPSiteSPSiteSPSiteSPSite

UpgradeLimit

3

UpgradeLimit

4

Upgrade

Limit

2

Upgrade

Limit

2Upgrad

eLimit

1

Upgrade

Limit

1

Memory IOPS

IOPSMemory

Upgrade Throttling Insight and ControlGet-SPSiteUpgradeSessionShows queued upgrades by default

Can be excluded using -HideQueued parameter-ShowCompleted parameter lists completed prior queued upgrades-ShowFailed parameter lists failed queued upgrades

Remove-SPSiteUpgradeSessionEvicts queued upgrade unless currently in progress

Upgrade-SPSiteUpgrade site collection regardless of in-process limits-QueueOnly parameter adds site to upgrade queue only

Does not perform upgrade in PowerShell process-Unthrottled parameter bypasses database throttle limit for this upgrade session

Still is listed in queue and impacts throttle limits for other upgrade sessions

Maximum for in-process upgrade size settingsSPWebApplication.SiteUpgradeThrottleSettings.UsageStorageLimitSPWebApplication.SiteUpgradeThrottleSettings.SubwebCountLimit

Maximum parallel in-process upgrade session settingsSPWebApplication.SiteUpgradeThrottleSettings.AppPoolConcurrentUpgradeSessionLimit

Maximum parallel upgrade session settingsSPContentDatabase.ConcurrentSiteUpgradeSessionLimit

Demo

Managing Site Collection Upgrade Throttles

Managing Evaluation Site Collections

1. Evaluation creation is queued2. Copy of site collection is made by timer job

• Create Upgrade Evaluation Timer Job picks up the queued request• SQL Snapshot is used for creation process if supported in environment• Site collection backup/restore for creation process when SQL Snapshot unavailable

3. Upgrade is optionally queued after evaluation copy is created

• UI initiated creation always queues upgrade• Upgrade Site Collection Timer Job will pick up queued site collection upgrade

4. If specified in request, email is sent to site collection admins

• Default is to send email if creation was UI initiated• Requested email sent when request is queued• Completion email sent after creation if no upgrade requested• Completion email sent after creation if no upgrade requested

Evaluation Site Collection Execution

Snapshot Use In Evaluation Site Collection Creation1. User requests evaluation site of source site

collection2. Create Evaluation Site timer Job runs3. Job creates read only database snapshot if

SQL supports it4. Static copy of source site collection with

new URL is copied from the snapshot database to the source database

5. Source site collection has evaluation site pairing information configured

6. Evaluation site collection configured1. Entered in Site Map2. Configured as evaluation site collection3. Expiration date is set4. Is optionally queued for upgrade

7. Snapshot database is cleaned up8. Upgrade Site Collections timer Job runs9. Upgrade of evaluation site collection occurs

if previously queued for upgrade

R/O

Conte

nt

Data

base

SPSite“/sites/foo”

SnapshotDatabase

Conte

nt

Data

base

SPSite“/sites/foo”

CloneSPSite“/sites/foo-

eval”

Evaluation

SPSite“/sites/foo-

eval”

SPSiteClonin

g

SharePoint

Timer Job:Create Evaluation Sites

Timer Job:Upgrade Site Collections

1

23

4

6

5

7

8

9

Backup/Restore Use In Evaluation Site Collection Creation1. User requests evaluation site of source

site collection2. Create Evaluation Site timer Job runs3. Job creates site collection backup if SQL

does not support Snapshots4. Target site collection is restored with new

URL from the site collection backup to the source database

5. Source site collection has evaluation site pairing information configured

6. Evaluation site collection configured1. Entered in Site Map2. Configured as evaluation site collection3. Expiration date is set4. Is optionally queued for upgrade

7. Site Collection backup file is cleaned up8. Upgrade Site Collections timer Job runs9. Upgrade of evaluation site collection

occurs if previously queued for upgrade

SPSite“/sites/foo”

SPSiteBackup

Conte

nt

Data

base

SPSite“/sites/foo”

CloneSPSite“/sites/foo-

eval”

Evaluation

SPSite“/sites/foo-

eval”

SPSiteRestor

e

SharePoint

Timer Job:Create Evaluation Sites

Timer Job:Upgrade Site Collections

1

23

4

6

5

7

8

9

Evaluation Site Collection ExpiryTimer job periodically deletes expired evaluation sitesSent to recycle bin so can be recovered if required

SPWebApplication.DaysToExpireDefaults to 30 (days)

SPSite.EvaluationExpirySet initially to evaluation site creation date + SPWebApplication.DaysToExpireCan be changed to longer or shorter but not clearedSite collection status message uses this in evaluation messageTimer job uses this to determine deletions

Customizations And Upgrade

Legacy Customizations

InstallationInstall-SPSolution [-CompatibilityLevel “14,15”]With CompatibilityLevel installation location is admin controlledWithout CompatibilityLevel solution SharePointProductVersion value controls installation locationSPSite.CompatibilityLevel determines which version of feature to use first

Behavioral changesLegacy API use mainly unchanged, should just workTargeting both modes with same code using SPSite.CompatibilityLevel to make decisions

Value Effect

“14,15”“AllVersions” “All”

Installs solution to both 14 and 15 directories (in the 2013 product, subject to change in future versions)

14“OldVersions”“Old”

Installs solution to 14 directories only (in the 2013 product, subject to change in future versions)

15“NewVersion”“New”

Installs solution to 15 directories only (in the 2013 product, subject to change in future versions)

14 Solution Deployment Defaults Or With CompatibilityLevel=14

<Solution SharePointProductVersion=“14”>

</Solution>

IIS Site

_vti_bin

App_GlobalResources

_controltemplates

15

_layouts

15

bin

GAC

Web Server Extensions

15

14

ISAPI

Resources

TEMPLATES

CONTROLTEMPLATES

FEATURES

SiteTemplates

LAYOUTS

TEMPLATES

CONTROLTEMPLATES

FEATURES

SiteTemplates

LAYOUTS_wp_resources

wpresources

_vti_adm ADMISAPI

_admin

admin

TemplateFile Location=“*”

TemplateFile Location=“SiteTemplates\*”

FeatureManifest

SiteDefinitionManifest

Assembly DeploymentTarget = “GlobalAssemblyCache”

RootFile Location=“*”

Assembly DeploymentTarget = “WebApplication”

TemplateFile Location=“Layouts\*”

TemplateFile Location=“Features\*”

ClassResources Location=“*”

App_GlobalSourceFile Location=“*”

TemplateFile Location=“ControlTemplates\*”

RootFile Location=“Templates\*”

RootFile Location=“Templates\Admin\*”

TemplateFile Location=“Admin\*”

ApplicationResourceFile Location=“*”

14 Solution Deployment Overrides With CompatibilityLevel = 15

<Solution SharePointProductVersion=“14”>

</Solution>

IIS Site

_vti_bin

App_GlobalResources

_controltemplates

15

_layouts

15

bin

GAC

Web Server Extensions

15

14

ISAPI

Resources

TEMPLATES

CONTROLTEMPLATES

FEATURES

SiteTemplates

LAYOUTS

TEMPLATES

CONTROLTEMPLATES

FEATURES

SiteTemplates

LAYOUTS_wp_resources

wpresources

_vti_adm ADMISAPI

_admin

admin

TemplateFile Location=“*”

TemplateFile Location=“SiteTemplates\*”

FeatureManifest

SiteDefinitionManifest

Assembly DeploymentTarget = “GlobalAssemblyCache”

RootFile Location=“*”

Assembly DeploymentTarget = “WebApplication”

TemplateFile Location=“Layouts\*”

TemplateFile Location=“Features\*”

ClassResources Location=“*”

App_GlobalSourceFile Location=“*”

TemplateFile Location=“ControlTemplates\*”

RootFile Location=“Templates\*”

RootFile Location=“Templates\Admin\*”

TemplateFile Location=“Admin\*”

ApplicationResourceFile Location=“*”

15 Solution Deployment Defaults Or With CompatibilityLevel=15

<Solution SharePointProductVersion=“15”>

</Solution>

IIS Site

_vti_bin

App_GlobalResources

_controltemplates

15

_layouts

15

bin

GAC

Web Server Extensions

15

14

ISAPI

Resources

TEMPLATES

CONTROLTEMPLATES

FEATURES

SiteTemplates

LAYOUTS

TEMPLATES

CONTROLTEMPLATES

FEATURES

SiteTemplates

LAYOUTS_wp_resources

wpresources

_vti_adm ADMISAPI

_admin

admin

TemplateFile Location=“*”

TemplateFile Location=“SiteTemplates\*”

FeatureManifest

SiteDefinitionManifest

Assembly DeploymentTarget = “GlobalAssemblyCache”

RootFile Location=“*”

Assembly DeploymentTarget = “WebApplication”

TemplateFile Location=“Layouts\*”

TemplateFile Location=“Features\*”

ClassResources Location=“*”

App_GlobalSourceFile Location=“*”

TemplateFile Location=“ControlTemplates\*”

RootFile Location=“Templates\*”

RootFile Location=“Templates\Admin\*”

TemplateFile Location=“Admin\*”

ApplicationResourceFile Location=“*”

Fall Back MechanismsSetupPath file fallbackChecks current CompatibilityLevel version directory first then legacy one(s)

Feature fallbackChecks current CompatibilityLevel version directory first then legacy one(s) Not applicable for _layouts based .aspx pages

ASPX redirector will send to directory based on CompatibilityLevel of SPSite

Site definitions do not fall backInstall site definitions in all version directories you plan to supportA missing site definition will block site collection version upgrade

Feature Fallback Behavior

SP14 feature replaced by SP2013 feature

Non-replaced O14 only feature (e.g. 3rd party)

SP14 feature removed in SP2013

14 Mode Features List

SP2013 feature replacing SP14 feature

New SP2013 only feature

“Sunset” feature Visible=false

15 Mode Features List 15 Mode Lookups

14 Mode Lookups

Customization Resource FilesFeature specific resources are read from the feature directory14 version features and 15 version features can have entirely different resource files since they are in different directories

Resources not explicitly in feature directory are read from 15 Resources directoryEnsure 15 features that upgrade 14 ones include the 14 feature resourcesRemember to install 15 features after 14 ones so latest resources apply

Web Part resources are read from WPResources directory

• 2013 does not support partial trusted code solutions

• BIN directory deployment is now full trust only

• Commands require confirmation to install full trust

• Existing PTC customizations need to be verified against this change

Customization Security Changes

Authentication and Upgrade

Claims Provider ConsiderationsWeb application can be claims or legacy modeClaims is default for new web applicationRecommend to use claims mode exclusively

Existing 2010 claims providers should just workEnsure you keep the exact same provider name in web.config files

Content databases detect auth provider mismatch when attachedWarning if database doesn’t match web application (all users, or just a few users)Run SPWebApplication.MigrateUsers() operation after attaching if required

Build Upgrade Improvements

Build Upgrade ImprovementsDatabase upgrade without including site collections All sites experience shortest outage during database upgradeIndividual sites experience small outage as each is upgraded after

Snapshot database upgradeAll sites experience only read only outage

Project Server now supports bits to database backwards compatibilityPatch without immediate upgrade

Web Level Upgrade SequencesWeb level sequences now existDatabase entries track web level sequence versionsSite sequences were refactored to extract web level operations into web sequences

Enables safe web restoration from site recycle binRestored webs upgraded automatically if upgrade required to match site upgrade levelWorks for both build to build and version to version site collection upgradesNote: Cannot fix sites deleted while in 2010 database

Cannot back-port changes to 2010Very complex/expensive changeWeb restores across builds is an uncommon event

Upgrades In Federated Services Environments

Cross Version/Build Service CompatibilityCross farm services compatibility prevents requiring big bang upgrade• 2013 federated services can be consumed by

2010 version farms• Unpatched 2013 content farms can consume

patched 2013 federated farm servicesRemember, patching and upgrade order is always federated services farm first

1. 2013 services farm built out2. 2013 services farm upgrades copy of 2010 services farm

databases3. 2013 farm indexes 2010 farm content (to preserve search ability)4. Service connections to 2013 farm created on 2010 farm5. 2010 content farm switched to use shared services on 2013 farm6. 2013 content farm built out and connected to 2013 services farm7. 2010 content farm content databases set to read only8. 2013 content farm upgrades copy of 2010 content farm databases9. Switch to 2013 content farm (DNS or routing)10.Legacy farms can be decommissioned

Cross Farm Version Upgrade Order Of Operations

Miscellaneous Upgrade Items

Insight into Upgrade ActionsGet-SPUpgradeActionsLists all upgrade actions:• SPSequences• SPActions• Declarative Feature Upgrades • Coded Feature Upgrades

Get-SPPendingUpgradeActionsLists only unprocessed upgrade actions for a given upgradable target objectRequires a specific upgradable object as the source of the upgrade hierarchy to query

Name: Microsoft.SharePoint.Upgrade.AppManagementServiceDatabaseSequence

ID: d40b0ae0-1511-42d3-a1d3-f2d6dfcfe4d7

BaseType: SPSequence

ParentType:

TargetObjectType: Microsoft.SharePoint.AppManagement.AppManagementServiceDatabase

BeginVersion: 15.0.27.0

EndVersion: 15.0.27.0

TargetVersion: 15.0.27.0

BackwardsCompatibleSchemaVersion: 15.0.27.0

CompatibilityLevel: 15

Maintenance WindowsSet at individual content databasesTracked in a collection SPContentDatabase.MaintenanceWindows

Can have zero or more maintenance window objectsProcessed with lowest ordinal overriding later ones if times overlapValues:• MaintenanceStartDate – When maintenance will begin• MaintenanceEndDate – When maintenance will end• Duration – How long maintenance will last• NotificationStartDate – When to start showing notification• NotificationEndDate – When to stop showing notification• MaintenanceType – What type of maintenance is occuring• MaintenanceLink – If set, add a link to the message that points to this URL

Evaluate this session now on MySPC using your laptop or mobile device: http://myspc.sharepointconference.com

MySPC

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.