System Requirements (Self-Hosted)
Environment
- 64 bit Operating system: Windows Server 2016+ (Clean build recommended)
- Microsoft .NET Framework 4.8
- Recommended system specification - Primary Server:
- 3GHz 8 Core Processor or better
- 200+GB Disk space
- 16+GB Memory
- Recommended system specification - Secondary Server(s):
- 3GHz 4 Core Processor or better
- 100GB Disk space
- 8+GB Memory
If you are looking to complete a 'large migration' (a migration of more than 25,000 users or 10 million objects), refer to the following articles for additional considerations:
- Large Migration Infrastructure
- Running SQL Server or Redis on an Independent Server
- Existing SQL Server Database Configuration
If you are storing Drive document mappings and running a large migration, contact the support team.
Required ports
Primary and Secondary servers will communicate with the source and destination platforms, and the CloudM Migrate licensing platform using HTTP/HTTPS. Therefore ports 80 and 443 will need to be open between these environments
The URLs accessed for the license server are as follows.
- portal.thecloudmigrator.com
- tracker.cloudm.io
- migratortracker-hrd.appspot.com
There is also the following to consider:
- SQL server runs on TCP 1433 and UDP 1434 - SQL server needs to be installed and set to TCP or UDP on the Primary/SQL Server. For information on setting the TCP to 1433, refer to this following article.
- Redis runs on port 6379
- gRPC on the below TCP ports. Note: It is possible to customise these ports when installing via Command Line using the instructions here: Installing / Upgrading from the Command Line
30061 (Primary Service)
30062 (Secondary Service)
30063 (Results Logs Service) - All of Google's API endpoints are listed here: https://support.google.com/a/answer/60764
- All Microsoft 365 URLs and IP address ranges are listed here: https://docs.microsoft.com/en-us/microsoft-365/enterprise/urls-and-ip-address-ranges?view=o365-worldwide
CloudM Migrate Hosted
CloudM Migrate Hosted makes migration as simple as possible. There are no system requirements or installation, you can simply access the Hosted migration platform and configurations are pre-provisioned. See here for more information.
Assess
This project migration guide is for M365 to M365 migrations and includes the following migration options:
- M365 to M365 migration
- Migration of mailbox and OneDrive/SharePoint data
- Migration of Microsoft Teams including
- Channels (Private and Public)
- Conversations
- Tabs (Office docs and Wiki)
- Planner tab and associated tasks
- Rehydration of users’ private 1:1 Teams chats
- The Migration mode ‘Teams Direct Migration’ feature is used to repopulate teams channels
- This feature allows you to recreate channels and rehydrate them with historic messages, but its limitation is the channels can only be migrated once, and cannot be seen by users until the migration is fully complete and makes them visible by finalising the Teams migration. Administrators will be able to see that Teams are created via the SharePoint Admin console.
- Client wishes for Documents and Planner attachments to be linked and mapped to the new document in the destination where referenced in conversations, chats and emails etc
Microsoft Teams Migration Planning and Prerequisites
Before starting the migration, you must go through the following steps to ensure migration success.
- The admin account used for the migration will be added to and able to see the chat messages in the destination, so it is recommended to use a dedicated service/migration admin account for the migration, specified in the destination admin account settings.
- It is recommended that you use a custom service/migration admin account in both your source and destination
- This should be a Global Administrator
- Modern authentication is the required auth method.
- Audit any Teams Private channels as these will require an additional migration pass at the end of the migration.
Migration Setup
Basic set-up
1. Source
Note - the following settings and information is also available in the Knowledge base: Microsoft 365 source configuration and Microsoft Teams Private Chat migration
Set the following in the CloudM Migrate Source Platform settings:
- Office / Microsoft 365 Plan - Select your Office 365 Plan, this will be “Office 365” in most cases. If you are migrating an Office 365 Germany or customer plan (e.g GCC High), select that.
- Domain Name - The domain name of the source tenant. This can be any domain, but recommended to use the primary domain name.
- Admin Username - The email address of a Global Administrator within your Microsoft 365 environment. Please note that Multi Factor Authentication must be disabled for the specified admin accounts when migrating Microsoft Teams.
- Admin Password - The password for the Global Administrator account specified earlier.
-
Test Username - a non-admin user who is already present in the system to test connections to ensure the Azure AD app has been created correctly.
- Specify the primary SMTP email address of the test user (or just the part before the @ symbol and the domain name will be appended). The test user must have an active mailbox.
- In advanced settings - Sharepoint Online, populate the Sharepoint Admin URL. The URL will look similar to https://tenant-admin.sharepoint.com.
- Select “Create the Azure AD application” to create the required app.
2. Destination
Set the following settings for the destination
- Office / Microsoft 365 Plan - Select your Office 365 Plan, this will be “Office 365” in most cases. If you are migrating an Office 365 Germany or customer plan (e.g GCC High), select that.
- Domain Name - The domain name of the source tenant. This can be any domain, but recommended to use the primary domain name.
- Admin Username - The email address of a global administrator within your Microsoft 365 environment. Multi Factor Authentication must be disabled for the specified admin accounts when migrating Microsoft Teams.
- Admin Password - The password for the global administrator account specified earlier.
-
Test Username - a non-admin user who is already present in the system to test connections.
- Specify a primary SMTP email address (or just the part before the @ symbol and the domain name will be appended). The test user must have an active mailbox.
- In advanced settings - Sharepoint Online, populate the Sharepoint Admin URL. The URL will look similar to https://tenant-admin.sharepoint.com.
- 1. Click create Azure AD application, one this has been created you should see the following additional information:
- 2. Click create Azure AD delegated applicated (for migration of Teams Private 1-1 chat)
- 3. Click consent delegated access (for migration of Teams Private 1-1 chat)
3. Add items to migrate
Next you must populate your userlist and create a batch for Teams migration. You can add all items from your M365 source by selecting the down arrow on Add items to migrate and then selecting ‘Get items from source’.
This will pull all users, groups, resources, public folders, Teams, SharePoint document libraries and add them to your items list.
If you are not migrating all items or need to manipulate the list, you can add a custom list of items using a CSV file, by selecting ‘Bulk add/import items’. This file should include all items of any type that you will be migrating.
Once your items are added, as Teams must be migrated with different config settings and approach, you should separate all the Teams into a separate batch. To do this:
- Filter the list by Export Type - Microsoft Team
- Select them using ‘Select All From filter’
- Select ‘Create Batch’, give your Teams config a name, and select ‘Delete migration items’ as the Batch Configuration Type, then click on ‘Create’
- This will create a new child config with all of your Teams populated, and remove them from your parent config.
Items will be migrated based on the orange ‘Migrate’ slider next to each line item. Each item type has different data types that can be migrated and these are enabled by editing and selecting the checkboxes as required.
4. General Migration Settings
This is where you can select the date range of objects to be migrated - see Migration Strategy below
5. Environment scan
Optional - this will provide you a summary of email and file usage in the source M365 tenant.
6. Configuration Summary
This will summarise the migration scope and date range filtering and allow you to schedule a start date/time or perform the migration right away, by clicking on ‘Start’.
If you click on the ‘Projects’ button on the left you will be taken to the Dashboard, from here you can select the Parent Config and you will see the separate Teams config as a child config of the parent config.
You can move back to any step and make configuration changes at any stage in either config before you commit the migration by starting it.
Migration strategy workflow
Firstly, we recommend running a bulk migration that includes all data older than 30 days old. This allows for the bulk of the older, more static data to be moved across, then a quicker, delta migration can be run when you wish to cut users over to the destination when you perform a subsequent migration with amended date range filtering.
Step 1 - Mailbox, OneDrive and SharePoint Bulk Migration
In the Parent configuration:
Firstly migrate all your historic mailbox, OneDrive and SharePoint data, ensuring that the ‘Record Document Mappings’ setting is enabled in your parent config. Enable ‘Record Document Mappings’ in the Reporting section of 4-Config Settings/General Migration Settings in the Advanced Settings drop down at the bottom of the page.
Set the date range you want to do the bulk migration up to in the Config Settings tab, under general migration settings.
Start migration on the Summary page.
Step 2 - Teams Creation & File Migration
In the ‘Teams’ configuration:
In this pass all Teams will be created and conversations and file data of the Teams migrated. To ensure the channel tabs and planner migrate successfully this must be done first.
- In the 1 - Source Platform ‘Advanced Settings/Microsoft Teams/Groups’ of your Teams config, enable ‘Teams Direct Migration’, and ensure the ‘Teams Chat API licensing model’ is set to model B. For more information see this MSFT KB.
- Ensure ‘Migrate Teams Planner’ or ‘Migrate Teams Channel Tabs’ are NOT enabled
- In 2 - Destination, check you have ‘Create Office 365 Group’ enabled under Advanced Settings/Microsoft Teams/Groups.
- In 3 - Add Items to Migrate: Select all your Teams for migration, with the ‘Drive’ and ‘Conversations’ checkboxes from your Teams config items list checked. You can also migrate mail and calendar data in this pass if required (note: this migrates any email and calendar items from the Team’s associated M365 Group to the destination Teams associated M365 Group)
- In 4- General Migration Settings enable the email domain replacement setting, to ensure that the assigned Planner tasks can be migrated if required. This setting can be found under Advanced Settings, Domain Replacement.
- Also ensure that the ‘Record Document Mappings’ setting is enabled, under Advanced Settings, Reporting.
- Start the migration via the Configuration Summary page
- It is recommended to wait at least 2 hours before performing another migration pass on Teams to allow provisioning and propagation to occur in M365.
- Add in Address Replacements if user name syntax is changing between source and destination to ensure correct membership assignment.
Step 3 - Mailbox, OneDrive, SharePoint, Teams Private 1-1 Chat
In the parent configuration:
- We now need to repeat the same steps we did for the first bulk migration, but for the shorter date range of the Delta migration. Include any contacts and calendar you need to migrate, in addition to Mailbox and OneDrive by selecting those options in ‘4 - Items to Migrate’
- Set the date range you want to do the delta migration up to in the Config Settings tab, under General Migration Settings.
- Finally, to rehydrate private 1:1 Teams chats for users so they see the last 10 messages from the source teams chats in their destination Teams chats, you need to enable the “Rehydrate Teams Private Chats” setting
- This setting can be found on the Destination platform tab, under Advanced settings, Microsoft Teams/Groups
- On the 4 - Config Settings screen, select Advanced Settings > Email > Private Chat Top Level Folder and enter a name for the folder that all the user's Private Chats will be displayed in within Outlook. All users Teams 1:1 chat messages will be populated here along with chat messages being rehydrated directly into Teams.
- Start the migration on the Summary page.
Step 4 - Teams delta migration, tabs, planner
In the ‘Teams’ configuration:
- In this pass, a delta will be run on all Teams files, conversations and (optionally) mail and calendar, as well as tabs and planner.
- In the Source Platform advanced settings of your Teams config, ensure ‘Teams Direct Migration’ is still enabled, ‘Finalize Teams Direct Migration’ is enabled, and ensure the ‘Teams Chat API licensing model’ is set to 'Model B' or 'None' (can be used for up to 500 chat messages).
- Enable ‘’Migrate Teams Channel Tabs’ and ‘Migrate Teams Planner’.
Your settings should look like this:
- In 3- Add Items to Migrate, select all your Teams, and all checkboxes.
- Start the migration on the Summary page.
Step 5 - (Optional) Private Channel Migration
In order to migrate Teams conversations to the Team, Teams ‘Direct Migration Mode’ must be enabled. However, private channels cannot be migrated when Teams are in migration mode. Therefore, a final pass must be run after migration mode is finalized and the destination Teams are active in order to migrate private channels.
- In the 1-Source Platform advanced settings of your Teams config disable the ‘Teams Direct Migration’, ‘Finalize Teams Direct Migration’, ‘Migrate Teams Planner’, and ‘Migrate Teams Channel Tabs’ settings.
- In the items list, select all your Teams, and the ‘Drive’ and ‘Conversations’ checkboxes.
- Run your final migration pass on the Summary page.