Les étapes pour migrer Trillium Repository 15.x vers Trillium 17.2 sur la plateforme Windows sont les suivantes.
-
Exportez les fichiers de la base de donnée Berkeley et les fichiers du projet TSQ du référentiel vers un emplacement partagé.
Utilisez l'utilitaire db_dump.exe qui se trouve dans <installation path>/bin pour exporter les fichiers. L'instance cible accède à ces fichiers qui sont ensuite fusionnés dans un nouveau référentiel.Utilisez le script PowerShell suivant pour exporter le référentiel.Conseil : Enregistrez l'extrait de code ci-dessous dans un fichier avec les autorisations d'exécution, mettez à jour les parties pertinentes du code avec le répertoire où TSS est installé, l'emplacement du référentiel, l'emplacement d'exportation, puis exécutez le code.
Function Write-Log { [CmdletBinding()] Param ( $Message ) Process { Write-Host $Message } } Write-Host "Berkley DB Repository Exporter." Write-Warning "Run this script as Administrator" Write-Warning "Log off from the Repository Manager, Control Center, Admin Center and Discovery Center before continue" Write-Warning "Stop TSS 15 services before continue" # v15.x installation dir $installDir="C:\Program Files (x86)\Trillium Software\MBSW\15" # repository location $repositoryDir="C:\ProgramData\Trillium Software\MBSW\15\Data" # export location $exportDir="<shared location>" Write-Host "Install Directory: $installDir" Write-Host "Repository Directory: $repositoryDir" Write-Host "Export Location: $exportDir" pause $dbdumpUtil=$installDir + "\bin\db_dump.exe" if (-not(Test-Path -Path $dbdumpUtil -PathType Leaf)) { Write-Warning "Berksley DB Dump Utility not found at $dbdumpUtil!" exit 1 } Write-Log "Preparing Export location..." if (-not(Test-Path -Path $exportDir)) { [void](mkdir $exportDir) } if (-not(Test-Path -Path $exportDir\metabase)) { [void](New-Item -Path $exportDir -Name "metabase" -ItemType "directory") } # TODO metabase dir is not empty if (-not(Test-Path -Path $exportDir\EXPORTED)) { New-Item -Path $exportDir -Name "EXPORTED" -ItemType "file" } Write-Log "Finding Repository DB files..." # find database table files (ends with .bdb, .mta, .ndx, .nta) $files = Get-ChildItem $repositoryDir\metabase -recurse | where {$_.name -match ".*?.bdb|.*?.mta|.*?.ndx|.*?.nta"} foreach($file in $files){ # check filesize if ($file.Length -gt 0kb) { $dumpPath = $file.FullName $dumpPath = $dumpPath.replace($repositoryDir, $exportDir) if (-not(Test-Path -Path (Split-Path $dumpPath))) { [void](mkdir -p (Split-Path $dumpPath)) } Write-Log "Dumping $($file.Fullname) to $dumpPath" # execute utility to dump & $dbdumpUtil -f $dumpPath $file.FullName } } Write-Log "Finding Non Database (TSQ Projects) files..." $files = Get-ChildItem $repositoryDir\metabase -recurse | where-object {$_.name -NotMatch ".*?.bdb|.*?.mta|.*?.ndx|.*?.nta"} foreach($file in $files){ # if directory then ignore if (Test-Path -Path $file.FullName -PathType Container) { continue } # check filesize if ($file.Length -gt 0kb) { $dumpPath = $file.FullName $dumpPath = $dumpPath.replace($repositoryDir, $exportDir) if (-not(Test-Path -Path (Split-Path $dumpPath))) { [void](mkdir -p (Split-Path $dumpPath)) } Write-Log "Copying $($file.Fullname) to $dumpPath" Copy-Item $file.Fullname -Destination (Split-Path $dumpPath) -Force } } Write-Log "Done."
- Exécutez les étapes Migration de Linux vers Windows pour la migration de la plateforme Linux vers la plateforme Windows.
-
Procédez comme suit pour migrer le référentiel
Avant de migrer le référentiel, il est recommandé de sauvegarder l'état initial du serveur de référentiel TSS.Conseil : Installez le serveur de référentiel TSS avec un référentiel non chiffré. Le référentiel chiffré n'est pas pris en charge pour la migration entre plateformes.
- Installez le serveur de référentiel TSS comme nouvelle installation.
-
Supprimez manuellement les répertoires appropriés avant d'intégrer le contenu de l'ancien référentiel dans la nouvelle installation.
- Supprimez le répertoire de la métabase du dossier des données du référentiel.
- Supprimez le répertoire de la métabase du dossier des métadonnées du référentiel.
- Supprimer le contenu du répertoire des projets TSQAvertissement : Le répertoire des métadonnées ne s'applique qu'aux utilisateurs qui disposent d'un référentiel fractionné. Les utilisateurs dont le référentiel n'est pas fractionné n'auront qu'un seul répertoire.
-
Exécutez la commande Copy pour consommer l'ancien référentiel.
Pour suivre l'avancement et observer les journaux dans logs/mtb_server.log
- cd <server>/metabase/bin
- mtb_admin -user <bootuser> -password <bootuserpassword> -copy source <shared data directory> sourceMetadata <shared metadata directory> sourceTSQDir <shared TSQ projects location> sourceVersion <source version>
-
Exécutez la commande Convert pour mettre à jour le référentiel, afin qu'il soit compatible avec la nouvelle version.
Pour comprendre l'avancement et l'observation des journaux dans logs/mtb_server.log
- cd <server>/metabase/bin
- mtb_admin -user <bootuser> -password <bootuserpassword> -metabase _control -convert
Utilisez le code suivant pour migrer le serveur de référentiel :Conseil : Enregistrez l'extrait de code ci-dessous dans un fichier avec les autorisations d'exécution, mettez à jour les parties pertinentes du code avec le répertoire où TSS est installé, l'emplacement du référentiel, l'emplacement d'exportation, puis exécutez le code.Function Write-Log { [CmdletBinding()] Param ( $Message ) Process { Write-Host $Message } } # v17.2.x installation dir $installDir="C:\Program Files\Trillium Software\MBSW\17" # boot user credentials $bootuser="bob " $bootuserpw="p" # version of exported repository $version="15.7.4" # exported location $exportDir="<shared location>" $backup = 1 $scriptDir=(Get-Location) Write-Log "Import BerkleyDB Repository!" Write-Warning "Run this script as Administrator" Write-Warning "Log off from the Repository Manager, Control Center, Admin Center and Discovery Center before continue" Write-Warning "Stop TSS 17 services before continue" Write-Log "Install Directory: $installDir" Write-Log "Logging in as: $bootuser" Write-Log "Source Version: $version" Write-Log "Exported Location: $exportDir" $binFolder=${installDir} + "\bin" if (-not(Test-Path -Path $binFolder -PathType Container)) { Write-Log "Server folder not found at $installDir!" exit 1 } # checking EXPORTED flag if (-not(Test-Path -Path $exportDir\EXPORTED -PathType Leaf)) { Write-Log "Exported folder not formed correctly. $exportDir" exit 1 } cd $binFolder Write-Log "" Write-Log "Extracting installation properties.." $encryption=(Get-Content "..\etc\registry.txt" | Select-String 'value encryption-key(.+)$') $encryption="$encryption".replace("value encryption-key", "").replace(" ", "") if ($encryption -ne "0") { Write-Warning "Not yet Supported for migration! System is configured to encryption at REST" Write-Log "Please keep a note and change the encryption-key to '0'" exit 1 } $system=(Get-ItemProperty -Path "HKLM:\SOFTWARE\Trillium Software\MBSW\17\config\system") $dataDir=$system.data $metadataDir=$system.metadata $tsqProject=$system.tsqprojects Write-Log "Data Directory: $dataDir" Write-Log "Metadata Directory: $metadataDir" Write-Log "TSQ Projects: $tsqProject" Write-Log "" Write-Log "Cleaning up the repositories for importing..." # backup if (Test-Path -Path $dataDir\metabase -PathType Container) { if ($backup) { Copy-Item $dataDir\metabase -Destination $dataDir\metabase_bak -recurse -force } # remove Remove-Item $dataDir\metabase -Recurse -Force } # ignore this if datadir and metadatadir are same if ($dataDir -ne $metadataDir) { if (Test-Path -Path $metadataDir\metabase -PathType Container) { if ($backup) { Copy-Item $metadataDir\metabase -Destination $metadataDir\metabase_bak -recurse -force } Remove-Item $metadataDir\metabase -Recurse -Force } } # backup if (Test-Path -Path $metadataDir\metabase -PathType Container) { if ($backup) { Copy-Item $tsqProject -Destination ${tsqProject}_bak -recurse -force } Remove-Item $tsqProject\* -Recurse -Force } Write-Log "" Write-Log "Starting importing repository (-copy)..." Start-Process -NoNewWindow -Wait -FilePath "$binFolder\mtb_admin.exe" -ArgumentList "-user", $bootuser, "-password", $bootuserpw, "-copy", "sourceVersion $version source $exportDir" Write-Log "" Write-Log "Updating repository (-convert)..." Start-Process -NoNewWindow -Wait -FilePath "$binFolder\mtb_admin.exe" -ArgumentList "-user $bootuser -password $bootuserpw -metabase _control -convert" Write-Log "Done" cd $scriptDir
-
Démarrez l'ordonnanceur et le serveur Web.
Remarque : Le chemin partagé utilisé pour l'exportation de l'ancien référentiel peut être supprimé une fois que la consommation est réussie et vérifiée.La migration du serveur de référentiel a abouti.Important : Une fois que la migration entre plateformes est terminée :
- Activez la licence.
- Redéfinissez les répertoires des tables d'adresses postales. La version 15.7.4 utilise un répertoire 32 bits, et la version 17.0 et les versions ultérieures utilisent un répertoire 64 bits.
- Mettez à jour les fichiers de configuration config.txt, gaserver.ini, config.js. Ces fichiers ne sont pas migrés depuis les anciennes versions.