Azure Blob Storage へのボルトのマイグレーション
このセクションでは、既存のファイルベースボルトを Azure Blob Storage にマイグレーションする方法について説明します。
Windchill での Azure Blob Storage のセットアップの方法については、
Azure Blob を使用するための Windchill ファイルボルトの設定のトピックを参照してください。以下のワークフローでは、ボルトを 1 つずつマイグレーションしています。このプロセスは、すべてのタイプのボルト (マスター、レプリカ、キャッシュボルト) およびマスターサイトにあるボルトとファイルサーバーサイトにあるボルトに適用されます。
|
このプロセスは、フラグ Automatic folder creation が true に設定されているボルトで機能します。
|
上の図に示すように、ボルトをマイグレーションするステップは 4 つのトップレベルステップに分かれています。マイグレーションプロセスについて簡単に説明するため、以下の手順は、ルートフォルダ名が
defaultuploadrootfolder でマウントパスが次のようになっているサンプルのシナリオに基づいています:
マイグレーションのためのシステムの準備
次のステップを実行して、再ボルト、同期化、非参照ファイルの除去、ルートフォルダを読み取り専用としてマークするなどの準備作業を行います。
1. ボルトがマスターボルトである場合、ボルトの再ボルトスケジュールを実行します。
2. ボルトがレプリカボルトである場合、ボルトのコンテンツレプリケーションスケジュールをキャンセルして無効にします。
3. JConsole などの JMX クライアントを使用して、CacheVaultSynchronizer MBean sysForceSync オペレーションを実行します。
4. ボルトに対して「非参照ファイルを除去」および > 操作を実行して、有効なコンテンツだけが Azure Blob Storage にマイグレーションされるようにします。
6. プロパティ wt.fv.faultTolerantVaultsAutoRestore=false を設定します。
7. ボルトコンフィギュレーションのユーザーインタフェースから、マイグレーションするファイルシステムベースのルートフォルダを READ_ONLY に設定します。これによって、ファイルシステムベースのルートフォルダのコンテンツがマイグレーションされている間にルートフォルダに新しいコンテンツがアップロードされることがなくなります。
ソースシステムからのコンテンツのコピー
ソースシステムからターゲットシステムにコンテンツをコピーするには、次のステップを実行します。例として、ファイルシステムからターゲットの Azure Blob Storage にコンテンツをコピーします。
ファイルシステム上のルートフォルダに対応するディレクトリ構造を Azure ポータルにコピーします。
• Azure ルートフォルダのコンテンツを Azure VM 内の Azure Blob のコンテナにコピーする場合、Microsoft のコマンドラインユーティリティ AzCopy for Windows を使用します。詳細については、Microsoft のドキュメントを参照してください。
• オンプレミス
Windchill インストールから新規 Azure VM にボルトコンテンツをコピーする場合、Azure Data Box または Data Box Disc を使用できます。PTC はテストの際に Azure Data Box を使用しています。詳細については、
Azure Data Box を使用した Azure Blob へのデータ転送のトピックを参照してください。
コピーしたコンテンツの検証
このステップは、前のステップでコンテンツのコピーが正常に行われていてコンテンツが正確であることを確認するためのものです。
1. データ検証ユーティリティ DataMigrationVerificationTool を実行して、Azure Blob 上にコピーされたコンテンツを検証します。このツールでは、既存のボルトのコンテンツを Azure Blob 上のファイル構造と比較できます。マスター Windchill およびリモートのインストールに対してこのツールを実行できます。Windchill シェルで以下を実行します。
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool
validateMigratedData --userName USER --password PASSWORD --
srcRootFolderName ROOT_FOLDER_NAME --targetMountType MOUNT_TYPE--folderName FOLDER_NAME
--targetMountPath MOUNT_PATH –skipSizeValidation
2. このツールを実行すると、レポートが保存されている場所が返されます。このレポートで、欠落しているすべてのファイルのリストや、各フォルダのファイルサイズの不一致についての情報を確認できます。このレポートは必ずマスターインストール上に生成されます。-- rootFolderName または -- folderName を指定することによって、検証をルートフォルダ全体に対して実行するか、選択したサブフォルダに対してのみ実行するかを選択できます。–skipSizeValidation を追加することで、ファイルサイズ検証の実行をスキップできます。
例:
◦ defaultuploadrootfolder という名前のルートフォルダ内のすべてのデータを検証するには、次のように指定します。
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool validateMigratedData --userName <username> --password <password> --targetMountType azureBlob --srcRootFolderName defaultuploadrootfolder --targetMountPath storageaccountname/testcontainer/defaultuploadvault
◦ defaultuploadrootfolder という名前のフォルダ内のデータを検証し、ファイルサイズはチェックしない場合、次のように指定します。
windchill wt.fv.tools.datamigration.DataMigrationVerificationTool validateMigratedData --userName <username> --password <password> --targetMountType azureBlob --srcRootFolderName defaultuploadrootfolder --targetMountPath storageaccountname/testcontainer/defaultuploadvault -–skipSizeValidation
マウントの更新
マウントが更新されると、システムはターゲットシステム内のコンテンツの使用を開始します。マウントを更新するには、次のステップを実行します。
1. Windchill シェルから次のコマンドを実行して、すべてのルートフォルダのマウントタイプとマウントパスを変更します。
windchill wt.fv.tools.datamigration.MountMigrationTool migrate -u <username> -p <password> -r <RootFolder name> -m <mount path on Azure Blob Storage Container> -t azureBlob
例:
windchill wt.fv.tools.datamigration.MountMigrationTool migrate -u <username> -p <password> -r defaultuploadfolder1 -m storageaccountname/testcontainer/defaultuploadvault -t AzureBlob
ボルトコンフィギュレーションのユーザーインタフェースからルートフォルダをアンマウントして Azure Blob にマウントすることもできます。ただし、ユーザーインタフェースからこれらの操作を実行している間は、エンドユーザーはルートフォルダ内のコンテンツにアクセスしてはなりません。
2. ボルトコンフィギュレーションユーザーインタフェースから、マイグレーションしたルートフォルダの READ_ONLY フラグを除去します。「マイグレーションのためのシステムの準備」セクションで新規作成したルートフォルダには、このボルトマイグレーションプロセスの一環としてルートフォルダから移動する必要がないファイルが含まれていることがあります。
3. ボルトマイグレーションプロセスの後で、再ボルトとコンテンツレプリケーションのスケジュールを再設定し、プロパティ wt.fv.faultTolerantVaultsAutoRestore を設定します。