こんにちは、サーバーワークスの加藤ゆです。
Windowsで2TBのディスク容量を超えると困った事が起きます。
対策としてWindowsのパーティション形式を変換する方法について記載します。
はじめに
Windowsのパーティション方式
MBR(マスターブートレコード)とGPT(ガイドパーティションテーブル)の2種類があります。
パーティションとは、1つ1つの仕切られた領域の事のようです。
たとえば300畳(GB)のフロアを、100畳(GB)と200畳(GB)の部屋に仕切るようなものだと理解しました。
パーティションを分けるメリットとしては、1つのディスクを複数のドライブに分けて使える事です。
1部屋ワックス清掃したとしても、別の部屋には影響しないのでイイね、みたいな事かと思います。
MBR・GPTとは
ハードディスクのパーティション形式の種類の事。
ディスクがどのようにハードディスク上のデータにアクセスするかを定めているものです。パーティションの管理の仕方が異なります。
ざっくりマスターブートレコード(MBR)形式とは?
- 古く一般的に利用されるパーティション形式
- 領域の上限2TiBまで認識可能
- パーティションの数は最大4(4部屋まで)
- XP以前のOSでも使用可能
ざっくりガイドパーティションテーブル(GPT)形式とは?
- 比較的新しいパーティション形式
- 2TiBを超える大容量ハードディスクを認識可能
- パーティションの数は最大128 (128部屋まで)
- 64bitの環境が必要
- Windows Vista以降で利用可能
何が起きるのか?
構築後2TiBで運用していたWindowsのボリューム容量を増やそうとした際に、
MBR形式のディスクの場合、2TiB以上が読み込まれない!ディスク増やしたのに使えない!
ということがおきます。
Amazon EC2 では、Windows ブートボリュームで MBR パーティションを使用する必要があります。「パーティションスキーム」で説明されているように、ブートボリュームは 2 TiB を超過して使用することはできません。
Windows データボリュームはこの制限の対象外であり、GPT でパーティション分割を使用できます。2 TiB 以上の Windows ブートボリュームがダイナミック MBR パーティションテーブルを使用するように変換された場合、ディスクマネージャーでボリュームのエラーが表示されます。
2 TiB (2048 GiB) 以上の Windows の非ブートボリュームは、GPT パーティションテーブルを使用してボリューム全体にアクセスする必要があります。サイズが 2 TiB を超える EBS ボリュームが起動時に Windows インスタンスにアタッチされている場合、GPT パーティションテーブルで自動的にフォーマットされます。サイズが 2 TiB を超える EBS ボリュームを起動後に Windows インスタンスにアタッチする場合、GPT テーブルで手動で初期化する必要があります。詳細については、「Windows で Amazon EBS ボリュームを使用できるようにする」を参照してください。
EC2 では、Windows ブートボリューム(Cドライブ)で マスターブートレコード(MBR)形式 を使用する必要があります。上記の通り、EC2で2TiB以下のWindowsサーバーを起動すると、無条件にMBRでフォーマットされます。
しかし、MBRでフォーマットされたボリュームは、2,048GiBまでしか認識されません。つまり、2,048GiBを超えたものはアタッチしていても利用できないのです。
例えば、せっかく3TiBにEBSボリュームを拡張したとしても、MBR形式でフォーマットされたボリュームを利用していた場合、残りの1TiBは利用できなくなります。ただついてるだけですね。
従って、拡張性を考えると、ボリュームを分けて利用し、追加ボリュームをGPT形式で利用する事が推奨されます。
MBR形式→GPT形式の変換作業をやってみる
ドライブを分ける場合、EC2は2TB以下のディスクはMBRでフォーマットされるため、GPT形式へ変換作業を行う必要があります。
この作業にはディスクの初期化が伴うので、初期構築時の対応を推奨いたします。
前提条件
追加のEBSボリュームをEC2インスタンス(Windows2019)にアタッチ済みであること
実施内容
ディスク方式をMBR形式 → GPT形式へ変換
デモ環境
- Windows Server 2019
手順
1. ディスクの管理
- 「Windowsキー」+「X」よりメニューから「ディスクの管理」を押下
- ディスクの管理の表示
2. GPT形式へのフォーマット
※フォーマットを行うと、データはすべて削除されますのでご注意ください。
対象ディスクをGPT形式へ変換
①既存ボリュームを削除し、GPTへ変換する
②「ディスク部分」を右クリック、「GPTディスクに変換」を押下
この状態では、まだ未割当です。
③対象ディスクを右クリックし、「新しいシンプルボリューム」を押下
④ウィザードの開始
- ボリュームサイズの指定
※デフォルトで最大領域を指定しています。問題無ければ「次へ」
- 「次のドライブ文字を割り当てる」にチェックがあることを確認
※キャプチャではDドライブを指定しています
- パーティションのフォーマット
- 確認画面
- フォーマット完了
ディスクの管理画面より対象ディスクのステータスが「正常」となっていれば完了
まとめ
大事なことは3つです!
1.EC2(Windows)の ブートボリューム(Cドライブ)はMBR形式の必要がある
2.EC2(Windows)のブートボリューム(Cドライブ)で2TiB以上の構築をすると、2TiB以上はOSに認識されない。=利用できない!
3.GPT形式へ変換作業は、ディスクの初期化が伴う
以下を推奨します。
1.Windowsのディスクは分けて利用する事
2.ブートボリューム以外のディスクはGPT形式でフォーマットする事
以上、Windowsのパーティション形式を変換する方法について記載しました!
ご覧いただきありがとうございました!