6. • Why
• Public Folders in Office 365
• High Availability
• Multi-Master Replication Simplified – now single-master
• User Perspective
• No change - same as with legacy public folders
• Admin Perspetive
• Public Folders databases replaced by Public Folder mailboxes
• Each Public Folder mailbox includes the complete public folder hierarchy
• Multi-master replication is replaced by single-master replication of folder hierarchy
• Public Folder mailboxes are stored in regular mailbox databases
• Use DAGs for high availability and data redundancy
• Cannot coexist with legacy Public Folders
The change of Architecture
7. • Mailboxes
• Each individual public folder mailbox provides folder hierarchy and storage space
for folder content
• To end users public folders appear as one hierarchy, with content readily available
in every folder
Storage Model
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
8. • Folder Hierarchy
• Multiple-replicas, single-master
model:
• primary mailbox: the only mailbox that
has writable copy of the hierarchy
• secondary mailboxes: mailboxes that
have read-only copy of the hierarchy
• periodic synchronization service keeps
hierarchy of secondary mailboxes in
sync with primary
Storage Model
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
9. • Mailboxes
• To administrators, increasing capacity is just a matter of adding more
mailboxes
Storage Model
…
10. • Dumpster Folder
• Every content folder has its dumpster,
where deleted items are retained for some
time before they are purged from the
mailbox
• Deletion of content item is really a move
from a folder to its dumpster
• Both content folder and its dumpster
always hosted in pairs in the same mailbox
• Content folder and its dumpster are linked
to each other, link cannot be undone
• When folder is removed from the
hierarchy, its dumpster is automatically
removed
Storage Model
11. • Read operations in the folder
hierarchy
• Read operations:
• Enumerate child folders of parent folder
• Read properties of a folder
• Read permissions of a folder
• Flow:
1. Client connects to its default PF
mailbox
2. Requests read operation
3. Read operation is executed directly in
that PF mailbox and result is returned
to client
Dataflow
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
1
2
3
12. 3
4
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
• Write operations in the folder
hierarchy
• Write operations:
• Create or delete folder
• Update permissions of a folder
• Change display name of a folder
• Flow:
1. Client connects to its default PF mailbox
2. Requests write operation
3. Write operation is proxied to the primary
PF mailbox to executed there
4. Folder properties and permissions are
synchronized to the secondary PF mailbox
5. Operation result is returned to client
Dataflow
1
2
5
13. Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
Folder a
Folder b
Folder c
Folder d
Folder e
• Read and Write operations in the folder
content
• Write operations:
• Create new item
• Update rules
• Delete item
• Flow:
1. Client connects to its default PF mailbox
2. Request mailbox location of the content
folder
3. Response with the mailbox location
4. Client connects to the content PF mailbox
5. Client request read or write operation in
folder
6. Response to the read or write operation
Dataflow
1
2
3 4
6
5
14. • Content & Dumpster Access
• Dumpster folder is not directly
exposed to clients
• Table view on folder content is
routed to content folder.
• Table view on deleted content is
routed to dumpster folder.
• Permissions are enforced from
the content folder
Dataflow
15. • Hierarchy Synchronization
• Which components are involved:
• PublicFolderSynchronizer
servicelet within MSExchangeHost responsible to execute
synchronization
• MRS Proxy Service
provides access to the primary mailbox remotely
• MOMT, EWS, OWA
provide hint when clients are connect to
PublicFolderSynchronizer
• When each secondary mailbox
synchronizes:
• Every 15 minutes if at least 1 client connected
to it as default public folder mailbox
• Every 24 hours regardless of client
connections
Dataflow
MRS
MRS Proxy
Service Host
PublicFolder
Synchronizer
MOMT EWS OWA
PF
Hierarchy
Sync Starter
PF
Hierarchy
Sync Starter
PF
Hierarchy
Sync Starter
16. Supported versions
Clients
- Outlook 2013, 2010, 2007
- OWA2013 (RTM CU1 or later)
Exchange Server
- E2013 users can access E2013 / E2010 /
E2007 Public Folders
- E2007/E2010 users cannot access E2013
Public Folders
Migration support
- Cutover migration from Exchange 2007
and 2010
- Same on-premises and cross-premise
17. Legacy Public Folders Modern Public Folders
Content storage Public Folder database Public Folder mailbox
Public Folder content replication Can be replicated between databases Replication is not possible
High availability PF replication DAG
PF Hierarchy storage One per PF database, multi-master Per PF mailbox, one master only
PF Hierarchy synchronization Based on e-mail Direct mailbox sync
Search Items only Items and attachments (full-text)
Public Folder permission
management
Access Control Lists (ACLs) Role-based Access Control (RBAC)
Public Folder Client permissions Access Control Lists (ACLs) Access Control Lists (ACLs)
Admin Platform PF Management Console + EMS EAC + EMS
Outlook client support Any Outlook version Outlook 2007 - 2013
OWA support OWA 2007, OWA 2010 OWA 2013
Exchange Server support Exchange 2010 or earlier Exchange 2013
Comparing Legacy vs. Modern Public Folders
18. Scale roadmap – Office 365 Public Folders
10K folders 100K folders
100
mailboxes
100 mailboxes
Continue
increasing
folder,
mailbox and
connection
counts
2000
connections
2000
connections
Where we were Where we are Where we will be
19. Scale roadmap – On premises Public Folders
10K folders
CU6: 100,000
CU7: 250,000
CU8: 1 Million
100 mailboxes 100 mailboxes
Continue
increasing
mailbox &
connection
counts
2000 connections
2000
connections
Where we were Where we are Where we will be
20.
21. Create a mailbox in a DAG
• New-Mailbox -PublicFolder
Users create folders and messages
• Users and user access grows
• Create more PF mailbox(s)
• PF hierarchy is copied automatically
Users create more folders and messages
• PF mailbox reaches quota: Split it!
• Script: Split-PublicFolderMailbox.ps1
Deploying Modern Public Folders
22. • Public Folder space is provided at no additional cost!
5 TB (100 PF mailboxes)
One single Public Folder Mailbox can be as large as 50 GB
• Microsoft manages PF mailboxes
When PF mailbox quota is reached, or active hierarchy connection count is
exceeded, Exchange will create another PF mailbox, and move PF content
Auto-split process is not available in Exchange 2013 on-premise
• Hybrid
Exchange Online users can still access on-premise Public Folders
Exchange 2013 on-premises users can access Public Folders in Exchange
Online
Exchange Online Public Folders
23. • When PF mailbox warning quota (50 GB) is exceeded, auto-split
does the following:
1. Creates a new PF mailbox (if needed)
2. Moves half of the PF content to new PF mailbox
• When active hierarchy connection count (2,000 connections) for a
PF mailbox is exceeded:
1. Creates a new PF mailbox
2. Equally distribute client connections among all PF mailboxes
What is Auto-split (Exchange Online only)
24. • Public Folder mailboxes are part of mailbox databases that can
belong to a DAG
• Provide single item recovery functionality
• PF mailboxes provide the following recovery options
• Deleted public folder restore
• Deleted public folder mailbox restore
• Public folder mailbox restore from a recovery database
Backup and Restore Considerations
25.
26. • First to remember
• No coexistence! Either the public folders are legacy or modern. The migration is a cutover migration!
• Before considering a PF migration, all mailboxes must be on Exchange 2013 and/or Exchange Online
• Public folder migrations are PowerShell based, the is no GUI!
• Migrations to Exchange 2013 (on-premises)
• Support for Exchange 2007 and 2010 Public Folders
• Migrations to Exchange Online
• Support for Exchange 2007, 2010 and 2013 Public Folders
• No Exchange Hybrid Deployment required
• Public Folders are migrated using Outlook Anywhere, thus OA must be available from Internet
Migrate to Modern Public Folders
27. • Make sure you run Exchange 2013 CU7, Exchange 2010 SP3
RU8 or 2007 SP RU15
• Make sure replication between legacy public folder databases is
healthy
• All Public Folders must cut-over together
• There will be a short PF downtime while the migration is finalized
• You can choose to switch some users first for validation
• Once migration completes, everyone switches at the same time
• Roll-back is possible
Migration requirements
28. • Configure routing to Exchange Online for mail-enabled Public
Folders
• Export + Import Scripts for mail-enabled folders
• Run New-PublicFolderMigrationRequest with the following
additional parameters:
• - OutlookAnywhereHostname: OA external host name
• - RemoteCredential: Public Folder Admin with access to all folders
• - RemoteMailboxLegacyDN: LegacyExchangeDN of PF Admin
• - RemoteMailboxServerLegacyDN: FQDN of Public Folder server
• - Authentication: Basic or NTLM, depending on your OA authentication
What’s different when migrating to Exchange Online?
29. • Overview
• Migration is the process to import complete folder hierarchy and content from
public folder databases in Exchange 2010 and 2007, into public folder mailboxes in
Exchange 2013 or Exchange Online.
• Serial Migration
• Original design where single job in MRS is responsible for connecting to public
folder databases and reading the data, and connecting to all public folder
mailboxes to write the data. Each folder is processed sequentially and total
duration of the job is directly proportional to the size of the hierarchy and amount
of data to migrate.
• Batch Migration
• Improved design for migration where there is one job in MRS for each public
folder mailbox. Each job connects to public folder database to read the data
specific to its target mailbox. Jobs run in parallel, up to maximum of 100 jobs, and
duration of the job is proportional to the largest public folder mailbox.
Migration
31. Office 365
Server 2
Sales
…
Server 3
Research
On-premises
Sales
Research
HR
IT
PF
DB
E2010 CAS
PF
DB
Batch migration
MRS
Mailbox
2
Server 4
HR
IT
MRS
Mailbox
3
MRS
Primary
mailbox
Server 1
Service
Host
Migration
mailbox
33. • Use batch migration, not serial (New-MigrationBatch)
• Batch migration is not only faster, but also more robust
• Sync mail-enabled public folders
• Always use the latest scripts from TechNet.
• Sync email-enable public folders just before starting migration
• Sync after a public folder is mail enabled
• Sync before finalizing migration
• Ensure that source replicas are in sync
• It is best to have single replicas, but if that is not possible due business needs, ensure each
replica is fully sync. If you have public folders with multiple replicas, always verify those
folders have been migrated properly after finalization completes.
• Finalization
• You are going to block user access to public folder databases during finalization, so take
advantage of network capacity available on source and use max out concurrency on MRS
jobs.
Migration best practices
34.
35. • Prepare
• Cleanup any Public Folder that includes a Backslash (“”) in the name
• Cleanup any Public Folder that is larger than 25 GB (recommendation)
• Download Microsoft Exchange 2013 Public Folder Migration Scripts
• http://www.microsoft.com/en-us/download/details.aspx?id=38407
• Analyze (optional)
• Get-PublicFolder -Recurse –Resultsize unlimited | Export-CSV
C:PFMigrationPFStructure.csv
• Get-PublicFolder -Recurse | Get-PublicFolderStatistics | Export-CSV
C:PFMigrationPFStatistics.csv
• Get-PublicFolder -GetChildren | Get-PublicFolderClientPermission | Select-Object
Identity,User -ExpandProperty AccessRights | Export-CSV C:PFMigrationPFPerms.csv
Step 1: Prepare & Analyze (1/2)
37. • Create required Public Folder mailboxes
• Amount of mailboxes is defined in PFtoMBX matching file
• First public folder mailbox must be in HoldForMigration mode
• Create at least one public folder mailbox per 2.000 mailbox users
• CMDlets to create PF mailboxes:
• First:
• New-Mailbox -PublicFolder “Mailbox1” -HoldForMigration:$true -
IsExcludedFromServingHiearchy:$true
• All others:
• New-Mailbox -PublicFolder “MailboxXX” -IsExcludedFromServingHiearchy:$true
• Configure Quotas on PF mailboxes
• On-premises: 2 GB default, 25 GB recommended, 100 GB maximum
• Online: 50 GB configured / maximum
Step 2: Create public folder mailboxes
38. • Create PF migration request(s)
• New-MigrationBatch -Name PFMigration -SourcePublicFolderDatabase
(Get-PublicFolderDatabase -Server <Source server name>) -CSVData
(Get-Content <Folder to mailbox map path> -Encoding Byte) -
NotificationEmails <email addresses for migration notifications>
• Start-MigrationBatch PublicFolderMigration
• Verify PF migration request
• Batch: Get-MigrationBatch
• Serialized: Get-PublicFolderMigrationRequest | Get-
PublicFolderMigrationRequestStatistics -IncludeReport | fl
• Verify that Migration Request will stop by 95%
• Regularly run the following cmdlet:
• Resume-PublicFolderMigrationRequest PublicFolderMigration
Step 3: Begin migration
39. • Lock out users from legacy Public Folders:
• Set-OrganizationConfig -PublicFoldersLockedForMigration:$true
• (Legacy Public Folders will be locked – wait until replicated to all databases!)
• Complete PF Migration Request and restart sync:
• Set-PublicFolderMigrationRequest PublicFolderMigration -PreventCompletion:$false
• Resume-PublicFolderMigrationRequest PublicFolderMigration
• Get-PublicFolderMigrationRequestStatistics PublicFolderMigration –IncludeReport
|fl
• Resume-PublicFolderMigrationRequest - until request is 100% completed!
• Batch: Complete-MigrationBatch
Step 4: Finalize Migration Request
40. • Verify Modern Public Folders
• Set-Mailbox <Mailbox> –DefaultPublicFolderMailbox Mailbox1
• Use Outlook or OWA to verify Public Folders
• Allow general Access to Modern Public Folders
• Get-Mailbox -PublicFolder | Set-Mailbox -PublicFolder -IsExcludedFromServingHierarchy
$false
• Run on legacy server:
• Set-OrganizationConfig -PublicFolderMigrationComplete:$true
• (Allows e-mail delivery to Modern Public Folders)
• Remove Legacy Public Folder Databases
• Don’t remove them too quickly, otherwise you cannot roll-back anymore!
Step 5: Finalize Public Folder migration
41. • Run on Exchange server (on-prem):
• Set-OrganizationConfig –PublicFoldersLockedForMigration:$false
• Set-OrganizationConfig –PublicFolderMigrationComplete:$false
• (Restart Microsoft Exchange Information Store service to speed up access)
• Remove Public Folder Mailboxes (option)
• Key consideration
• May loose new content when users already were working in Modern Public Folders
Roll-back to legacy Public Folders
42.
43. • Issue
• No hierarchical information is available in Exchange
• Solution
• Export Public Folder hierarchy to a .CSV file
• Use Microsoft Excel, create a PIVOT table
• Investigate Public Folder structure (Owner, usage, etc)
How to analyze a large PF structure?
44. • How are Public folders are used:
• Mails are moved from mailboxes to public folders, stored together with a project
• Central storage of shared calendars or contact lists (seldom)
• Possible alternatives identified
• Reduce Public Folder replicas when folder is “old”
• Move non-needed Public Folders to PST and store them on cheaper storage
• Move public folders to a functional mailbox
• Move public folders to Sharepoint
Public Folder Analysis
45. • Do you want to migrate your Public Folders at all?
• How many Public Folder mailboxes do you need?
Remember, minimum one mailbox per 2,000 users
• Where do you place the Public Folder mailboxes? Place
the primary PF mailbox to a database that is member of
a DAG!
Planning
46. • Start cleanup of existing Public Folders and introduce
alternatives
• Reduce PF replicas where possible
• Start to migrate all mailboxes to Exchange 2013 first, your
Public Folders stay where they are today
• Start Public Folder migration sync(s)
• When all Mailboxes are migrated, define a weekend or more
to lock-down the existing Public Folder structure
• Do a final delta-sync
• Switch PF structure to Modern Public Folders
How to migrate a large PF structure?
47. •Working towards a
shared outcome/purpose
•Working together on shared
deliverables
•Need to get all the tools we need to be
successful
Working together as a
team
•Team appears as virtual identity (e.g.,
sales@contoso.com)
•Working on shared queue of incoming
requests
•Answering as the virtual identity, not
the individual
Working on behalf of a
virtual entity
•History of public conversations
•Accessible to everyone
•Can include mails, notes, calendars,
tasks, contacts,…
•Discoverable/searchable for everyone
Public, unobtrusive
conversations
Site Mailboxes Public Folders Shared Mailboxes
When should you use Public Folders?
48.
49. • Planning is important
• Clean up you existing Public Folders
• Migrate ALL users mailboxes
• Work with the PowerShell scripts (get an overview)
• Migrate
• Remove old Public Folder databases
• OR USE THIRD PARTY SOFTWARE (MigrationWiz / SkyKick etc…)
Summary
50. • Connect with Peter Schmidt
• Twitter: @petsch
• Blog: www.msdigest.net
• Mail: pesch@eg.dk
• Exchange Migration scripts and articles
• Microsoft Exchange 2013 Public Folder Migration Scripts
• (http://www.microsoft.com/en-us/download/details.aspx?id=38407)
• Migrate Public Folders to Exchange 2013 From Previous Versions
• (http://technet.microsoft.com/en-us/library/jj150486(v=exchg.150).aspx )
• Migrate Legacy Public Folders to Exchange Online
• (http://technet.microsoft.com/en-us/library/jj983799(v=exchg.150).aspx )
• Configure Legacy On-Premises Public Folders for a Hybrid Deployment
• (http://technet.microsoft.com/en-us/library/dn249373(v=exchg.150).aspx )
Links to remember…
51. • Exchange 2013 Public Folders Directory Sync Support Scripts:
http://www.microsoft.com/en-
us/download/details.aspx?id=38408
• Exchange 2013 Public Folders Migration Scripts:
http://www.microsoft.com/en-
us/download/details.aspx?id=38407
Scripts