企业管理 > 文件存储和复制 > 文件存储 > 使用外部文件电子仓库 > 配置 Windchill 文件电子仓库以使用 Amazon S3 > 到 Amazon S3 的电子仓库迁移
  
到 Amazon S3 的电子仓库迁移
本节介绍如何将现有的基于文件的电子仓库迁移到 Amazon S3。有关如何设置 Amazon S3 云配置的信息,请参阅主题将 Windchill 文件电子仓库配置为使用 Amazon S3。以下工作流说明了如何一次迁移一个电子仓库。此过程适用于所有类型的电子仓库 (即主电子仓库、副本电子仓库或缓存电子仓库) 以及主服务器和文件服务器站点上的电子仓库。仅当 Automatic folder creation 标志设置为 true 时,此过程才适用于电子仓库。
如上图所示,迁移电子仓库的过程分为四个顶级步骤。所有这些步骤都提供有示例。为了便于解释迁移过程,以下过程基于某个示例场景,其中 defaultuploadrootfolder 是根文件夹名称,安装路径为:
准备迁移系统
执行以下步骤来完成准备工作,例如执行重新存储、同步和移除未引用文件,以及将根文件夹标记为只读。
1. 如果电子仓库为主电子仓库,则将针对电子仓库运行重新存储排程。
2. 如果电子仓库为副本电子仓库,则将针对电子仓库取消并禁用内容复制排程。
3. 通过 JMX 客户端 (如 JConsole),执行 CacheVaultSynchronizer MBean sysForceSync 操作。
4. 针对电子仓库执行“移除未引用文件”“定义内容清理规则” > “立即执行清理”操作,从而仅将有效内容迁移到 Amazon S3。
5. 如果要在移动到电子仓库时保留内容,则创建一个新的根文件夹并将其安装在 Amazon S3 上。有关详细信息,请参阅主题将 Windchill 文件电子仓库配置使用 Amazon S3
6. 运行以下命令以将电子仓库设置为 Automatic Folder Creation
windchill wt.fv.tools.FolderToRootFolderConverter
7. 从电子仓库配置用户界面将您计划迁移的基于文件的根文件夹设置为 READ_ONLY。这样可确保在迁移内容时,不会将新内容上载到基于文件的根文件夹。
从源系统复制内容。
执行以下步骤将内容从源系统复制到目标系统,例如,将内容从文件系统复制到目标 Amazon S3 系统。
将文件系统上对应于根文件夹的目录结构复制到 Amazon S3。
如果要复制 EC2 实例的根文件夹内容,请使用 Amazon 命令行工具 (awscli)。例如,
aws s3 cp C:\PTC\Windchill\vaults\defaultuploadvault
s3://Testbucket/defaultuploadvault-–recursive
在复制目录结构时,从下列位置指定加密选项。
选项 ‘--sse’ 使用 AES256 对内容加密。
选项 ‘--sse amws:kms’ 使用默认的 AWS KMS 密钥 ID 进行加密。
选项 ‘--sse aws:kms --sse-kms-key-id <keyid>’ 使用指定的 Keyid 进行加密。
有关 Amazon 命令行工具的详细信息,请参阅 https://aws.amazon.com/getting-started/tutorials/backup-to-s3-cli/http://docs.aws.amazon.com/cli/latest/reference/s3/cp.html
如果要从本地复制电子仓库内容,可使用 Amazon Snowball。有关详细信息,请参阅主题使用 Amazon Snowball 将数据传输到 Amazon Web Service S3
验证复制的内容
需要执行此步骤以确保上一步复制内容成功且准确。
* 
在验证复制的内容之前,请通过在 Windchill shell 中运行以下命令来配置 Amazon S3 云服务:windchill com.ptc.windchill.objectstorage.amazons3.tools.S3ConfigurationTool configure -u <username> -p <password>
1. 运行数据验证实用程序 DataMigrationVerificationTool,以在 Amazon S3 上声明复制的内容。此工具可用于比较现有电子仓库的内容与 Amazon S3 上的文件结构。您可以在主 Windchill 上运行该工具,也可以远程安装。从 Windchill shell 运行以下命令:
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool validateMigratedData -r <srcRootFolderName> -t <targetMountType> -m <targetMountPath> -u <userName> -p <password>
要获得帮助,请带 -h 参数运行该工具。以下是可选参数:-f <srcSubFolderName>-s <skipSizeValidation>-h <Help>
2. 执行时,该工具提供报告的保存位置。在此报告中,您可以查看所有缺失文件的列表或每个文件夹文件大小不匹配的相关信息。报告总是在主安装时生成。您可以通过指定 --rootFolderName--folderName 来选择运行整个根文件夹验证或仅选定子文件夹验证。可以通过添加 --skipSizeValidation 跳过执行文件大小验证。
例如:
要验证名为 defaultuploadrootfolder 的根文件夹中的所有数据:
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool validateMigratedData -r defaultuploadrootfolder -t amazonS3 -m Testbucket/defaultuploadvault -u userName -p password
更新安装
* 
在更新安装之前,请通过在 Windchill shell 中运行以下命令来配置 Amazon S3 云服务:windchill com.ptc.windchill.objectstorage.amazons3.tools.S3ConfigurationTool configure -u <username> -p <password>
更新安装时,系统开始使用目标系统中的内容。执行下列步骤来更新安装:
1. 从 Windchill shell 运行以下命令来更改所有根文件夹的安装类型和安装路径:
windchill wt.fv.tools.datamigration.MountMigrationTool migrate -r <rootFolderName> -t <newMountType> -m <newMountPath> -u <userName> -p <password>
要获得帮助,请带 -h 参数运行该工具。以下是可选参数:-v <verbose>-h <Help>
例如:
windchill wt.fv.tools.datamigration.MountMigrationTool migrate -r defaultuploadrootfolder -t amazonS3 -m Testbucket/defaultuploadvault -u <username> -p <password>
或者,可以取消安装根文件夹,然后从电子仓库配置用户界面为 Amazon S3 安装根文件夹。但是,在从用户界面执行这些操作时,最终用户可能无法访问根文件夹中的内容。
2. 从电子仓库配置用户界面移除根文件夹 READ_ONLY 标志。在“准备迁移系统”一节中新创建的根文件夹可能包含不需要在此电子仓库迁移过程中从根文件夹移出的文件。
3. 在执行电子仓库迁移过程之后,重新建立重新存储和内容复制排程,然后配置特性 wt.fv.faultTolerantVaultsAutoRestore
命令汇总
windchill wt.fv.tools.FolderToRootFolderConverter
aws s3 cp C:\PTC\Windchill\vaults\defaultuploadvault s3://Testbucket/defaultuploadvault –recursive
snowball.bat start -i <ip address> -u <unlock code> -m <manifest file path>
snowball.bat ls
snowball.bat test -r <vault mount path on host machine>
snowball.bat mkdir s3://<bucketname>/<vaultname>
snowball.bat cp -r <path to vault> s3://<bucketname>/<vaultname>
snowball.bat validate <path on Amazon Snowball>
snowball.bat stop
windchill com.ptc.windchill.objectstorage.amazons3.tools.S3ConfigurationTool configure -u <username> -p <password>
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool validateMigratedData -r <srcRootFolderName> -t <targetMountType> -m <targetMountPath> -u <userName> -p <password>
windchill wt.fv.tools.datamigration.MountMigrationTool migrate -r defaultuploadrootfolder -t amazonS3 -m Testbucket/defaultuploadvault -u <userName> -p <password>