ファイル回復用の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 Fileクラウドから完全に削除します。

    詳しくは、「ShareFile クラウドとストレージゾーンを調整」を参照してください。

前提条件

  • Windows Server 2012 R2 または Windows Server 2008 R2
  • Windows PowerShell (32 ビット版と 64 ビットバージョン) は、.NET 4 ランタイムアセンブリをサポートしている必要があります。詳しくは、「Storage Zone Controller システム要件」の「PowerShell スクリプトとコマンド」を参照してください。

  • PSExec.exe-PSExec を使用すると、ネットワークサービスアカウントを使用して PowerShell を起動できます。PSExec を使用して回復タスクをスケジュールすることもできます。http://technet.microsoft.com/en-us/sysinternals/bb897553.aspxから PsExec.exe をダウンロードし、そのページのインストール手順に従います。

障害回復に使用されるファイルの概要

C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery にある次のファイルは、障害回復に使用されます。

ファイル名 説明
DoRecovery.ps1 回復プロセスを処理するために Windows タスクスケジューラによって実行される PowerShell スクリプト。このファイルには、ファイルのバックアップおよび保存場所が格納されます。
Recovery.psm 回復キュー操作を処理する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

重要:

ShareFile 回復機能では、永続的なストレージの場所が自動的にバックアップされません。バックアップユーティリティを選択し、1~7日ごとに実行する必要があります。

障害回復キューを作成するには

この 1 回限りのセットアップが必要です。次のコマンド例では、デフォルトのStorage Zone Controller インストールフォルダーを使用します。

  1. Storage Zone Controller で、管理者として PowerShell を実行します。

  2. この手順で使用する PowerShell スクリプトは署名されていないため、PowerShell 実行ポリシーを変更する必要がある場合があります。

    1. PowerShell 実行ポリシーで、署名のないローカルのスクリプトを実行できるかどうかを確認します:PS C:\ >Get-ExecutionPolicy

      たとえば、RemoteSigned、Unrestricted、または Bypass のポリシーを使用すると、署名のないスクリプトを実行できます。

    2. PowerShell 実行ポリシーを変更するには、PS C:\>Set-ExecutionPolicy RemoteSigned

  3. PowerShell に正しい CLRVersion があることを確認するには、次のように入力します:

    $psversiontable

    PowerShell がスクリプトで.NET アセンブリをロードできるようにするには、CLRVersion の値を 4.0 以上にする必要があります。そうでない場合は、Windows PowerShell の 32 ビット版と 64 ビット版の両方で、次のように変更します。

    1. 管理者としてメモ帳を実行します。

    2. 次の内容のファイルを作成します。

          <?xml version="1.0"?>
          <configuration>
              <startup useLegacyV2RuntimeActivationPolicy="true">
                  <supportedRuntime version="v4.0.30319"/>
                  <supportedRuntime version="v2.0.50727"/>
              </startup>
          </configuration>
      
    3. ファイル/名前を付けて保存を選択し、powershell.exe.config というファイルに名前を付け、次の場所に保存します。

      C:\Windows\System32\WindowsPowerShell\v1.0

      C:\Windows\SysWOW64\WindowsPowerShell\v1.0

    4. PowerShell ウィンドウを閉じ、管理者として新しいウィンドウを開き、「$psversiontable」と入力して、CLRVersion が正しいことを確認します。

  4. PowerShell ウィンドウを閉じ、PSExec.exe を使用して次のようにPowerShell を起動します。

    1. 管理者としてコマンドプロンプトウィンドウを開きます。

    2. Psexec.exe の場所に移動し、次のように入力します。

      PsExec.exe -i -u “NT AUTHORITY\NetworkService” C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell

    3. [同意する] をクリックして、PSExec.exe ライセンス契約に同意します。

  5. Storage Zone Controller インストールフォルダーにある障害回復ツールフォルダーに移動します。

    cd ‘C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery’

  6. Recovery.psm1 モジュールをインポートします。

    Import-Module .\Recovery.psm1

  7. 回復キューを作成するには、次のように入力します:New-SCQueue -name recovery -operation recovery

    このコマンドの出力には、作成されたキューの名前が含まれます。例:Queue 92736b5d-1cff-4760-92c8-d8b04dc92cb2 created

    新しいフォルダを表示するには、ファイルブラウザを開き、次の場所に移動します。

    \\server\(Your Primary Storage Location)\Queue. 92736b5d-1cff-4760-92c8-d8b04dc92cb2 などのキューフォルダが表示されます。

  8. 次のセクションで説明するように、PowerShell の回復スクリプトをカスタマイズします。

場所に合わせて回復 PowerShell スクリプトをカスタマイズするには

DoRecovery.ps1 PowerShell スクリプトは、回復プロセスを処理するためにタスクスケジューラによって実行されます。このファイルには、サイトに指定する必要があるファイルのバックアップおよび保存場所が含まれます。

  1. Storage Zone Controller で、回復 PowerShell スクリプトに移動します。

    C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery\DoRecovery.ps1

  2. スクリプトを次のように編集します。

    a. $backupRoot パラメーターを、バックアップ場所の UNC パスを指すように設定します。例: $backupRoot = “\\10.10.10.11\(YourBackupLocation)\persistentstorage”

    b. Storage Zone Controllerの永続ストレージの UNC パスを指すように $StorageRoot パラメーターを設定します。例: $storageRoot = “\\10.10.10.10\StorageLocation\persistentstorage”

回復処理をテストするには

  1. テストファイルを作成し、ShareFile にアップロードします。

  2. 1 時間ほど経つと、ファイルが永続的なストレージ ($backupRoot に指定されたパス) に表示されることを確認します。

  3. ShareFile からファイルを削除する:ShareFile管理者ツールで、[ ごみ箱] をクリックし、ファイルを選択して、[ 完全に削除] をクリックします。

  4. 永続ストレージからファイルを削除します。

    この手順では、ファイルが削除されてから 45 日後にShareFile が実行するアクションが再作成されます。

  5. ShareFile 管理者ツールで、[ 管理] > [ストレージゾーン] の順に選択し、ゾーンをクリックし、[ ファイルの回復] をクリックします。

  6. 回復日 ]テキストボックスをクリックし、ファイルが削除される前およびアップロードされた後の日時を選択します。

    指定した日時のストレージゾーンのファイル一覧が表示されます。

  7. ファイルのチェックボックスをオンにします。

  8. 回復したファイルを格納するフォルダを選択し、[ 回復] をクリックします。

    ファイルがバックアップキューに追加され、回復する準備が整いました。ファイルが正常に回復されると、画面が変わり、回復されたファイルが格納されているフォルダが表示されます。

  9. ファイルを回復するには、次の手順で行います。

    a. 管理者としてコマンドプロンプトウィンドウを開きます。

    b. PSExec.exe の場所に移動し、次のように入力します。

    ```
    PsExec.exe -i -u "NT AUTHORITY\NetworkService" C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell
    ```
    

    c. PowerShell ウィンドウで、次の場所に移動します。

    cd C:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery

    d. 回復スクリプトを実行します。

    .\DoRecovery.ps1

    PowerShell ウィンドウには、「アイテムが回復しました」というメッセージが表示されます。ファイルが永続的な保存場所に追加されます。

  10. リストアしたShareFile Webサイトからダウンロードします。

関連する PowerShell コマンド

次の PowerShell コマンドは、障害回復をサポートします。

  • Get-RecoveryPendingFileIDs

    回復に必要なファイル ID のリストを取得します。構文とパラメータについては、次のコマンドを使用します。

    Get-Help Get-RecoveryPendingFileIDs -full

  • Set-RecoveryQueueItemsStatus

    回復キュー内のすべてのアイテムまたは指定されたアイテムのステータスを設定します。これにより、キュー内の既存の回復ステータスが上書きされます。構文とパラメータについては、次のコマンドを使用します。

    Get-Help Set-RecoveryQueueItemsStatus -full

回復のタスクを作成してスケジュールするには

スケジュールされた回復タスクが必要な場合は、次の手順に従います。

  1. Windows タスクスケジューラを起動し、[ アクション ] ウィンドウで [ タスクの作成] をクリックします。
  2. [ 全般 ] タブで、次の操作を行います。

    a. タスクのわかりやすい名前を入力します。

    b. [ セキュリティオプション] で [ ユーザーまたはグループの変更] をクリックし、タスクを実行するユーザー (ネットワークサービス、またはストレージ場所への書き込み権限を持つ指定ユーザー) を指定します。

    c. [ Configure for ]メニューから、タスクを実行するサーバーのオペレーティングシステムを選択します。

  3. トリガーを作成するには、[トリガー] タブで [新規] をクリックします。
  4. [タスクの開始][スケジュールに従って] を選択してから、スケジュールを指定します。
  5. アクションを作成するには、[アクション] タブの [新規] をクリックします。

    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