サーバーに関与する中で最も重要なコンポーネントの1つはストレージです。これには、ハイパーバイザーがインストールされており、仮想マシンが実行されている仮想化サーバーも含まれます。ストレージは、VMデータや仮想ディスクを保持するための信頼性が高いか低いか、およびパフォーマンスが高いか低いかを引き起こす可能性があります。Hyper-V仮想環境では、さまざまなストレージタイプを使用でき、管理者はサーバーを構成する前や仮想マシンを展開する前に正しい選択をする必要があります。
このブログ投稿は、環境に最適なストレージ選択を行い、効率的に要件を満たすものを選択するために、さまざまなストレージオプションを探索するのを支援することを目的としています。
Hyper-Vストレージの推奨事項
Hyper-Vサーバーにマウントできるストレージには、ローカルストレージとリモートストレージの2種類があります。
ローカルストレージは、サーバーにローカルに接続された複数のディスクで構成されています。このようなディスクは、通常、サーバーのシャーシ内にあるRAID(Redundant Array of Independent Disks)コントローラーにSAS(Serial Attached SCSI)インターフェースで接続されています。SASディスクの信頼性が高いため、SASディスクを使用することが推奨されます(互換性があるにもかかわらず、SATAディスクはSASポートに接続できますが、その逆はできません)。ローカルストレージはリモートストレージよりも手頃な価格になることがあります。Hyper-Vクラスターを展開する予定がない場合は、ローカルストレージを使用できます。
リモートストレージは、Hyper-Vサーバーから別々に配置され、iSCSI、Fibre Channel、またはSMB 3.0プロトコルを介してサーバーに接続されます。Fibre ChannelとiSCSIはブロックレベルのストレージを提供し、SMB 3.0はファイルレベルのストレージです。Fibre Channelには、サーバーをストレージに接続するための特別な物理インターフェースが必要です。たとえば、SAN(ストレージエリアネットワーク)などがあります。FCoE(Ethernet上のFibre Channel)を使用して、Ethernetネットワークを介してストレージに接続することができます。iSCSIプロトコルは、サーバーをSANまたはNAS(ネットワークアタッチドストレージ)に接続するために使用できます。NASデバイスは、内部にディスクドライブ用のスロットを持ち、外部ネットワークに接続するための異なるポートを持つミニサーバーのように見えます。スタンドアロンサーバーもNASとして構成することができます。SANとNASは、より高い信頼性のためのデータの冗長性を確保できます。
フェイルオーバークラスタを展開する場合、クラスタ内のすべてのノードで共有されるリモートストレージを使用する必要があります。この場合、そのようなストレージは共有ストレージと呼ばれます。
RAID 1またはRAID 10を使用
RAIDは独立したディスクの冗長配列です。ストレージのデータ冗長性は、ディスクの障害発生時にデータを保護します。いくつかのRAIDタイプがあります。
RAID 0は冗長ではなく、ディスクストライピングと呼ばれます。耐障害性はありません-1つのディスクの故障が配列全体の故障を引き起こします。パフォーマンスの向上が使用ケースとして挙げられます(たとえば、テレビ業界向けのライブストリームのキャッシュ)。このタイプのRAIDを構築するには、少なくとも2つのディスクが必要です。
RAID 1は冗長です。1つのディスク上のすべてのブロックが別のディスクにミラーリングされるため、100%の冗長性が実現されます。ディスクの1つが故障した場合、第二のディスクのデータにアクセスして、配列を再構築することができます。成功率の高い配列の再構築が可能です。RAID 1はフェールオーバーストレージに使用できます。このタイプのRAIDを構築するには、最低2つのディスクが必要です。
RAID 10はRAID 0とRAID 1の組み合わせです。これらの両方の配列タイプの利点が利用され、その結果、より高性能な耐障害配列が得られます。ミラーリングされたディスクはストライプに組み込まれます。このタイプのRAIDを構築するには、最低4つのディスクが必要です。RAID 10が4つのディスクで構成されている場合、データは単一のディスクの故障の場合に保護されます。さらに、異なるミラーから2つのディスクが故障しても、4つのディスク配列は生存します。
RAID 5はパリティを使用したストライピングを提供します。ブロックはディスク全体にストライプ化されますが、回復に使用できるパリティ情報もディスク全体に格納されます。パリティ情報が占めるスペースは1つのディスクの容量と同じです。たとえば、4つのディスク配列の場合、パリティ情報はスペースの約25%を占めます。RAID 1のように100%冗長ではありません。理論上、RAID 5はディスクの1つが故障した場合でも生存できます。このタイプのRAIDを構築するには、最低3つのディスクが必要です。
RAID 6はダブルパリティを使用したストライピングを提供します。これはRAID 5のコンセプトに類似していますが、パリティ情報は1つのディスクではなく2つのディスクに格納されます。RAID 6は最大2つのディスクの故障の場合に生存できます。このタイプのRAIDを構築するには、最低4つのディスクが必要です。
最初から見ると、RAID 5とRAID 6は魅力的に見えますが、よく見てみましょう。RAID 5は、ディスクの容量が非常に小さい時代に数十年前に開発されました。現代では、ハードディスクの容量はディスクの速度よりも速く成長しています。したがって、1つのディスクが故障すると、RAID 5の再構築には長い時間がかかる可能性があります。RAID 5の各ディスクのワークロードは、特にサーバーが同時に定期的なタスクを実行するためにストレージを集中的に使用する場合、再構築中に大幅に増加します。RAID 5に属するディスクには、ほとんど使用されないデータがある場合があります。このデータを正常に読み取れるかどうかはわかりません。これにより、エラーの発生確率が増加します。配列の再構築中にエラーが発生すると、配列全体が失敗する可能性があります。RAID 5に1つの故障したディスクがある場合、この配列はRAID 0のように機能し、データがリスクにさらされます。
RAID 6は、RAID 5と比較して回復に使用できるパリティデータが2倍あります。その結果、1つのディスクの故障を生き残る確率および成功した再構築の確率が高くなります。RAID 6には別の問題があります。RAID 10およびRAID 5と比較してパフォーマンスが最も低いです。パフォーマンスの問題は、再構築中に特に目立ちます。
見ての通り、RAID 1とRAID 10は最も高い信頼性を提供し、そのためHyper-Vストレージに使用することが推奨されています。ハードウェアRAIDは、物理サーバーまたはNASデバイスのどちらにでも構成できます。
高速ストレージを活用する
ストレージの入出力パフォーマンスは、十分なVMパフォーマンスを提供する上で重要な影響を与えます。最速のハードディスクドライブ(HDD)を使用してVMを保存する必要があります。高性能特性を持つ現代のハードディスクは多種多様であり、ギガバイトあたりの手頃な価格で高速な速度を提供します。ハードディスクドライブの速度がVMに十分でない場合、Solid State Drive(SSD)を使用することができます。従来の回転式HDDと比較して、SSDには動く部品がないため、より高速な速度を提供しますが、より高価です。SSDのギガバイトあたりの価格は高く、全体の容量は通常HDDよりも少ないです。Hyper-Vストレージに最高のパフォーマンスを持つディスクを利用することで、VMは遅延なく動作することができます。
VMを保存するために専用のボリュームを利用する
システムボリュームにVMを保存しないでください。システムボリュームには通常、オペレーティングシステムによって使用されるシステムファイルの読み取りや書き込みが占められています(デフォルトではC:\が常にシステムボリュームです)。そのため、VMファイルをシステムボリュームに保存すると、VMのパフォーマンスが低下する可能性があります。別の問題として、ボリュームの十分な空き容量がない場合があります。この状況は、システムファイルがすべての空きディスク容量を占有しているか、仮想ディスクファイルなどのVMファイルがすべてのディスク容量を占有している場合に発生する可能性があります。その結果、システムボリューム内にファイルを保存しているVMは障害のリスクにさらされます。さらに、オペレーティングシステムやVMのデータ用のドライブにシステムファイルなどを保存しないでください。
1つの場所にVMファイルを保存する
Hyper-V仮想マシンの主なファイルの一部は次のとおりです:VHDX(VHD)- 仮想ディスクファイル、AVHDX-差分仮想ディスクファイル、VMCX-構成ファイル、およびVMRS-ランタイム状態ファイルです。 VMファイルは、管理者にとって便利ではない異なるデフォルトの場所に保存される場合があります。 これを避けるために、現在のVMに属するすべてのファイルを保存するための単一のディレクトリを指定します。 下のスクリーンショットでは、Server2016-01という名前のVMに属するすべてのファイルが、Server2016-01という名前のディレクトリのサブディレクトリに保存されていることがわかります。
BIN(VMRS)ファイル用のスペースを残す
BINファイルは、メモリ状態を保存するためにディスクスペースを消費します。 この目的のために、VMファイルが保存されているボリュームには予約スペースを残しておく必要があります。 Hyper-V 2016以降、このファイルタイプの拡張子はBINからVMRSに変更されています。 このファイルタイプは、仮想ディスクVHDXファイルに続いてディスクスペースの消費において第二の場所を占めます。 BIN(VMRS)ファイルのサイズは、VMの仮想メモリのサイズと同じです。 たとえば、VMが30GBの仮想ディスクと8GBの仮想メモリを持っている場合、ストレージには少なくとも38GBの予約スペースを確保する必要があります。 VMの動的仮想メモリが構成されている場合、その現在の時点で割り当てられたメモリ量と同じだけのBIN(VMRS)ファイルサイズになります。
どのファイルシステムを使用するか:NTFSまたはReFS?
NTFS(New Technology File System)は、1993年にMicrosoftによって作成されたファイルシステムであり、現在でもWindows環境で広く使用されています。
ReFS(Resilient File System)は、Windows Server 2012とともにリリースされたMicrosoftの最新のファイルシステムであり、以下のような改善点があります:
- メタデータとファイルのチェックサムを使用してデータの破損を防ぐ
- ストレージスペースとの統合
- 自動データ整合性チェックとエラー修正(エラーが発生した場合)
- ブロックのクローン技術(VMをクローンする際に便利)
- 停電に対する耐性の向上
- BitLockerによる暗号化のサポート
- 最大ファイルサイズおよびファイル名の長さの増加
- 最大ボリュームの増加
- 固定仮想ディスクの高速作成
ご覧の通り、ReFSファイルシステムには利点の長いリストがあり、サーバーのストレージ要件を効率的に満たすように設計されています。ただし、いくつかの欠点も存在します:
- ReFSボリュームからWindowsをロードできない
- データの圧縮、Windowsファイルベースの重複排除、ファイルの暗号化、ハードリンク、拡張属性、ディスククォータはサポートされていない
- クラスタ共有ボリュームには使用できない
- レガシーの8.3ファイル名のサポートが提供されていない
最後に、ファイルシステムの選択は管理者に委ねられます。 ReFSの制限がシステムに影響しない場合、Hyper-VストレージにReFSを使用することが推奨されます。
高速ストレージネットワークを使用する
リモートストレージを使用する場合、ネットワーク接続は重要な要素です。NASやSANに高速ディスクがあっても、遅いネットワーク接続を持っているとストレージシステム全体のパフォーマンスが低下します。そのため、低遅延の専用高速ネットワークを使用することが推奨されています。受け入れ可能な速度を確保するためには、10ギガビットのネットワーク接続が推奨されます。帯域幅集約のためにNICチーミングを使用することも役立ちます。
SMB3共有にドメインコントローラを保存しない
適切にSMB 3.0共有を機能させるためには、ドメインコントローラにアクセスする必要があります。SMB 3.0共有を持つホストやHyper-Vホストがドメインコントローラにアクセスできない場合、認証が行われず接続が確立されません。この状況では、Hyper-VサーバーはSMB 3.0共有に配置されたドメインコントローラを持つVMを起動することができません。この問題を防ぐために、ドメインコントローラをHyper-Vホストのローカルストレージに保存してください。
クラスタストレージにクラスタ共有ボリュームを使用する
クラスタを展開する際には、共有ストレージを構成する必要があります。CSVを使用しない従来のストレージを使用すると、同じディスク/LUNに同時に1つのノード(Hyper-Vホスト)しかアクセスできません。Cluster Shared Volumes(CSV)は、ボリュームを再マウントしたり所有権と権限を変更したりすることなく、複数のノードがストレージに同時にアクセスできるようにすることでこの問題を解決できます。CSVを使用すると、Hyper-V用にNTFSまたはReFSの上にクラスタファイルシステムを持つことができます。
パススルーディスクの使用を避ける
A pass-through disk is a physical disk (LUN) that is connected to a virtual machine. This type of disk is used as a storage device and is connected directly to the disk controller of a VM. For the first versions of Hyper-V, using pass-through disks helped increase performance. Nowadays, formats of virtual disks are progressive enough – thus, including performance and using pass-through disks does not make sense because of the issues that may occur when using them. You cannot easily move a pass-through disk with a virtual machine, and backup software cannot make a backup of a VM with this disk type on a host level.
好ましい仮想ディスクタイプはVHDまたはVHDXか?
VHDは、2003年に導入された仮想マシンの仮想ディスクのレガシーフォーマットです。VHDXは、より進歩的なフォーマットであり(Windows Server 2012と共にリリース)、仮想ディスクの容量制限が高く(最大64TBまで)、4KBのブロックをサポートし、仮想ディスクのライブリサイズが可能であり、電源喪失によるデータの破損の可能性を減らす連続的なメタデータ構造の更新があります。そのため、Hyper-V環境ではVHDX仮想ディスクを使用することをお勧めします。
固定サイズと動的拡張仮想ディスクの使用
A fixed virtual disk is a VHDX (VHD) file that consumes all pre-allocated space on storage, despite the amount of space used inside the virtual disk. The advantages of using a fixed virtual disk are that they work faster, no issues may be caused by over-provisioning, and the fragmentation of the VHDX file is the same after creation. The disadvantages of using a fixed virtual disk are that their creation may take a longer time on NTFS volumes, and more space on storage is needed for disk creation.
動的拡張仮想ディスクは、事前割り当て後の数キロバイトの小さなサイズから始まり、仮想ディスク内にファイルを書き込むと成長し、ディスク作成時に事前割り当てられた最大サイズに達するまで増加します。このタイプのディスクのデータが削除された場合、動的ディスクは自動的に縮小されません。動的ディスクの利点は、スペースを節約し、迅速に作成でき、オーバープロビジョニングが含まれることです。欠点は、動的ディスクが固定ディスクよりも遅く、より高い断片化を伴い、オーバープロビジョニングが動的ディスクの成長後にストレージ上の十分な空き容量不足を引き起こす可能性があることです。
必要に応じて、固定サイズと動的仮想ディスクの両方を使用できます。
差分仮想ハードディスク
A differencing virtual hard disk is a virtual disk file (AVHDX or AVHD) that is created in the VM directory with virtual disks after checkpoint creation. The purpose of differencing the virtual disk is storing changes that are written to a parent virtual disk of a VM after creating a checkpoint. A parent virtual disk can be a fixed, dynamic, or differencing disk. When a checkpoint is deleted, the differencing virtual disk that has been created with this checkpoint is merged with a parent virtual disk. Differencing virtual disk can also be created with Hyper-V’s new virtual hard disk wizard. It is important to note that creating a high number of checkpoints causes the creation of growing differencing virtual disks, which results in performance decreases.
ディスクの健康状態とパフォーマンスの監視
定期的にディスクの健康状况を監視することは、データの破損を引き起こす可能性のあるディスクの損傷を防ぐことができます。RAIDに属するディスクを含むS.M.A.R.T.(自己監視、分析、および報告技術)データを監視するツールを利用してください。問題のあるディスクを早期に認識すれば、データの安全性を向上させる可能性が高くなります。また、ディスクのパフォーマンスも監視することが重要で、ディスクを過剰に使われているかどうかを识別することができます。これは、ディスクに依存している操作のあるVMを他のストレージ間で再分配する決定を助け、全体のパフォーマンスを最適化することができます。
結論
ストレージは、サーバーの重要なコンポーネントです。なぜなら、ストレージに含まれるデータが、ほとんどのIT会社にとって特に重要であるからです。本日のブログ記事では、Hyper-V用の最良のストレージ惯例について説明しました。これらは、VMのパフォーマンスを最適化し、ストレージの高い信頼性を確保することができます。上記のすべての推奨に基づいて、あなたの環境に适合するものを選びましょう。
最良のストレージを持っていても、Hyper-V VMデータの適切なバックアップが重要です。NAKIVO Backup & Replicationは、Hyper-V VMの最も効率的なバックアップを助けることができます。
Source:
https://www.nakivo.com/blog/hyper-v-storage-best-practices/