Dies ist der zweite Teil der Exchange 2013 zu Exchange 2016 Migration. Der erste Teil findet sich hier:
Nachdem wir also jetzt 2 funktionsfähige Exchange Server haben, ist nun die Migration der Daten an der Reihe.
Migration der Öffentlichen Ordner
Zuerst ist die Migration der öffentlichen Ordner an der Riehe. Im Gegensatz zu Exchange 2010 und früher ist die Öffentliche Ordner Migration von Exchange 2013 zu Exchange 2016 ein Kinderspiel. Wer keine Öffentlichen Ordner einsetzt, kann diesen Teil überspringen und direkt mit der Migration der Postfächer weitermachen.
Auf dem Exchange 2013 Server gibt es ein Postfach für Öffentliche Ordner
dieses Postfach enthält ein paar Öffentliche Ordner:
Um die Öffentlichen Ordner zu migrieren, muss nur das Postfach für die Öffentlichen Ordner in die Exchange 2016 Datenbank verschoben werden. Per Exchange Management Shell geht das schnell von der Hand:
Get-Mailbox -PublicFolder | New-MoveRequest -TargetDatabase DB2016
Der Status lässt sich ebenfalls mittels Shell abfragen:
Get-MoveRequest
Je nach Größe der Öffentlichen Ordner, kann das natürlich mal etwas dauern. Mit dem folgenden Befehl lässt sich noch kontrollieren, in welcher Datenbank die Postfächer für Öffentliche Ordner gespeichert sind:
Get-Mailbox -PublicFolder | ft name,alias,servername,database
Das war auch schon alles. Keine Replikation der Ordner mehr einrichten, nur noch Öffentliche Ordner Postfach verschieben. Herrlich.
Migration der Postfächer
Bevor die Postfächer verschoben werden, muss das Offlineadressbuch der Exchange 2016 Datenbank zugewiesen werden:
Der Einfachheit halber nehme ich in einem Rutsch alle Postfächer mit, Inklusive Systempostfächer. Hier kann aber jeder selbst entscheiden, zu welchen Zeitpunkten welche Benutzer verschoben werden.
In nächsten Schritt muss nur ein Name vergeben und die Zieldatenbank angegeben werden:
Im letzten Dialog lässt sich steuern, wann das Umschalten auf die neue Datenbank erfolgen soll, entweder direkt nach dem Verschieben, oder zu einem wählbaren Zeitpunkt:
Der Migrationsbatch wurde erstellt, also Warten bis das Verschieben fertig ist:
Irgendwann ist es dann geschafft
Übrigens: Kann sich noch jemand an diese Meldung erinnern? Gehört der Vergangenheit an, kein Neustart nötig.
Im dritten und letzten Teil wird dann die Umgebung bereinigt und Exchange 2013 deinstalliert. Coming soon.
Update: Der dritte Teil findet sich unter folgendem Link:
https://www.frankysweb.de/howto-migration-von-exchange-2013-zu-exchange-2016-teil-3/
Vielleicht hab ich es ja überlesen…
2 Tipps
Ich setze immer bei den Datenbanken vor der Migration
1. unter „Wartung“ Umlaufprotokollierung aktiv (dadurch wird der Log Ordner nicht so vollgeballert, was vor allem bei virtuellen Umgebungen ganz gut ist
2. unter „Grenzwerte“ setze alle Parameter auf unlimited. Die sind auf 2GB vor eingestellt und die Migration eines Postfachs läuft nicht durch, wenn das Limit erreicht ist.
Nach der Migration die Umlaufprotokollierung wieder ausschalten, das ist für die Performance besser.
Grenzwerte nach belieben. Ich halts da wie bei M 365. 50GB. „Senden und Empfangen verbieten“ im auf unlimited – außer man hat ne schriftliche Anweisung vom Kunden…
Hi Rainer,
Ja den Punkt 1. hätte ich auch machen sollen, nun hab ich in der VM wieder 2 große Platten weil mir C: vollgelaufen ist.
Aber demnächst kommt die DAG, dann verschwindet das wieder nach den Migrationen.
LG
PS: 2. isn guter Tipp danke
Hallo Frank,
du schreibst in deiner Anleitung ganz zum Schluss, dass die Meldung in Outlook der Vergangenheit angehört. In meinem Test bekomme ich diese aber angezeigt. Migration von Exchange 2013 nach 2016, Outlook 2016. Gibt es irgendwelche Voraussetzungen, die erfüllt werden müssen?
Hi Frank,
ich hab das gleiche Problem wie Paul im Post vor mir. Die Meldung mit dem Outlook-Neustart kommt immer noch. Warum?
Gruß
Brilo
Hallo Frank,
Super Anleitung Danke dafür. Ich habe auch so ein Problem das sich die Postfächer nicht migrieren lassen.
Von Exchange 2007 auf 2013 kein Problem. Aber von 2013 auf 2016 steht die Migration immer auf Synchronisierung.
Die Ausgabe von Get-MoveRequest ist leer. So als wenn die Migration nicht laufen würde. Das zu migrierende Postfach enthält nur ein paar Mails ist kein produktives System. Daher kann es auch nicht solange dauern. Was kann ich hier noch tun bzw. welche Commandlets helfen bei der Fehlersuche?
Gruß
Andreas
Hallo Andreas,
hast du das Migrationspostfach bereits verschoben?
Gruß, Frank
Hallo Frank,
Ist das Migrationspostfach die Voraussetzung? Nein ich habe gleich mit den Benutzern angefangen. Habe es eigentlich so gemacht wie bei Exchange 2013 auch. Was muss ich denn hier tun? Habe auch nichts vom Migrationspostfach gelesen.
Gruß
Andreas
Hallo Andreas,
es gibt ein Systempostfach mit dem Namen „Migration…“ dies musst du zuerst auf den Exchange 2016 Server verschieben, dann sollten sich auch die Benutzerpostfächer verschieben lassen.
Gruß, Frank
Hallo Frank,
Nachdem ich es gestern noch ein paar mal über das ECP versucht habe – vergeblich. Habe ich mit dem folgenden Befehl auf der Exchange Powershell die Postfächer erfolgreich migrieren können.
Get-Mailbox -Database „DB01“ | New-MoveRequest -TargetDatabase „DB02“ -BatchName „DB01toDB02“
Danke für die Unterstützung
Gruß
Andreas
Vielleicht sollte man noch erwähnen – Bei großen Datenbanken die Umlaufprotokollierung beachten.
Sonst läuft die Daten-Partition voll.. ;-)
Ja der Hinweis sollte FETT in ROT dastehen. Habe meine Log Partition mehrfach vergrößern müssen. ;) und wir haben „nur“ 1 DB mit 750GB + 1 PF DB mit 150GB.
Hallo Frank,
ich hab es nun bei einem Postfach, das sich mit dem Migrarationsassistenten nicht verschieben lässt, mit New-MoceRequest versucht und da funktioniert es. Werde eben nun die Postfächer mit der Powershell verschieben.
Gruß Ernst
Hallo Frank,
danke für deine rasche Antwort. Komme aber erst jetzt dazu zu antworten. Ich hab hier die Ausgaben für einen Benutzer, bei dem die Migration von 2007 auf 2013 funktioniert hat, aber bei der Migration von 103 auf 2016 einfach nichts passiert. Der Versuch erscheint auch nicht in den Ausgaben.
Get-MoveRequest
RunspaceId : cefc90b9-c327-465f-8116-4303687a2924
ExchangeGuid : 05f66854-323a-4e3c-9de3-435ac4eb56b8
SourceDatabase :
TargetDatabase : db
SourceArchiveDatabase :
TargetArchiveDatabase :
Flags : IntraOrg, Pull
RemoteHostName :
BatchName : MigrationService:Migration2
Status : Completed
RequestStyle : IntraOrg
Direction : Pull
IsOffline : False
Protect : False
Suspend : False
SuspendWhenReadyToComplete : False
Alias : David
ExtensionCustomAttribute1 : {}
ExtensionCustomAttribute2 : {}
ExtensionCustomAttribute3 : {}
ExtensionCustomAttribute4 : {}
ExtensionCustomAttribute5 : {}
DisplayName : David
ExternalDirectoryObjectId :
LastExchangeChangedTime :
RecipientType : UserMailbox
RecipientTypeDetails : UserMailbox
Identity : myDomain.local/MyBusiness/Users/SBSUsers/David
IsValid : True
ExchangeVersion : 0.20 (15.0.0.0)
Name : David
DistinguishedName : CN=David,OU=SBSUsers,OU=Users,OU=MyBusiness,DC=dbGmbH,DC=local
Guid : 6906efd4-70fa-4392-9d17-bc27b15dc8a1
OrganizationId :
Id : myDomain.local/MyBusiness/Users/SBSUsers/David
OriginatingServer : Server01-DC.myDomain.local
ObjectState : Changed
Get-MoveRequest | Get-MoveReqestStatistics
RunspaceId : f020deb9-e30e-405a-aca9-e8c82923a7eb
MailboxIdentity : myDomain.local/MyBusiness/Users/SBSUsers/David
DistinguishedName : CN=David,OU=SBSUsers,OU=Users,OU=MyBusiness,DC=dbGmbH,DC=local
DisplayName : David
Alias : David
ExchangeGuid : 05f66854-323a-4e3c-9de3-435ac4eb56b8
ArchiveGuid :
Status : Completed
StatusDetail : None
SyncStage : SyncFinished
Flags : IntraOrg, Pull
RequestStyle : IntraOrg
Direction : Pull
IsOffline : False
Protect : False
DoNotPreserveMailboxSignature : True
Priority : Normal
WorkloadType : Local
Suspend : False
SuspendWhenReadyToComplete : False
IgnoreRuleLimitErrors : False
RecipientTypeDetails : UserMailbox
SourceVersion : Version 8.3 (Build 516.0)
SourceDatabase : W2K8\First Storage Group\Mailbox Database
SourceServer : W2K8.myDomain.local
TargetVersion : Version 15.0 (Build 1263.0)
TargetDatabase : db
TargetServer : SRVEX2K13.myDomain.local
SourceArchiveDatabase :
SourceArchiveVersion :
SourceArchiveServer :
TargetArchiveDatabase :
TargetArchiveVersion :
TargetArchiveServer :
RemoteHostName :
RemoteGlobalCatalog :
BatchName : MigrationService:Migration2
StartAfter :
CompleteAfter :
EffectiveIncrementalSyncInterval : 00:15:00
ConfiguredIncrementalSyncInterval :
RemoteCredentialUsername :
RemoteDatabaseName :
RemoteDatabaseGuid :
RemoteArchiveDatabaseName :
RemoteArchiveDatabaseGuid :
TargetDeliveryDomain :
ArchiveDomain :
BadItemLimit : 10
BadItemsEncountered : 1
LargeItemLimit : 0
LargeItemsEncountered : 0
AllowLargeItems : True
QueuedTimestamp :
StartTimestamp :
LastUpdateTimestamp :
LastSuccessfulSyncTimestamp :
InitialSeedingCompletedTimestamp :
FinalSyncTimestamp :
CompletionTimestamp :
SuspendedTimestamp :
OverallDuration : 00:00:00
TotalSuspendedDuration : 00:00:00
TotalFailedDuration : 00:00:00
TotalQueuedDuration : 00:00:00
TotalInProgressDuration : 00:00:00
TotalStalledDueToContentIndexingDuration : 00:00:00
TotalStalledDueToMdbReplicationDuration : 00:00:00
TotalStalledDueToMailboxLockedDuration : 00:00:00
TotalStalledDueToReadThrottle : 00:00:00
TotalStalledDueToWriteThrottle : 00:00:00
TotalStalledDueToReadCpu : 00:00:00
TotalStalledDueToWriteCpu : 00:00:00
TotalStalledDueToReadUnknown : 00:00:00
TotalStalledDueToWriteUnknown : 00:00:00
TotalTransientFailureDuration : 00:00:00
TotalIdleDuration : 00:00:00
MRSServerName : SRVEX2K13.myDomain.local
TotalMailboxSize : 17.84 GB (19,158,568,745 bytes)
TotalMailboxItemCount : 43182
TotalArchiveSize :
TotalArchiveItemCount :
BytesTransferred : 18.05 GB (19,379,583,969 bytes)
BytesTransferredPerMinute : 0 B (0 bytes)
ItemsTransferred : 43102
PercentComplete : 100
CompletedRequestAgeLimit : 7.00:00:00
PositionInQueue :
InternalFlags : SkipFolderPromotedProperties
FailureCode :
FailureType :
FailureSide :
Message :
FailureTimestamp :
IsValid : True
ValidationMessage :
RequestGuid : 8999ac7d-c6da-4688-8ab0-a2bc8b8cada6
RequestQueue : db
MigrationMailboxGuid :
SourceEndpointGuid :
Identity : myDomain.local/MyBusiness/Users/SBSUsers/David
DiagnosticInfo :
Report :
LastFailure :
RequestExpiryTimestamp : 31.12.9999 23:59:59
ObjectState : New
Gruß Ernst
Hallo Frank,
danke für die tollen Anleitungen. Ich habe bei der Migration von 2013 auf 2016 folgendes Problem:
Es wurde zuerst eine Migration auf von 2007 auf 2013 (Postfächer und öffentliche Ordner) gemacht, hat ohne Probleme funktioniert. Nach Prüfung ob alles rund läuft, wurde der Exchange 2007 entfernt. Der Exchange 2013 läuft immer noch ohne Probleme.Nun habe ich am Wochenende eine Migration von 2013 auf 207 gemacht. Die öffentlichen Ordner wurden problemlos migriert. Wenn ich aber Postfächer migriere passiert nichts Bei der Ersten Übername wurden alle finalisiert. Wenn ich aber ein Systemkonto migriere, welches bei der Installation von 2013 angelegt wird, wird dieses migriert. Bei den Konten, die nicht gehen ist bei Gesamt zuerst eine Zahl, nach kurzer Zeit ist hier aber wieder eine 0.
Wo könnte hier der Fehler liegen?
Gruß Ernst
Hallo Ernst,
so aus dem Stehgreif kann ich das nicht beantworten, der Moverequest müsste aber Aufschluss geben:
get-moverequest | fl
get-moverequest | Get-MoveRequestStatistics | fl
Gruß, Frank
Hallo!
Der Link zum Teil 3 fehlt hier noch. https://www.frankysweb.de/howto-migration-von-exchange-2013-zu-exchange-2016-teil-3/
LG
Hi,
vielen Dank für den Hinweis. Habe den Link im Artikel ergänzt.
Gruß, Frnak