ファイル回復用のストレージゾーンコントローラの準備
警告:
ShareFile 回復機能では、永続的なストレージの場所が自動的にバックアップされません。バックアップユーティリティを選択し、1~7 日おきに実行する責任があります。
ファイルリカバリの準備方法は、データの保存場所によって異なります。
-
サポートされているサードパーティ製ストレージシステム — Storage Zones Controller を搭載したサードパーティ製ストレージシステムを使用する場合、サードパーティ製ストレージは冗長化され、ローカルバックアップは不要です。ただし、ファイルを削除する ShareFile ユーザーは、短い期間ごみ箱からファイルを回復できることに注意してください。45 日が経過すると、ShareFile ごみ箱からファイルを復元することはできません。復旧期間が過ぎると、ファイルはゾーンから削除されます。そのため、サードパーティの冗長ストレージからも削除されます。回復時間が十分でない場合は、次のいずれかの解決策を検討してください。
- StorageZone Controller のファイルクリーンアップサービスが実際のファイルをオンプレミスのストレージロケーションから削除しないようにするには、
C:\\inetpub\\wwwroot\\Citrix\\StorageCenter\\SCFileCleanSvc\\FileDeleteService.exe.config
での Period 設定の値を変更します。詳細については、「 ストレージキャッシュ操作のカスタマイズ」を参照してください。保存期間を長くすると、サード・パーティ製ストレージの容量も増えることに注意してください。 - StorageZone ファイルのローカルバックアップを 7 日ごとに作成し、バックアップの適切な保存ポリシーを決定します。
- StorageZone Controller のファイルクリーンアップサービスが実際のファイルをオンプレミスのストレージロケーションから削除しないようにするには、
- オンプレミスストレージ — ローカルで管理されている共有をプライベートデータストレージに使用する場合、オンプレミスストレージゾーン、コントローラー、ローカルファイルストレージ、およびレジストリエントリをバックアップする必要があります。ShareFileは、ShareFileクラウドに存在する対応するファイルメタデータを3年間アーカイブします。 重要:データ損失を防ぐには、ストレージゾーンコントローラーサーバーのスナップショットを撮り、 その構成をバックアップし、ローカルファイルストレージをバックアップすることが重要です。
このトピックの説明に従ってストレージゾーンコントローラーをファイル回復用に準備したら、ShareFile 管理者コンソールを使用して次のことが可能になります。
-
特定の日付と時刻の ShareFile Data レコードのストレージゾーンを参照し、復元するファイルとフォルダーにタグを付けます。ShareFile、タグ付けされたアイテムを回復キューに追加します。次に、回復スクリプトを実行して、バックアップから永続的なストレージ場所にファイルを復元します。
詳しくは、「 ShareFile Dataバックアップからファイルとフォルダーを復元する」を参照してください。
-
オンプレミスのストレージからデータを回復できない場合は、ShareFile クラウドに格納されたメタデータをオンプレミスストレージと調整します。ShareFileリコンサイル機能は、指定された日時にストレージゾーンに存在しなくなったファイルのメタデータをShareFileクラウドから永久に削除します。
詳細については、「 ShareFile クラウドとストレージゾーンの調整」を参照してください。
前提条件
- 2 つの CPU と 4 GB RAM を備えた専用の物理マシンまたは仮想マシン
- Windows サーバー 2012 R2 (データセンター、スタンダード、またはエッセンシャル)
- Windows Server 2016
- Windows Server 2019
-
Windows PowerShell (32 ビットおよび 64 ビットバージョン) は、.NET 4 ランタイムアセンブリをサポートする必要があります。詳細については、 ストレージゾーンコントローラーのシステム要件の「PowerShell スクリプトとコマンド」を参照してください。
- PsExec.exe-PSExec を使用すると、ネットワークサービスアカウントを使用して PowerShell を起動できます。PSExec を使用して、回復タスクをスケジュールすることもできます。https://docs.microsoft.com/en-us/sysinternals/downloads/psexecから PsExec.exeをダウンロードし、そのページのインストール手順に従います。
障害復旧に使用されるファイルの概要
C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery にある次のファイルは、障害回復に使用されます。
ファイル名 | 説明 |
---|---|
DoRecovery.ps1 | 回復プロセスを処理するために Windows タスクスケジューラによって実行される PowerShell スクリプト。このファイルには、ファイルのバックアップおよび保存場所が格納されます。 |
Recovery.psm1 | リカバリキュー操作を処理する PowerShell モジュール。 |
recovery.log | 回復プロセスの出力を保存するログファイル。 |
recoveryerror.log | 回復プロセスのエラーを格納するログファイル。 |
LitJson.dll | JSON (JavaScript オブジェクト記法) 文字列からの変換を処理する.Net ライブラリ。 |
バックアップフォルダを設定するには
バックアップサーバで、persistentStorage フォルダをバックアップするフォルダを作成します。
ShareFile Data ファイルバックアップ用のストレージゾーンは、ストレージゾーンコントローラの永続ストレージと同じレイアウトに従う必要があります。
バックアップの場所が Storage Zone Controller の永続ストレージと同じレイアウトになっていない場合は、回復プロセス中に追加の手順を実行して、バックアップの場所から Recovery PowerShell スクリプトで指定した場所にファイルをコピーする必要があります。
ストレージレイアウト
バックアップレイアウト
\\\PrimaryStorageIP
\StorageLocation
\persistentstorage
\sf-us-1
\a024f83e-b147-437e-9f28-e7d03634af42
\fi3d85dc_1d6c_49b0_8faa_1f36ef3d83b5
\fi7d5cbb_93c8_43f0_a664_74f27e72bc83
\fi47cd7e_64c4_47be_beb7_1207c93c1270
\\\BackupStorageIP
\BackupLocation
\persistentstorage
\sf-us-1
\a024f83e-b147-437e-9f28-e7d03634af42
\fi3d85dc_1d6c_49b0_8faa_1f36ef3d83b5
\fi7d5cbb_93c8_43f0_a664_74f27e72bc83
\fi47cd7e_64c4_47be_beb7_1207c93c1270
<!--NeedCopy-->
重要:
ShareFile 回復機能では、永続的なストレージの場所が自動的にバックアップされません。バックアップユーティリティを選択し、1~7 日おきに実行する責任があります。
障害回復キューを作成するには
この 1 回限りのセットアップが必要です。以下のコマンド例では、デフォルトのストレージゾーン Controller インストールフォルダーを使用しています。
-
ストレージゾーンコントローラーで、管理者として PowerShell を実行します。
-
この手順で使用する PowerShell スクリプトは署名されていないので、PowerShell 実行ポリシーの変更が必要になる場合があります。
-
お使いの PowerShell 実行ポリシーで、署名のないローカルのスクリプトを実行できるかどうかを確認してください。PS C:\ >Get-ExecutionPolicy
たとえば、RemoteSigned、Unrestricted、または Bypass のポリシーでは、署名されていないスクリプトを実行できます。
-
PowerShell 実行ポリシーを変更するには:PS C:\ >Set-ExecutionPolicy (リモート署名)
-
-
PowerShell の CLR バージョンが正しいことを確認するには、次のように入力します。
$ps バージョンテーブル
PowerShell がスクリプトで.NET アセンブリをロードできるようにするには、clrVersion の値は 4.0 以上である必要があります。そうでない場合は、Windows PowerShell 32 ビットバージョンと 64 ビットバージョンの両方で次のように変更します。
-
管理者としてメモ帳を実行します。
-
次の内容でファイルを作成します。
<?xml version="1.0"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0.30319"/> <supportedRuntime version="v2.0.50727"/> </startup> </configuration> <!--NeedCopy-->
-
ファイル/別名で保存を選択し、ファイルに powershell.exe.config という名前を付けて、次の場所に保存します。
C:\Windows\System32\WindowsPowerShell\v1.0
C:\Windows\SysWOW64\WindowsPowerShell\v1.0
-
PowerShell ウィンドウを閉じ、管理者として新しいウィンドウを開き、$psversiontable と入力して clrVersion が正しいことを確認します。
-
-
PowerShell ウィンドウを閉じ、PsExec.exe を使用して PowerShell を次のように起動します。
-
管理者として [コマンドプロンプト] ウィンドウを開きます。
-
PsExec.exe の場所に移動し、次のように入力します。
PsExec.exe -i -u “NT AUTHORITY\NetworkService” C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell
-
PsExec.exe ライセンス契約に同意するには、[同意する] をクリックします。
-
-
ストレージゾーンコントローラのインストールフォルダにあるディザスタリカバリツールフォルダに移動します。
cd ‘C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery’
-
Recovery.psm1 モジュールをインポートします。
Import-Module .\Recovery.psm1
-
リカバリキューを作成するには、「New-scQueue-名前リカバリ-オペレーションリカバリ」と入力します。
このコマンドの出力には、作成されたキューの名前が含まれます。例:キュー 92736b5d-1cff-4760-92c8-d8b04dc92cb2 が作成されました
新しいフォルダを表示するには、ファイルブラウザを開き、次の場所に移動します。
\\ サーバ\ (プライマリストレージの場所 )\ キュー92736b5d-1cff-4760-92c8-d8b04dc92cb2 のように、キューフォルダが表示されます。
-
次のセクションの説明に従って、場所に合わせて回復用 PowerShell スクリプトをカスタマイズします。
場所に合わせて回復する PowerShell スクリプトをカスタマイズするには
DoreRecovery.ps1 PowerShell スクリプトは、リカバリプロセスを処理するためにタスクスケジューラによって実行されます。このファイルには、サイトに指定する必要があるファイルのバックアップと格納場所が含まれます。
-
ストレージゾーンコントローラーで、リカバリ PowerShell スクリプトに移動します。
C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery\ DoreRecovery.ps1
-
スクリプトを次のように編集します。
a. バックアップ場所の UNC パスを指すように $backuProot パラメーターを設定します。例:$backupRoot = “\\10.10.10.11\(YourBackupLocation)\persistentstorage”
b. $StorageRoot パラメータを、ストレージゾーンコントローラの永続ストレージの UNC パスを指すように設定します。例:$storageRoot = “\\10.10.10.10\StorageLocation\persistentstorage”
回復プロセスをテストするには
-
テストファイルを作成し、ShareFile にアップロードします。
-
1 時間ほど経ったら、ファイルが永続ストレージ ($backupRoot に指定されたパス) に表示されていることを確認します。
-
ShareFile からファイルを削除する:ShareFile 管理者ツールで、[ ごみ箱] をクリックし、ファイルを選択し、[ 完全に削除] をクリックします。
-
永続ストレージからファイルを削除します。
この手順では、ファイルが削除されてから 45 日後に ShareFile が実行するアクションが再作成されます。
-
ShareFile管理者ツールで、[ 管理] > [ストレージゾーン] に移動し、ゾーンをクリックして [ ファイルの回復] をクリックします。
-
Recovery Date テキストボックスをクリックし、ファイルが削除される前とアップロードされた後の日付と時刻を選択します。
指定した日時のストレージゾーンのファイルリストが表示されます。
-
ファイルのチェックボックスをオンにします。
-
復元したファイルを格納するフォルダを選択し、[ 復元] をクリックします。
ファイルがリカバリキューに追加され、リストアする準備が整います。ファイルが正常に回復されると、画面が変わり、回復されたファイルが格納されているフォルダが表示されます。
-
ファイルをリカバリするには:
a. 管理者として [コマンドプロンプト] ウィンドウを開きます。
b. PsExec.exe の場所に移動し、次のように入力します。
``` PsExec.exe -i -u "NT AUTHORITY\NetworkService" C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell <!--NeedCopy--> ```
c. PowerShell ウィンドウで、次の場所に移動します。
cd
C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery
d. リカバリスクリプトを実行します。
.\DoRecovery.ps1
PowerShell ウィンドウには、「アイテムが回復されました」というメッセージが表示されます。ファイルは、永続的な格納場所に追加されます。
-
ShareFile の Web サイトから復元されたファイルをダウンロードします。
関連する PowerShell コマンド
次の PowerShell コマンドは障害回復をサポートします。
-
Get-RecoveryPendingFileIDs
回復に必要なファイル ID のリストを取得します。構文とパラメータについては、次のコマンドを使用します。
Get-Help Get-RecoveryPendingFileIDs -full
-
Set-RecoveryQueueItemsStatus
リカバリキュー内のすべてのアイテムまたは指定されたアイテムのステータスを設定します。これにより、キュー内の既存の回復ステータスが上書きされます。構文とパラメータについては、次のコマンドを使用します。
Get-Help Set-RecoveryQueueItemsStatus -full
リカバリのタスクを作成してスケジュールするには
スケジュールされたリカバリタスクが必要な場合は、以下の手順に従ってください。
- Windows タスクスケジューラを起動し、[ 操作 ] ウィンドウで [ タスクの作成] をクリックします。
-
[ 全般 ] タブで、次の操作を行います。
a. タスクにわかりやすい名前を入力します。
b. [ セキュリティオプション] で、[ ユーザーまたはグループの変更] をクリックし、タスクを実行するユーザー (ネットワークサービスまたは格納場所への書き込み権限を持つ名前付きユーザー) を指定します。
c. 「 Configure for 」メニューから、タスクを実行するサーバーのオペレーティングシステムを選択します。
- トリガーを作成するには、「 トリガー 」タブで「 新規」をクリックします。
- [ タスクを開始する] で、[ スケジュールに基づいて ] を選択し、スケジュールを指定します。
-
アクションを作成するには、「 アクション 」タブで「 新規」をクリックします。
a. [ アクション] で、[プログラムの開始 ] を選択し、プログラムへのフルパスを指定します。例:
C:\Windows\System32\cmd.exe
。b.「 引数の追加」に、 次のように入力します。
/c “c:\windows\syswow64\WindowsPowerShell\v1.0\PowerShell.exe -File .\DoRecovery.ps1” >> .\recovery.log 2>>.\recoveryerror.log
c. Start in には、ストレージゾーンコントローラのインストール場所の Disaster Recovery フォルダーを指定します。たとえば、次のようになります:
c:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery
サービスのデフォルト期間の削除
StorageZone コントローラ 4.0 以降、サービスの削除タイマーは 45 日に設定されます。45日のデフォルト期間は、以前の設定を上書きします。デフォルトの期間を変更するには、C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc で FileDeleteService.exe.config を編集してください
<!--No. of days to keep data blob in active storage after deletion-->
<add key="Period" value="45"/>
アップグレード後のデフォルトサービスの削除期間の変更
いくつかのアップグレードシナリオでは、deletePeriod の値は、「fileDeleteService.exe.config」で null に設定されます。nullに設定すると、削除期間はデフォルトで45日になります。これは、ShareFileから削除されたファイルが物理ストレージから削除されるまでのデフォルトの日数です。
ストレージゾーンコントローラの DeletePeriod を変更するには、次の場所にある FileDeleteService.exe.config ファイルを編集します。 C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config
ストレージゾーンコントローラーをクリーンインストールすると、削除サービスが 8 時間ごとに実行され、一時ファイルとフォルダーがクリーンアップされます。タイマーを変更するには、次の場所にあるFileDeleteService.exe.configファイルを編集します。 C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config