HowTo: Migration von Exchange 2013 zu Exchange 2016 (Teil 2)

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

Migration Öffentliche Ordner

dieses Postfach enthält ein paar Öffentliche Ordner:

Migration Ö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

Veschieben

Der Status lässt sich ebenfalls mittels Shell abfragen:

Get-MoveRequest

Status

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

Kontrolle

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:

Offline Adressbuch

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.

Postfächer verschieben

In nächsten Schritt muss nur ein Name vergeben und die Zieldatenbank angegeben werden:

Postfächer verschieben

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:

Postfächer verschieben

Der Migrationsbatch wurde erstellt, also Warten bis das Verschieben fertig ist:

Migrationsbatch

Irgendwann ist es dann geschafft

image

Übrigens: Kann sich noch jemand an diese Meldung erinnern? Gehört der Vergangenheit an, kein Neustart nötig.

image

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/

17 thoughts on “HowTo: Migration von Exchange 2013 zu Exchange 2016 (Teil 2)”

  1. 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…

    Reply
    • 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

      Reply
  2. 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?

    Reply
    • 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

      Reply
  3. 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

    Reply
      • 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

        Reply
        • 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

  4. Vielleicht sollte man noch erwähnen – Bei großen Datenbanken die Umlaufprotokollierung beachten.

    Sonst läuft die Daten-Partition voll.. ;-)

    Reply
    • 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.

      Reply
  5. 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

    Reply
  6. 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

    Reply
  7. 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

    Reply
    • 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

      Reply

Leave a Comment