💻

FSRMを移行してみた

2022/08/24に公開

はじめに

ファイルサーバなんてもうSaaSでよくね?という感はありますが、オンプレでファイルサーバを運用していると、Windows標準機能で使えるFile Server Resource Manager(FSRM)は手軽に管理者の指定するポリシーを適用できるので、割と使われているのではないかと思います。オンプレだと必ずいつかはやってくる機器更改やOSサポート切れ時、FSRMに定義されたポリシーが少なければ新サーバに手動で再設定すれば良いのですが、沢山定義されているとその移行も考えなければなりません。今回はFSRMに定義された情報の移行についてやってみました。

今回のシステム構成

AzureVM 2台立ててFSRMの移行をやってみます。なお、FSRMでは、クォータ管理機能とファイルスクリーン機能を利用しており、それを移行する前提です。

移行元サーバの状態

移行元サーバのFSRMではこのような設定をしました。カスタムのテンプレートも用意し、テンプレート未適用、デフォルトのテンプレート適用、カスタムのテンプレート適用の3パターンについてちゃんと移行されるのか確認したいと思います。また、ファイルグループもカスタムなものを用意してます。




移行元サーバでの作業

  1. テンプレートとファイルグループ情報をエクスポートします。ファイル名は何でもOK。
PS> Dirquota template export /File:出力先フォルダパス\quotatemplate.txt
PS> Filescrn template export /File:出力先フォルダパス\filescrntemplate.txt
PS> Filescrn filegroup export /File:出力先フォルダパス\filegroup.txt
  1. FSRMサービスを停止します。サービス一覧から停止しても良いですが、この後PowerShell(管理者権限)での作業が続くので、ここではコマンドで実施してます。
PS> Stop-Service -name "srmsvc","srmreports"
  1. フィルタードライバーをデタッチします。ここではFSRMでクォータ設定やファイルスクリーン設定をしているFドライブを指定してます。
PS> fltmc detach quota F:
PS> fltmc detach datascrn F:
  1. FSRMでクォータ設定やファイルスクリーン設定をしているドライブにあるSystem Volume Informationフォルダの中身を移行したいので、フォルダーとサブフォルダーに、Administratorsグループの書き込みアクセス許可を割り当てます。3行目は見た目の問題っぽいのでやらなくてもよさそう。
PS> takeown /F "F:\System Volume Information" /A /R /D Y
PS> cacls "F:\System Volume Information" /T /E /G Administrators:F
PS> attrib -S -H "F:\System Volume Information\*" /S /D
  1. FSRMでクォータ設定やファイルスクリーン設定をしているドライブにあるSystem Volume Information\SRMフォルダーから次のファイルをコピーします。[1]
      quota.xml
      quota.md
      datascrn.md
      dataScreenDatabase.xml
  2. フィルタードライバーをアタッチします。ここではFSRMでクォータ設定やファイルスクリーン設定をしているFドライブを指定してます。
PS> fltmc attach quota F:
PS> fltmc attach datascrn F:
  1. FSRM サービスを開始します。
PS> Start-Service -name "srmsvc","srmreports"
  1. 1.と5.で採取したファイルを移行先サーバへもってきます。

移行先サーバでの作業

ここでは書きませんが、事前準備として、移行先サーバでFSRMサービスのインストールはしておきます。また、移行元でクォータ設定やファイルスクリーン設定をしているフォルダと同一パスのフォルダを作成しておきます。

  1. 「移行元サーバでの作業」の1.で採取したファイルから、テンプレートとファイルグループ情報をインポートします。 ファイルスクリーンのテンプレートにはファイルグループの情報が含まれるので、以下順番で実行した方がよさそう。
PS> Dirquota template import /File:コピー先フォルダパス\quotatemplate.txt
PS> Filescrn filegroup import /File:コピー先フォルダパス\filescrntemplate.txt
PS> Filescrn template import /File:コピー先フォルダパス\filegroup.txt
  1. FSRMサービスを停止します。
PS> Stop-Service -name "srmsvc","srmreports"
  1. フィルタードライバーをデタッチします。FSRMでクォータ設定やファイルスクリーン設定をしているFドライブを指定してます。[2]
PS> fltmc detach quota F:
PS> fltmc detach datascrn F:
  1. FSRMでクォータ設定やファイルスクリーン設定をしているドライブにあるSystem Volume Informationフォルダにアクセスしたいので、フォルダーとサブフォルダーに、Administratorsグループの書き込みアクセス許可を割り当てます。3行目は見た目の問題っぽいのでやらなくてもよさそう。
PS> takeown /F "F:\System Volume Information" /A /R /D Y
PS> cacls "F:\System Volume Information" /T /E /G Administrators:F
PS> attrib -S -H "F:\System Volume Information\*" /S /D
  1. 「移行元サーバでの作業」の5.で採取したファイルをFSRMでクォータ設定やファイルスクリーン設定をしているドライブにあるSystem Volume Information\SRMフォルダーへコピーします。
  2. フィルタードライバーをアタッチします。ここではFSRMでクォータ設定やファイルスクリーン設定をしているFドライブを指定してます。
PS> fltmc attach quota F:
PS> fltmc attach datascrn F:
  1. FSRM サービスを開始します。
PS> Start-Service -name "srmsvc","srmreports"

移行先サーバの状態確認

FSRMを確認してみたら無事移行がされてました。画像はわかりにくいですが、移行先サーバで撮った画面です。




参考にしたサイト

<<参考情報>>
・File and Storage Services: Migrate the File and Storage Services Role
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn479285(v=ws.11)?redirectedfrom=MSDN

脚注
  1. 隠しファイルなので、フォルダオプションにて「隠しファイル、隠しフォルター、または隠しドライブを表示する」のラジオボタンを有効にする、「登録されている拡張子は表示しない」のチェックを外す、「保護されたオペレーションシステムファイルを表示しない」のチェックを外すあたりが必要。 ↩︎

  2. 移行先サーバでFSRMに何も設定してないと以下のようなエラーが出ますが、無視してOK。 ↩︎

Discussion