ファイル回復用のStorage Zone Controllerの準備
警告:
ShareFile 回復機能では、永続的なストレージの場所が自動的にバックアップされません。バックアップユーティリティを選択し、1~7日ごとに実行する必要があります。
ファイル回復の準備方法は、データの格納場所によって異なります。
-
サポートされているサードパーティ製ストレージシステム — サードパーティ製ストレージシステムをStorage Zone Controllerと使用する場合、サードパーティ製ストレージは冗長であり、ローカルバックアップは不要です。ただし、ファイルを削除する ShareFile ユーザーは、短い期間ごみ箱からファイルを回復できることに注意してください。45日後、ShareFileのごみ箱からファイルを回復できません。回復期間の後、ファイルはゾーンから削除され、したがって冗長なサードパーティストレージから削除されます。回復時間が適切でない場合は、次の解決策のいずれかを検討してください。
- ShareFileのごみ箱にファイルが残っている時間を増やします。これを行うには、C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config. で [期間] の設定の値を変更します。詳しくは、「ストレージキャッシュ操作のカスタマイズ」を参照してください。保存期間を長くすると、サード・パーティ製ストレージの容量も増えることに注意してください。
- StorageZone ファイルのローカルバックアップを7日ごとに作成し、バックアップに適切なリテンションポリシーを決定します。
- オンプレミスストレージ — ローカルで管理される共有をプライベートデータストレージとして使用する場合は、オンプレミスStorage Zone Controller ローカルファイルストレージとレジストリエントリのバックアップはお客様が担当します。ShareFileは、ShareFileクラウドに存在する対応するファイルメタデータを3年間アーカイブします。 重要:データ損失から保護するために、Storage Zone Controller サーバー 構成をバックアップするのスナップショットを作成し、ローカルファイルストレージをバックアップすることが重要です。
このトピックの説明に従ってStorage Zone Controller をファイル回復用に準備したら、ShareFile 管理者コンソールを使用して次の操作を実行できます。
-
特定の日時のShareFile Dataレコードのストレージゾーンを参照し、回復するファイルやフォルダにタグを付けます。ShareFile、タグ付けされたアイテムを回復キューに追加します。その後、回復スクリプトを実行して、バックアップから永続的なストレージ場所にファイルを回復します。
詳しくは、「ShareFileデータのバックアップからファイルとフォルダを回復する」を参照してください。
-
オンプレミスのストレージからデータを回復できない場合は、ShareFile クラウドに格納されたメタデータをオンプレミスストレージと調整します。ShareFileリコンサイル機能は、指定された日時にストレージゾーンに存在しなくなったファイルのメタデータをShareFileクラウドから永久に削除します。
詳しくは、「ShareFileクラウドとストレージゾーンを調整する」を参照してください。
前提条件
- Windows Server 2012 R2 または Windows Server 2008 R2
-
Windows PowerShell (32 ビットおよび 64 ビットバージョン) は、.NET 4 ランタイムアセンブリをサポートする必要があります。詳しくは、「Storage Zone Controller システム要件」の「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 永続ストレージと同じレイアウトにする必要があります。
バックアップの場所が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 回限りのセットアップが必要です。次のコマンド例では、デフォルトのStorage Zone Controller インストールフォルダーを使用します。
-
Storage Zone Controller で、管理者として PowerShell を実行します。
-
この手順で使用する PowerShell スクリプトは署名されていないので、PowerShell 実行ポリシーの変更が必要になる場合があります。
-
PowerShell 実行ポリシーで、署名のないローカルのスクリプトを実行できるかどうかを確認します:PS C:\ >Get-ExecutionPolicy
たとえば、RemoteSigned、Unrestricted、または Bypass のポリシーでは、署名されていないスクリプトを実行できます。
-
PowerShell 実行ポリシーを変更するには、PS C:\>Set-ExecutionPolicy RemoteSigned
-
-
PowerShell に正しい CLRVersion があることを確認するには、次のように入力します:
$psversiontable
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 ライセンス契約に同意するには、[同意する] をクリックします。
-
-
Storage Zone Controller インストールフォルダーにある障害回復ツールフォルダーに移動します。
cd ‘C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery’
-
Recovery.psm1 モジュールをインポートします。
Import-Module .\Recovery.psm1
-
回復キューを作成するには、次のように入力します:New-SCQueue -name recovery -operation recovery
このコマンドの出力には、作成されたキューの名前が含まれます。例:Queue 92736b5d-1cff-4760-92c8-d8b04dc92cb2 created
新しいフォルダを表示するには、ファイルブラウザを開き、次の場所に移動します。
\\server\(Your Primary Storage Location)\Queue. 92736b5d-1cff-4760-92c8-d8b04dc92cb2 のように、キューフォルダが表示されます。
-
次のセクションの説明に従って、場所に合わせて回復用 PowerShell スクリプトをカスタマイズします。
場所に合わせて回復する PowerShell スクリプトをカスタマイズするには
DoRecovery.ps1 PowerShell スクリプトは、回復プロセスを処理するためにタスクスケジューラによって実行されます。このファイルには、サイトに指定する必要があるファイルのバックアップと格納場所が含まれます。
-
Storage Zone Controller で、回復 PowerShell スクリプトに移動します。
C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery\DoRecovery.ps1
-
スクリプトを次のように編集します。
a. バックアップ場所の UNC パスを指すように $backuProot パラメーターを設定します。例: $backupRoot = “\\10.10.10.11\(YourBackupLocation)\persistentstorage”
b. Storage Zone Controllerの永続ストレージの UNC パスを指すように $StorageRoot パラメーターを設定します。例: $storageRoot = “\\10.10.10.10\StorageLocation\persistentstorage”
回復処理をテストするには
-
テストファイルを作成し、ShareFile にアップロードします。
-
1 時間ほど経つと、ファイルが永続的なストレージ ($backupRoot に指定されたパス) に表示されることを確認します。
-
ShareFile からファイルを削除する:ShareFile 管理者ツールで、[ ごみ箱] をクリックし、ファイルを選択し、[ 完全に削除] をクリックします。
-
永続ストレージからファイルを削除します。
この手順では、ファイルが削除されてから 45 日後に ShareFile が実行するアクションが再作成されます。
-
ShareFile 管理者ツールで、[ 管理] > [ストレージゾーン] の順に選択し、ゾーンをクリックし、[ ファイルの回復] をクリックします。
-
[ 回復日 ]テキストボックスをクリックし、ファイルが削除される前およびアップロードされた後の日時を選択します。
指定した日時のストレージゾーンのファイルリストが表示されます。
-
ファイルのチェックボックスをオンにします。
-
復元したファイルを格納するフォルダを選択し、[ 復元] をクリックします。
ファイルがリカバリキューに追加され、リストアする準備が整います。ファイルが正常に回復されると、画面が変わり、回復されたファイルが格納されているフォルダが表示されます。
-
ファイルを回復するには、次の手順で行います。
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.[作業フォルダ] で、Storage Zone Controllerインストール場所にある [障害回復] フォルダを指定します。たとえば、次のようになります:
c:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery
サービスのデフォルト期間の削除
StorageZone Controller4.0では、削除サービスのタイマーは45日に設定されます。45日のデフォルト期間は、以前の設定を上書きします。既定の期間を変更するには、FileDeleteService.exe.config を C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc で編集します。
<!--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から削除されたファイルが物理ストレージから削除されるまでのデフォルトの日数です。
Storage Zone ControllerでDeletePeriodを変更するには、次の場所にある FileDeleteService.exe.config ファイルを編集します:C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config
Storage Zone Controller をクリーンインストールすると、削除サービスが 8 時間ごとに実行され、一時ファイルとフォルダーがクリーンアップされます。タイマーを変更するには、次の場所にある FileDeleteService.exe.config ファイルを編集します:C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config