ストレージの管理

概要

Windowsでは、LinuxでいうLVMのようなものから、ストレージプールのようなものを作成するなどのストレージ仮想化まで行うことができる。

Overview

ボリュームは、Cドライブなど普段使用しているドライブに当たる概念で、パーティション+ファイルシステムみたいなもの、として理解しておけば大丈夫そう。ただし、ボリュームとパーティションを混同して使うこともあるので、あまり区別して考えないほうが良い。

仮想ディスクの種類

仮想ディスクとは、VHDファイルと呼ばれるハードディスクイメージを1つのファイルとしてカプセル化したもの。
Hyper-Vによる仮想マシンにも利用される一方で、通常のHDDのようにデータを保存したり、VHDブートのようにOSをインストールしてブートイメージとして利用できる。
  • VHD
    • 最大2040GBの仮想ディスクをサポート
    • Windows Server 2012以前であっても利用可能
    • “容量固定”での利用を推奨
  • VHDX
    • 64TBまでの仮想ディスクをサポート
    • 電源障害児の回復機能もある
    • Windows Server 2012以降でのみ利用可能
    • “可変容量”での利用を推奨

パーティションの種類

3種類に大別される。

  1. アクティブパーティション
    • コンピュータ起動時にどのシステムパーティション(つまりどのOS)を使用するか
  2. システムパーティション
    • OSブート時に使用するファイルがある
  3. ブートパーティション
    • システムファイルがある

インストール時にデフォルトのままにしていると、以下のようになる。

  • ブートローダー用のパーティションがアクティブパーティションかつシステムパーティション
  • Cドライブがブートパーティション

パーティションスタイル

ディスクごとに、パーティションの情報を管理している。この管理方法をパーティションスタイルという。
Windows Server

2012R2では、BIOSの場合には、MBRが選択され、EFIの場合には、GPTが選択される。

  • MBR
    • プライマリパーティションが4つまで
  • GPT
    • 2TB以上のボリュームを使用する場合に、利用する

ディスクの管理方式

  • ベーシックディスク

    昔からある形式のディスク。パーティションの種類は以下の2つ。

    • プライマリパーティション
    • 拡張パーティション
  • ダイナミックディスク

    色々な付加的な機能が利用できるディスク。ベーシックディスクから、変換も可能。
    ダイナミックでは、パーティションのことを”ボリューム”と呼ぶ。
    • シンプルボリューム
    • スパンボリューム
      • 複数のディスクを1つにまとめて、ボリュームにする
      • 1つのディスクが故障すると、ボリューム全体が使用不可になる
      • システムパーティションや、ブートパーティションには使えない
    • ストライプボリューム
      • 複数のディスクを用いて、RAID-0構成をつくる
      • システムパーティションや、ブートパーティションには使えない
    • ミラーボリューム
      • RAID-1 構成をつくる
    • RAID-5ボリューム
      • RAID-5 構成をつくる
      • システムパーティションや、ブートパーティションには使えない

記憶域プール/記憶域スペース機能について

以下のドキュメントを参照。

記憶域プール

複数のディスクを束ねる機能。
注意点としては、後述のキャッシュなどの目的を除き、速度の違うディスクを同じプールに入れないこと。
プールに後からディスクを追加することは可能。

記憶域スペース

記憶域プール上に作成される、仮想ディスクのこと。
機能としては、以下のようなものがある。
  1. レイアウト

    • 記憶域プールに含まれる物理ディスク上の配置方法を決めている

    • 選択可能なレイアウトは以下。

      • シンプル

        RAID-0相当。スループットは良いが、他の方法で冗長性を担保する必要がある。

      • ミラー

        RAID-1相当。1つのデータを2つ/3つに複製して、異なる物理ディスクに保存する。

      • パリティ

        RAID-5 or RAID-6相当の2つから選択可能。

  2. プロビジョニング
    仮想ディスクを作成するときのサイズ指定方法。
    • シンプロビジョニング
      • 作成する仮想ディスクサイズの領域を、使用されるまで実際には確保しない
      • 物理容量が、100GBしかなくても、500GBのディスクを作成可能
      • デフォルトでは、物理ディスク容量の70%を使用すると、イベントログなどに警告がでるので、記憶域プールにディスクを追加しよう
    • 固定プロビジョニング
      • 仮想ディスクと同じ容量を記憶域プールから割り当てる
  3. ホットスペア

    • 通常は待機状態で、他のディスクが故障した場合の代替ディスクとして動作させるディスク
    • Windows Server 2012R2からは、ホットスペアの代わりに、記憶域プールないの空きディスクや空き領域を使用してディスク障害に対応できる(並行リビルド機能)
    • そのため、Windows Server 2012 R2では推奨でない
  4. 記憶域階層

    • 記憶域プールにSSDとHDDが両方ある場合、ホットデータをSDDに、コールドデータをHDDに、ブロック単位で自動配置する機能
  5. ライトバックキャッシュ

    • 記憶域プールにSSDが存在している場合に、ランダム書き込みのバッファとして利用する機能

設計時の注意点

  1. 必要な物理ディスクの数
    レイアウトごとに耐障害性、最低限必要なディスク数が異なる。
    また、容量については、シンプロビジョニングが使用可能な構成か確認する必要がある。
  2. 記憶域プール
    記憶域プールに低速なデバイスを混ぜると、全体のパフォーマンスが低下するため、注意する。
  3. プロビジョニング
    少なくとも以下の場合には、固定プロビジョニングのみ利用可能で、シンプロビジョニングは選択できない。
    • ディアルパリティを利用する場合
    • 記憶域階層を利用する場合
  4. 記憶域階層、ライトバックキャッシュ
    記憶域階層/ライトバックキャッシュを利用する場合、SSDが必要。
  記憶域階層 ライトバックキャッシュ
シンプル 1台以上 1台以上
双方向ミラー 2台以上 2台以上
3方向ミラー 3台以上 3台以上
シングルパリティ 使用不可 2台以上
デュアルパリティ 使用不可 3台以上

その他の制限事項

  1. 記憶域スペースは、ブートドライブ、システムドライブには利用できない
  2. RAIDコントローラ利用時には、RAID機能を無効化してから使う
  3. FC, iSCSIはサポート外
  4. 記憶域プール内のディスクは同一セクターサイズ
  5. 記憶域スペースは最大128個 / 1記憶域プール

PowerShellのコマンド

メディアの種類がUnknownのものは、コマンドから設定可能。

Set-PhysicalDisk -FriendlyName <Disk Name> -MediaType HDD
Set-PhysicalDisk -FriendlyName <Disk Name> -MediaType SSD

ファイルシステムについて

ファイルシステムの種類

  • NTFS

    • 現状最も汎用的なファイルシステム
    • ファイル、フォルダのアクセス許可
    • 暗号化(EFS, BitLocker, AD RMS)、圧縮、重複排除などの機能もある
      • とはいえ、パフォーマンスは落ちるので、注意
      • フォルダごとに圧縮機能を有効化するなどして、運用でどうにかするしかない
  • ReFS

    • 大容量ボリュームでの利用も想定した、信頼性の高いファイルシステム
    • ブートボリュームやリムーバブルディスクには使えない
    • 暗号化、圧縮、重複排除もない
  • FAT
    古くからある。exFATなどもある。