Windows Server 2019が登場
2018年秋、Windows Serverの新しいバージョンである、Windows Server 2019が公開されました。見た目はほぼWindows Server 2016と変わりは無いものの、サーバー用途として玄人受けする新機能が追加されています。その中でも注目しているのはストレージ関連です。
Windows Serverでは、新しいストレージ関連の機能がWindows Server 2012 R2頃から追加され続けてきました。記憶域プールやスケールアウトファイルサーバ(SOFS)、記憶域スペースダイレクト(S2D)など、パフォーマンスや使い勝手の向上、冗長性などを踏まえつつ小規模から大規模まで展開できるような柔軟なストレージシステムを構築することが可能となっています。
今回は、Windows Server 2019でサーバー1台でも利用可能なストレージ関係の機能を確認しつつ、注目している新機能の使いどころを考えてみたいと思います。
目次
NTFSとReFS
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を利用する利点
Hyper-VでReFSを利用する場合の利点として2つあげることができます。
1つ目は、容量固定の仮想ハードディスクの作成が速いことです。サンプルコードを使って確認してみましょう。
上記で利用したHyper-Vのホストサーバー上で、NTFSでフォーマットしたEドライブと、ReFSでフォーマットしたFドライブにそれぞれ10GBの容量固定の仮想ハードディスクを作成して、その処理時間を計測しています。NTFSでは12秒を要していた仮想ハードディスクの作成がReFSでは1秒で完了しています。VDIやホスティングなど大量の仮想ハードディスクを作成する場合などには、この速さはとても大きな利点となります。
(Measure-Command {
New-VHD -Path E:\NTFS_10GB.vhd –Fixed –SizeBytes 10GB
}).TotalSeconds
12.0480127
(Measure-Command {
New-VHD -Path F:\ReFS_10GB.vhd –Fixed –SizeBytes 10GB
}).TotalSeconds
1.0446116
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には玄人受けする機能がたくさん盛り込まれていますので、ぜひお試しください。
著書の紹介欄
Hyper-Vで本格的なサーバー仮想環境を構築。仮想環境を設定・操作できる!
できるPRO Windows Server 2016 Hyper-V
◇Hyper-Vのさまざまな機能がわかる ◇インストールからの操作手順を解説 ◇チェックポイントやレプリカも活用できる Windows Server 2016 Hyper-Vは、仮想化ソフトウェア基盤を提供する機能であり、クラウドの実現に不可欠のものです。 本書では、仮想化の基礎知識から、Hyper-Vでの仮想マシンや仮想スイッチの設定・操作、プライベートクラウドの構築、Azureとの連携などを解説します。
初めてのWindows Azure Pack本が発売
Windows Azure Pack プライベートクラウド構築ガイド
本書は、Windows Azure PackとHyper-Vを利用し、企業内IaaS(仮想マシン提供サービス)を構成するための、IT管理者に向けた手引書です。試用したサーバーは、最小限度の物理サーバーと仮想マシンで構成しています。Windows Azure Packに必要なコンポーネントのダウンロード、実際にプライベートクラウド構築する過程を、手順を追って解説しています。これからプライベートクラウドの構築を検討するうえで、作業負担の軽減に役立つ一冊です。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(418)
-
イベント(155)
-
カルチャー(35)
-
デザイン(16)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- Designship
- DevSecOpsThon
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOデジキッズ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kids VALLEY
- LLM
- MetaMask
- MySQL
- NFT
- NVIDIA
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- ゆめみらいワーク
- リモートワーク
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP