企業管理 > 檔案存放與複製 > 檔案存放 > 使用外部檔案儲存庫 > 將 Windchill 檔案儲存庫配置為使用 Amazon S3 > Amazon S3 的儲存庫移轉
  
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。
5. 如果您要在移動到儲存庫時將內容保留原樣,則請建立新的 RootFolder,然後將其裝載在 Amazon S3 上。如需詳細資訊,請參閱主題將 Windchill 檔案儲存庫配置為使用 Amazon S3
6. 從儲存庫組態使用者介面,將您計劃移轉的檔案型 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 進行加密。
如需有關 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
驗證複製的內容
必須執行此步驟才能確保上一步的複製內容成功且正確。
1. 執行資料驗證公用程式 DataMigrationVerificationTool,以確認 Amazon S3 上的複製內容。此工具可讓您將現有儲存庫的內容與 Amazon S3 上的檔案結構進行比較。您可以對主 Windchill 執行工具,也可以針對遠端安裝執行工具。在 Windchill shell 中執行下列項目︰
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool
validateMigratedData --userName USER --password PASSWORD --
rootFolderName ROOT_FOLDER_NAME --mountType MOUNT_TYPE--folderName FOLDER_NAME
--mountPath MOUNT_PATH –skipSizeValidation
2. 執行時,工具會提供報告的儲存位置。在此報告中,您可以檢視所有遺失檔案的清單,或關於每個資料夾檔案大小不相符的資訊。報告一律會在主要安裝時產生。您可以指定 -- rootFolderName-- folderName,選擇對整個根資料夾或僅所選子資料夾執行驗證。您也可以新增 –skipSizeValidation,允許略過執行檔案大小驗證的步驟。
範例如下︰
欲驗證名為 defaultuploadrootfolder 之根資料夾中的所有資料:
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool validateMigratedData --userName wcadmin --password wcadmin --mountType amazonS3 --rootFolderName defaultuploadrootfolder--mountPath Testbucket/defaultuploadvault
欲驗證名為 defaultuploadrootfolder 之資料夾中的資料,且不檢查檔案大小
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool validateMigratedData --userName wcadmin --password wcadmin --mountType amazonS3 --folderName defaultuploadrootfolder --mountPath Testbucket/defaultuploadvault --skipSizeValidation
更新裝載
當更新裝載時,系統會使用目標系統中的內容啟動。執行下列步驟來更新裝載︰
1. 從 Windchill shell 執行下列指令,以變更所有 RootFolder 的裝載類型與裝載路徑︰
windchill wt.objectstorage.tools.MountMigrationTool migrate -u <username> -p <password> -r <RootFolder name> -m <mount path on Amazon S3> -t amazonS3
例如︰
windchill wt.fv.tools.datamigration.MountMigrationTool migrate -u <username> -p <password> -r defaultuploadfolder1 -m Testbucket/defaultuploadvault -t amazonS3
或者,您也可以取消裝載根資料夾,並從儲存庫組態使用者介面,針對 Amazon S3 予以裝載。但當從使用者介面執行這些操作時,最終使用者可能無法存取 RootFolder 中的內容。
2. 從儲存庫組態使用者介面中移除 RootFolder READ_ONLY 旗標。準備系統以進行移轉部份中新建立的 RootFolder,可能包含不需要作為此儲存庫移轉流程一部份移出 RootFolder 的檔案。
3. 在儲存庫移轉流程之後,重新建立重新存放與內容複製排程。
指令摘要
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 wt.fv.tools.datamigration.DataMigrationVerificationTool validateMigratedData --userName USER --password PASSWORD --rootFolderName ROOT_FOLDER_NAME --mountType MOUNT_TYPE --folderName FOLDER_NAME --mountPath MOUNT_PATH --skipSizeValidation
windchill wt.objectstorage.tools.MountMigrationTool migrate -u <username> -p <password> -r <RootFolder name> -m <mount path on Amazon S3> -t amazonS3