技術者情報
ソリューション
2019年1月23日(水)公開
第224回
記事INDEX
Windowsのファイルフォーマット形式としてサポートされているのは、FAT32、exFAT、NTFS、ReFSとなっています。
FAT32とexFATは一昔前のWindowsで採用されていたフォーマット形式で、最新のOS環境ではあまり利用されていません。Windows Serverを単体で利用する場合はNTFSを利用することが多いと思います。
では、ReFS(Resilient File System)とはどういったファイルフォーマットなのか、NTFSと比較してその特徴を理解してみましょう。特に注目しておきたい機能の差は以下となります。
| NTFS | ReFS | |
| 最大ボリュームサイズ | 256 TB(テラバイト) | 4.7 ZB(ゼタバイト) |
| OSの起動領域 | 〇 | × |
| ボリュームの拡大 | 〇 | 〇 |
| ボリュームの縮小 | 〇 | × |
| 重複除去 | 〇 | 〇 |
| ファイルの圧縮 | 〇 | × |
| ファイルの暗号化 | 〇 | × |
| BitLockerによる暗号化 | 〇 | 〇 |
| ディスク クォータ | 〇 | × |
| リムーバブルメディアのサポート | 〇 | × |
| 固定仮想ディスクファイル作成の高速化 | × | 〇 |
| ブロックの複製 | × | 〇 |
| ミラーリングによって高速化されたパリティ | × | 〇 |
| ボリュームオンラインでのデータ修復 | × | 〇 |
ReFSの特徴としては、
・大容量のデータ、ボリュームを扱えるようになった。
・NTFSではファイルの破損を回復するためにCheckDiskコマンドを実行してサーバーの再起動が必要でしたが、ReFSではオンラインでデータの修復が可能。
・冗長性と拡張性の高い「記憶域スペースダイレクト」との組み合わせにより、ミラーリングによって高速化されたパリティを実現し、高パフォーマンスで容量効率の高いストレージシステムが構築できるようになった。
といった点が上げられます。
NTFSとの互換性を維持しつつ、効率的に大容量のデータを扱うための新機能がReFSで実現されています。大規模なストレージを構成するファイルサーバーや、バックアップサーバーのデータ領域などはReFSを採用すべきと考えます。
Windows ServerやHyper-Vでは仮想ハードディスクを利用することができます。Hyper-Vの仮想マシンやサーバーのドライブにマウントして利用する場合、仮想ハードディスクは容量固定と容量可変の2種類を選択可能です。以前は容量固定の方がパフォーマンス的に有利といわれていましたが、最近では、容量固定、容量可変のパフォーマンスの差はほぼ無いといっていいほどになっています。仮想ハードディスクのフォーマット形式も、物理サーバーと同様にNTFS、ReFSなど選択が可能です。では、Windows ServerやHyper-V上の仮想マシンで仮想ハードディスクを利用する場合、ファイルフォーマットと仮想ハードディスクの種類で最適な組み合わせはどれになるのか、実際に Crystal Disk Mark を使ってベンチマークを取って検証してみましょう。
参考までにホストサーバー上の物理ドライブでパーティションを作成し、E・FドライブとしてNTFS、ReFSでそれぞれフォーマットしてベンチマークを取った結果がこちらです。NTFSでフォーマットした方が、若干ですがパフォーマンスが良いようです。
E・Fそれぞれのドライブ内で仮想マシンを作成します。仮想マシンにはデータディスクとして10GBの仮想ハードディスクを作成し、追加ドライブとして接続しています。
組み合せとしては、
D:\ 容量可変 + NTFS
E:\ 容量固定 + NTFS
F:\ 容量可変 + ReFS
G:\ 容量固定 + ReFS
を、それぞれホスト上のEドライブ(NTFS)とFドライブ(ReFS)上で2つの仮想マシンを同様に作成しています。
2つの仮想マシンと4つのドライブ、それぞれに対してベンチマークを取った結果がこちらです。
以上の測定結果から分かることは、
・仮想マシンのベースとなるホストサーバー上の物理ディスクでのファイルフォーマットは、NTFS、ReFSではパフォーマンスにおいて大きな差は確認できない。
・仮想ハードディスクは容量固定、容量可変どちらでもパフォーマンスの差は確認できない。
・仮想ハードディスクの場合、ReFSフォーマットでデータ書き込みに無視できないパフォーマンスの低下が確認できる。
となります。
以上を踏まえると、サーバーの物理ディスクに関してはNTFS、ReFSどちらのフォーマットでもパフォーマンス的な差はなく、仮想マシンで仮想ハードディスクを利用する場合はNTFSフォーマットを選択すべきと考えられます。
Hyper-VでReFSを利用する場合の利点として2つあげることができます。
1つ目は、容量固定の仮想ハードディスクの作成が速いことです。サンプルコードを使って確認してみましょう。
上記で利用したHyper-Vのホストサーバー上で、NTFSでフォーマットしたEドライブと、ReFSでフォーマットしたFドライブにそれぞれ10GBの容量固定の仮想ハードディスクを作成して、その処理時間を計測しています。NTFSでは12秒を要していた仮想ハードディスクの作成がReFSでは1秒で完了しています。VDIやホスティングなど大量の仮想ハードディスクを作成する場合などには、この速さはとても大きな利点となります。
2つ目は、ReFS上の容量固定の仮想ハードディスクでチェックポイントを作成した場合、チェックポイントの削除の際に行われる仮想ハードディスクの結合処理が速いことです。(容量可変でチェックポイントを削除した場合は、結合元の仮想ハードディスクファイルのサイズ変更が発生するため、パフォーマンスは容量固定の場合より劣ります。)
Hyper-Vのホストサーバーで、NTFSでフォーマットしたEドライブとReFSでフォーマットしたFドライブ上に、それぞれ容量固定200GBの仮想ハードディスクで仮想マシンを作成します。検証のために2つの仮想マシンでチェックポイントを作成します。
次に、2つの仮想マシンそれぞれにログインして、仮想マシンのCドライブ内に検証用で100GBの大きなファイルを作成します。
この状態でチェックポイントの削除(ファイルの結合)を行ってみましょう。ホストサーバーのイベントログ「Hyper-V-VMMS」には、ファイルの結合が開始されてから完了するまでのログが出力されています。
NTFS上の仮想マシンでは、ファイルの結合が完了するまでに”2分42秒”時間を要しています。
一方、ReFS上の仮想マシンでは、”1秒“で完了しているのが確認できます。
このようにReFSはHyper-V利用時にも大きなメリットを与えてくれます。ホストサーバーではReFS上のドライブに作成された仮想マシンであっても、仮想マシン自体のファイルフォーマットは任意に選択が可能です。ホストサーバーではReFS、仮想マシンではNTFSの利点を享受して仮想マシンを作成することも可能です。
重複除去は、簡単にいえば、ディスク内に存在するファイルの中で、同じファイルをひとまとめにして容量を削減する機能です。重複除去機能はWindows Server2012ですでに搭載されていましたが、最新のWindows Server 2019の重複除去では、重複除去率とパフォーマンスが改善されており、ファイル単位ではなくバイナリのデータ単位で重複を検出して除去するため、大幅に重複除去率が向上しています。
NTFSフォーマットで利用可能なファイルの圧縮と機能的には似ている部分がありますが、ファイル圧縮は特定のフォルダに対しての書き込み時に実行されるため、管理者側で明示的に対象フォルダを指定する必要がありました。重複除去は一度設定すればボリューム内のすべてのファイルが対象となり、定期的に実行されます。書き込みごとに圧縮される場合、継続的なパフォーマンスの懸念がありますが、重複除去はスケジュール設定が可能なため、慢性的なパフォーマンスへの影響を回避することができます。
さらに、Windows Server 2019ではファイルの圧縮がサポートされていない、ReFSフォーマットでの重複除機能が利用可能となりました。これによって、大容量のボリュームでパフォーマンスを維持しつつ、高いファイルの収容率を実現できるようになります。
同様のファイルが多数存在するような企業内のファイルサーバーや、VDIとして仮想マシンのテンプレートが多く利用されている場合など、重複除去の効果が期待できると考えられます。
重複除去を行った場合でも、ディスクのパフォーマンスは通常と遜色ないことが確認できます。
Windows Server 2019で利用できるストレージ機能の使いどころとしては、以下が考えられます。
・ReFSは大容量のファイルサーバーやバックアップサーバーの物理ドライブのファイルフォーマットとして積極的に採用すべき
オンライン状態で破損データの回復を図れる点や、重複除去機能による収容効率のアップ、「記憶域スペースダイレクト」との組み合わせによるミラーリングによって高速化されたパリティは、高いパフォーマンスと収容効率を必要とするデータの保存場所として最適と考えられます。
・Hyper-V環境においてReFSによるパフォーマンスアップを期待する場合は、容量固定の仮想ハードディスクの利用が最適
ホストサーバーでReFSによってフォーマットされたボリューム上に仮想マシンを展開することで、ディスクパフォーマンスのアップが期待できます。この場合、重複除去機能と併用することでサーバー当たりの収容効率を高めることが可能です。仮想マシン自体はこれまで通り、NTFSでのフォーマットでの利用が最適と考えられます。
以上、Windows Server 2019のストレージ関連の機能を確認しつつ、その使いどころを考えてみました。
高価なストレージ機材を揃えるまでもなく、Windows Server 2019には、パフォーマンスや障害対策に優れたストレージシステムを構築する機能がすでに搭載されています。
新しいWindows Serverには玄人受けする機能がたくさん盛り込まれていますので、ぜひお試しください。
できるPRO Windows Server 2016 Hyper-V
GMOインターネット株式会社 樋口 勝一 著
Windows Azure Pack プライベートクラウド構築ガイド
GMOインターネット株式会社 樋口 勝一 著
Category
Report Archive
2019年1月23日(水)
2018年12月19日(水)
2018年12月12日(水)
2018年11月28日(水)
2018年11月14日(水)
2018年8月22日(水)
2018年7月18日(水)
2018年6月27日(水)