Amazon S3 的儲存庫移轉
本節說明如何將現有檔案型儲存庫移轉至 Amazon S3。如需有關如何設定 Amazon S3 雲組態的資訊,請參閱主題
將 Windchill 檔案儲存庫配置為使用 Amazon S3。下列工作流程說明如何一次移轉單一儲存庫。此流程適用於所有類型的儲存庫,即主儲存庫、複本儲存庫或快取儲存庫,且適用於位於主網站以及檔案伺服器網站的儲存庫。只有在
Automatic folder creation 旗標設定為
true 時,此程序才僅適用於儲存庫。
移轉儲存庫的程序分為四個頂層步驟,如上圖所示。所有這些步驟都提供了範例。為方便說明移轉流程,下列程序以範例情境為基礎,其中
defaultuploadrootfolder 是 RootFolder 名稱,裝載路徑為︰
準備系統以進行移轉
執行下列步驟來完成準備工作,例如執行重新存放、同步處理、移除未參考檔案,及將根資料夾標記為唯讀。
1. 若儲存庫為主儲存庫,請針對儲存庫執行重新存放排程。
2. 若儲存庫為複本儲存庫,請針對儲存庫取消並禁用內容複製排程。
3. 使用 JMX 用戶端 (例如 JConsole),執行 CacheVaultSynchronizer MBean sysForceSync 操作。
4. 針對儲存庫執行「移除未參考檔案」與 > 操作,以便只將有效內容移轉至 Amazon S3。
6. 執行下列指令來將您的儲存庫設定為 Automatic Folder Creation。
windchill wt.fv.tools.FolderToRootFolderConverter
7. 從儲存庫組態使用者介面,將您計劃移轉的檔案型 RootFolder 設定為 READ_ONLY。如此可確保在移轉內容時,不會將任何新內容上載至檔案型 RootFolder。
從來源系統中複製內容。
執行下列步驟,將內容從來源系統複製到目標系統,例如,將內容從檔案系統複製到目標 Amazon S3 系統。
將檔案系統中與 RootFolder 對應的目錄結構,複製到 Amazon S3。
• 如果您要複製 EC2 實例上的 RootFolder 內容,請使用 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 進行加密。
驗證複製的內容
必須執行此步驟才能確保上一步的複製內容成功且正確。
| 在驗證複製的內容之前,透過在 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 執行下列指令,以變更所有 RootFolder 的裝載類型與裝載路徑︰
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 予以裝載。但當從使用者介面執行這些操作時,最終使用者可能無法存取 RootFolder 中的內容。
2. 從儲存庫組態使用者介面中移除 RootFolder READ_ONLY 旗標。準備系統以進行移轉部份中新建立的 RootFolder,可能包含不需要作為此儲存庫移轉流程一部份移出 RootFolder 的檔案。
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>