Preparation

Before the migration, you need to identify what object types you want to migrate. Refer to the Supported and Unsupported List.

1. Create an app profile with required permissions

To connect Fly to your Exchange Online, we recommend creating an app profile with the required permissions in AvePoint Online Services. Refer to Required Permissions to check the required permissions for Exchange Online Migration.

2. Run the source tenant discovery (optional)

Before you migrate from Exchange Online, you can run a tenant discovery for Exchange Online to scan and report the object count, object type, object size, and other details. According to the discovery reports, you can better understand your source environment and plan for your migrations. Refer to user guide for Tenant Discovery for details.

3. Mailboxes filters (optional)

If there are a large number of mailboxes in your tenant and you only want to migrate some of them, you can refer to Microsoft document to specify the mailboxes you want to migrate or the mailboxes that will not be migrated using Exchange PowerShell.

4. Create users in destination tenant

Add new Microsoft 365 users or synchronize users from the local Active Directory to Microsoft 365.

  • If the source domain will be moved to the destination environment:

    It is recommended that you use the default email address (user@contoso.onmicrosoft.com) in migration projects. Or you can use email addresses ending with an owned domain. After the domain name of your source tenant is changed to your destination tenant for go-live, if the final incremental migration is needed, use Change mapping domain in Fly to update the email addresses in projects in bulk.

  • If the source domain will not be moved to the destination environment, you can just use different email addresses when configuring mappings in migration projects.

Refer to the user guide about how to prepare users.

5. Create mailboxes for users

Assign licenses to destination users to create mailboxes. Refer to Assign Microsoft 365 licenses to users for details.

6. Provision shared and resource mailboxes

Provision resource mailboxes and shared mailboxes (if needed) in the destination. If the shared mailbox or resource mailbox in the destination does not exist, Fly can create a new one.

7. Handle large mail items for migration to destination mailboxes

  • Microsoft sets a default limit of 35 MB as the maximum size of a received message. We recommend increasing this to 150 MB before the migration to avoid any potential exceptions. Refer to larger email messages to configure the limit.

    Sample PowerShell command:

    Set-Mailbox -Identity user@contoso.com -MaxReceiveSize 150MB

  • Other limits such as rule quota limitation. Inbox rules are limited to 256 KB for all rules. Refer to Modify the space used by Inbox rules in Exchange Online to configure the limit.

    Sample PowerShell command:

    Set-Mailbox -Identity user@contoso.com -RulesQuota "<32 KB to 256 KB>"

8. Disable litigation hold and single Item recovery

During migrations, if you need to repair the migrated data and overwrite many items, we recommend that you disable both litigation hold and single item recovery on related destination mailboxes. If litigation hold or single item recovery is enabled, when items are deleted or overwritten, Exchange will automatically move those items to the Recoverable Items folder and take up storage there.

Litigation hold is not enabled by default while single item recovery is.

Refer to In-Place Hold and Litigation Hold in Exchange Online and Enable or disable single item recovery for a mailbox in Exchange Online for details.

Sample PowerShell Command:

Set-Mailbox -Identity user@contoso.com -SingleItemRecoveryEnabled $false -LitigationHoldEnabled $false

9. Check destination retention policies

If retention policies are configured for the source data, check to make sure the destination retention policies are the same as the source retention policies. Otherwise, the destination data may be deleted due to different retention policies.

10. Throttling limits

Microsoft uses throttling to manage Microsoft 365 operations and throttling limits will affect migration performance. Go to the Microsoft 365 admin center to lift the throttling restrictions.

  1. Go to the Help (?) section of the Microsoft 365 admin center.

  2. Enter EWS throttling as the search phrase.

  3. Click Run Tests when you are asked to check your environment. Essentially, the tests check what EWS throttling applies to the tenant.

    Run diagnostics section.

  4. The support assistant checks the tenant settings and concludes that EWS is throttled (the normal situation). You will then be offered the chance to update the settings to the tenant EWS policy to lift throttling for 30, 60, or 90 days.

  5. Select a number of days to adjust the policy, and then click Update Settings.

    The Support Assistant prepares to lift EWS throttling restrictions.

  6. After a short delay, the support assistant will confirm that the settings have been changed.

11. Prepare sensitivity labels in destination (optional)

To keep the source sensitivity labels applied on emails in the source tenant to the destination, before the migration, you need to create and publish the sensitivity labels in the destination. Refer to Create and publish sensitivity labels for details.

12. Migration throughput

For email migrations, generally, a reasonable migration speed is 1.5 GB/hour/mapping. For the number of mappings that can be run, it is automatically allocated based on the subscription you purchased. The more user seats you purchase, the more mappings you can run in a project.

There are many factors which may affect migration performance:

  • The above throughput number is for full migration. Generally, it may be lower for incremental migration since Fly needs to spend quite some time in checking the migrated item status for incremental migration.

  • There may be throttling issues in the source and destination, which affect the migration performance.

13. Create source and destination connections

Refer to Create a Connection to connect Fly to your source and destination Microsoft 365 tenants.

Project setup

Generally, we recommend that you create a project based on the business unit, such as divisions. Also, we recommend that you configure different types of mailboxes in different mapping files.

Other setup

Set mailbox mapping files and user mapping files (optional).

14. Design the migration policy

An Exchange Online migration policy allows you to configure the migration scope of objects, conflict resolutions, user mappings, and advanced options for Exchange Online migrations. Refer to  Configure a Migration Policy for details.

There are some notes that need your attention:

  • If the source or destination mailbox is a Microsoft 365 Group mailbox or archive mailbox, the Auto-Complete Lists cannot be migrated.

  • If you select to migrate Recoverable Items folders, only the Deletions folders are supported to be migrated.

  • To migrate archive mailboxes, make sure the archive mailboxes exist in the destination.

  • Synchronize deletion is unavailable for folder level migration jobs.

15. Understand when destination users will receive notifications

After calendar permissions are migrated to the destination, notifications will be sent to the shared users. Users must log in to their mailboxes and accept the shared calendars to view them.

16. Plan a pilot run

We recommend that you perform a pilot run for the following purposes:

  • Get familiar with Fly interface and understand the whole migration process.

  • Discover any potential issues early and resolve them before production migration.

  • Understand the throttling situation in case the content size is large, and then try to resolve with source and destination.