ファイルリカバリ用のストレージゾーン Controller を準備する

警告:

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

ファイルリカバリの準備方法は、データが格納されている場所によって異なります。

  • サポートされているサード・パーティ製ストレージ・システム :ストレージ・ゾーン・Controller を備えたサード・パーティ製ストレージ・システムを使用する場合、サード・パーティ製ストレージは冗長であり、ローカル・バックアップは不要です。ただし、ファイルを削除する ShareFile ユーザーは、ファイルをごみ箱から短期間回復できることに注意してください。45日後にShareFileのごみ箱からファイルを回復することはできません。回復期間が経過すると、ファイルはゾーンから削除され、したがって冗長サードパーティストレージから削除されます。リカバリ時間が十分でない場合は、次のいずれかのソリューションを検討してください。
    • ShareFileごみ箱にファイルを残す時間を増やします。これを行うには、C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config. の [期間] 設定の値を変更します。詳しくは、ストレージキャッシュ操作のカスタマイズを参照してください。保持時間を長くすると、必要なサードパーティ製ストレージの量も増加することに注意してください。
    • StorageZone ファイルを7日ごとにローカル・バックアップを作成し、バックアップの適切な保存ポリシーを決定します。
  • オンプレミスストレージ — プライベートデータストレージにローカルで管理されている共有を使用する場合は、オンプレミスのストレージゾーン Controller ローカルファイルストレージとレジストリエントリをバックアップする必要があります。ShareFileは、ShareFileクラウドに存在する対応するファイルメタデータを3年間アーカイブします。 重要:データ損失から保護するには、ストレージゾーンController サーバー 構成をバックアップするのスナップショットを作成し、ローカルファイルストレージをバックアップすることが重要です。

このトピックで説明するように、ストレージゾーンController ファイルリカバリ用に準備したら、ShareFile管理者コンソールを使用して次の操作を実行できます。

  • ストレージゾーンを参照して、特定の日時の ShareFile Data レコードを検索し、復元するファイルやフォルダーにタグを付けます。ShareFileは、タグ付けされたアイテムをリカバリキューに追加します。次に、回復スクリプトを実行して、バックアップから永続的なストレージ場所にファイルを復元します。

    詳しくは、ShareFileデータのバックアップからファイルやフォルダを回復するを参照してください。

  • オンプレミスのストレージからデータを回復できない場合は、ShareFileクラウドに保存されたメタデータをオンプレミスのストレージと調整します。ShareFileリコンサイル機能は、指定された日時にストレージゾーンに存在しなくなったファイルのメタデータをShareFileクラウドから完全に削除します。

    詳細については、ShareFileクラウドをストレージゾーンで調整するを参照してください。

前提条件

  • ウィンドウズサーバー2012 R2 またはウィンドウズサーバー
  • Windows PowerShell (32 ビットおよび 64 ビットバージョン) では、.NET 4 ランタイムアセンブリがサポートされている必要があります。詳細については、ストレージゾーン 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.psm1 回復キュー操作を処理する PowerShell モジュール。
recovery.log リカバリプロセスの出力を格納するログファイル。
recoveryerror.log リカバリ・プロセスでエラーを格納するログ・ファイル。
LitJson.dll JSON(JavaScriptオブジェクト記法)文字列との変換を処理するための.Netライブラリ。

バックアップフォルダを設定するには

バックアップサーバで、永続ストレージフォルダをバックアップするフォルダを作成します。

ShareFile Dataファイルバックアップ用のストレージゾーンは、ストレージゾーンController 永続ストレージと同じレイアウトに従う必要があります。

バックアップの場所が記憶域ゾーン 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 回限りのセットアップが必要です。以下のコマンド例では、デフォルトのストレージゾーンController インストールフォルダを使用します。

  1. 記憶域ゾーン Controller で、管理者として PowerShell を実行します。

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

    1. PowerShell 実行ポリシーで、ローカルの署名されていないスクリプトの実行が許可されているかどうかを判断します。PS C:\ >Get-実行ポリシー

      たとえば、[RemoteSigned]、[無制限]、または [バイパス] というポリシーを使用すると、署名されていないスクリプトを実行できます。

    2. PowerShell 実行ポリシーを変更するには:PS C:\ >実行ポリシーの設定リモート署名付き

  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. ストレージ・ゾーン・Controller・インストール・フォルダ内の「災害復旧ツール」フォルダに移動します。

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

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

    インポートモジュール。 .psm1 のリカバリ

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

    このコマンドの出力には、作成されたキューの名前が含まれます。たとえば、キュー 92736b5d-1cff-4760-92c8-d8b04dcb2が作成されました

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

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

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

自分の場所のリカバリ PowerShell スクリプトをカスタマイズするには

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

  1. 記憶域ゾーン Controller で、回復用 PowerShell スクリプトに移動します。

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

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

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

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

回復プロセスをテストするには

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

  2. 1 時間ほど経過したら、ファイルが永続記憶域 ($backupRoot に指定されたパス) に表示されていることを確認します。

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

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

    このステップでは、ShareFileがファイルを削除してから45日後に実行するアクションを再作成します。

  5. ShareFile管理者ツールで、[ 管理] > [ストレージゾーン] に移動し、ゾーンをクリックし、[ ファイルのリカバリ] をクリックします。

  6. [ Recovery Date ] テキストボックスをクリックし、ファイルが削除される前とアップロードされた後の日付と時刻を選択します。

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

  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ウェブサイトからダウンロードします。

関連する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. [ 開始場所] で、ストレージゾーン Controller のインストール場所にある [災害復旧] フォルダを指定します。たとえば、次のようになります。c:\inetpub\wwwroot\Citrix\StorageCenter\Tools\Disaster Recovery

サービスのデフォルト期間の削除

StorageZone コントローラ 4.0 以降、削除サービスのタイマーは 45 日に設定されます。45日間のデフォルト期間は、以前の設定を上書きします。デフォルトの期間を変更するには、C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc で「ファイル」「削除」「サービス.exe.config」を編集します。

<!--No. of days to keep data blob in active storage after deletion-->

<add key="Period" value="45"/>

アップグレード後のサービスのデフォルト期間の変更

いくつかのアップグレードシナリオでは、削除期間の値は、”ファイル DeleteService.exe.config” でヌルに設定されます。nullに設定すると、削除期間はデフォルトで45日になり、ShareFileから削除されたファイルが物理ストレージから削除されるまでのデフォルトの日数になります。

記憶域ゾーン Controller 上の削除期間を変更するには、次の場所にある FileDeleteService.exe.config ファイルを編集します。C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config

ストレージゾーン Controller をクリーンインストールすると、削除サービスは 8 時間ごとに実行され、一時ファイルとフォルダをクリーンアップします。タイマーを変更するには、次の場所にある FileDeleteService.exe.config ファイルを編集します。C:\inetpub\wwwroot\Citrix\StorageCenter\SCFileCleanSvc\FileDeleteService.exe.config