今回は、Windows Server 2022を使用してVSS(Volume Shadow Copy Service)の設定を行います。
期待する目標
本手順で期待する目標は以下の通りです。
- Windows Server 2022でVSSの設定ができる
- VSSの挙動が理解できる
- VSSを使用してファイルのシャドウコピーができる
- VSSを使用してファイルの復元ができる
前提条件
本手順で使用するWindows Serverの構成は以下の通りです。
- CPU : 2vCPU
- MEM : 4GB
- DISK1 : 60GB
- DISK2 : 60GB
- ドメイン : 参加済み
ファイルサーバのインストール
VSSの検証にファイルサーバの機能は必要ないですが、VSSを使用する環境で一番多いのがファイルサーバだと思われるので、今回はファイルサーバ上のボリュームに対してVSSを適用させてみたいと思います。

ボリューム構成は、WindowsOSをCドライブにインストールし、ファイルサーバ用のボリュームとしてVドライブを追加しています。

今回はVドライブ上に[FileServer]というフォルダを作成し、このフォルダを共有し、ファイルサーバを構築していきます。

[サーバマネージャー]-[管理]-[役割と機能の追加]を押下します。

[開始する前に]より、[次へ]を押下します。

[インストールの種類]より、[役割ベースまたは機能ベースのインストール]が選択されていることを確認して、[次へ]を押下します。

[サーバの選択]より、[サーバプールからサーバを選択]が選択されていることを確認します。
[サーバプール]より、インストールする対象のサーバが選択されていることを確認し、[次へ]を押下します。

[サーバの役割]より、[ファイルサービスと記憶域サービス]-[ファイルサービスおよびiSCSIサービス]-[ファイルサーバ]を選択し、[次へ]を押下します。

[機能]では、機能を追加しないため、何も選択せずに[次へ]を押下します。

[確認]より、インストールする役割と機能を確認し、[インストール]を押下してインストールします。
以上でファイルサーバの役割のインストールは完了です。
Windows Server で詳しいファイルサーバのインストール手順を確認したい場合は、以下の記事をご覧ください。
ファイル共有
ファイルサーバ機能のインストールが完了したら、ファイル共有をしてファイルサーバを構築していきたいと思います。

共有するフォルダを右クリックし、[プロパティ]を選択します。
[共有]タブより、[詳細な共有]-[詳細な共有]を押下します。

[詳細な共有]より、[このフォルダを共有する]を押下し、チェックを入れいます。

詳細な共有より、[共有名]を入力し、[アクセス許可]を押下します。

[共有アクセス許可]より、[Everyone]に対し、フルコントロールを設定します。
設定が完了したら、[OK]を押下します。

[詳細な共有]より設定が完了したら、[OK]を押下します。

次にNTFSアクセス権を設定していきます。
フォルダのプロパティより、[セキュリティ]タブを開き、[編集]を押下します。

必要に応じてファイルサーバにアクセス許可を行うユーザやグループを追加してください。
追加したユーザ・グループに対し、[アクセス許可]より、必要なアクセス権をつけてください。
設定が完了したら、[OK]を押下します。
以上でファイル共有の設定は完了です。
必要に応じてアクセス権が正しく設定されているか確認してください。
VSSの設定
ファイルサーバの構築が完了したら、VSSの設定を行っていきます。

エクスプローラより、VSSを行うボリュームを右クリックし、[シャドウコピーの構成]を押下します。

[シャドウコピー]のタブより、VSSを設定するボリュームを選択し、[設定]を押下します。

[設定]より、以下の設定を行います。
- 次のボリューム上に配置 : V:\ (任意のドライブ)
- 最大サイズ : 制限値 (任意の設定)
- 最大サイズ量 : 6142 MB (任意の量)
VSSについては、実データのコピーを保存するわけではないので、基本的な設計思想として「ボリュームに対して10%の割合を確保しておく。」というのが定石な気がします。
また、VSSの挙動として、VSS実行時間の静止点を取得し、そこからの差分を保存しているので、大きいデータを多く変更するなどの特殊な用途でなければ、10%程確保すれば問題ないと思います。
また、この領域については、あとから拡張も可能なので、いったん10%に設定して問題があれば適宜増やしていくといった運用でもよい気がします。
設定が完了したら、[スケジュール]を押下します。

[スケジュール]より、VSSが動作するスケジュールを設定していきます。
- タスクのスケジュール : 日単位 (任意のスケジュール単位)
- 開始時間 : 任意の開始時間
- タスクのスケジュール : 任意のスケジュール間隔
VSSの動作スケジュールについては、設計要件により異なります。
基本的には毎日スケジュールしたほうが復元ポイントを確保でき良いように見えますが、VSSを行っている間はディスクアクセスが発生するので設定する際は、業務特性に応じた設定を行ってください。
割と多いのが、1週間に1回や、2~3日に1回などが多いです。
また、VSSを動作させるタイミングについては、基本的に業務時間外に動作させることが原則です。
実際にVSSを動作させる時間でバッチ処理が動いていないなど、裏で動かしている処理が無い時間帯を考慮に入れて動作時間を設計しましょう。
設定が完了したら、[OK]を押下します。

VSSの設定が完了したら[OK]を押下し、設定を確定させます。
以上でVSSの設定は完了です。
VSSの挙動確認
では、実際にVSSの挙動確認を行っていきます。

VSSが動作する前に、[vss_test.txt]というテキストファイルを作成しました。
内容は、[2022/11/04 VSS TEST]と記載しています。
VSSの動作時間帯後に[aaaaa]と追記をしてテキストファイルを保存しました。

保存したテキストファイルを右クリックし、[プロパティ]-[以前のバージョン]タブに移動します。
[ファイルのバージョン]より、VSSが動作する前のファイルがあることを確認します。

VSSで取得された日付のファイルを確認し、[開く]を押下します。

ファイルを開くとVSSが動作した時点のファイルになっていることを確認します。

次に、[復元]を押下して、ファイルを復元してみます。

復元前に確認のウィンドウが出てくるので[復元]を押下します。

[ファイルは以前のバージョンに正しく復元されました。]と表示されるので、[OK]を押下します。

VSSの動作時点のファイルに復元ができ、タイムスタンプがVSS動作前のものとなりました。
復元タイミングの表示について
VSSは、ボリューム内でスナップショットを取得し、その後のファイルを更新することで、以前のバージョンが表示されるようになります。

このファイルは、2022/12/04 18:13のファイルです。
VSSは2022/12/04 18:15に動作しています。
この状態で、以前のバージョンを表示しても復元できるバージョンが無いため、表示されません。

VSSの動作後にファイルを更新すると、以前のバージョンが表示されるようになります。
VSSの設定変更方法

VSSの設定後に、VSSの設定を無効化・設定変更を行う場合は、ボリュームのプロパティより行います。
VSSの設定変更するボリュームを選択し、[無効]を選択することで、VSSの動作を無効化することができます。
また、[選択したボリュームのシャドウコピー]より、VSSを作成したり作成したVSSを削除したりすることができます。
まとめ
今回は、ファイルサーバを構築してVSSの設定を行いました。
VSSを使用することで、Windowsの機能でファイルの復元ができるため、疑似的なバックアップができるため、有効活用すると非常に強力なツールとなります。
今の状態だと、VSSが作成された時点で全員が復元できる権限を持っているので、運用としてVSSの復元ができるユーザを制限したりした方が安全かもしれません。
今回は10%のVSS領域を確保しましたが、長期的な運用をしてみて10%の容量確保が妥当かをナレッジとして持っておいた方がよいと思います。
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント