この記事には、ESXi で partedUtil コマンドライン ディスク パーティショニング ユーティリティを使用する方法が記載されています。
注: ESXi ホストまたは vCenter Server に接続された vSphere Client を使用して、VMFS データストアの作成および削除を行うことができます。コマンドライン ユーティリティを使用してパーティションを手動で作成する必要はありません。詳細については、使用している ESXi/ESX バージョンの 『構成ガイド』 の 「ストレージの管理」 セクションを参照してください。
Symptoms:
免責事項: これは英文の記事 「Using the partedUtil command line utility on ESXi」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。
最新情報は英語版の記事で参照してください。
VMware vSphere ESXi 6.x
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x
partedUtil コマンドライン ユーティリティを使用して、ESXi でローカルおよびリモート の SAN ディスクのパーティション テーブルを直接操作できます。
ESXi 5.x 以降のディスク パーティショニングには、 partedUtil コマンドラインのみがサポートされます。VMFS5 または VMFS6 でフォーマットされた LUN では、コマンドライン ユーティリティ fdisk は機能しません。
partedUtil ユーティリティでの SD /USB ブート デバイスのパーティションの変更はサポートしません。partedUtil ユーティリティはローカル ハードディスク ストレージ(SSD/HDD) と SAN 接続のストレージで使用します。
注: この記事は、ESXi のコンソール セッションを使用できること、管理ユーザーがコンソールおよびディスク管理の概念に精通していること、ディスク/パーティションの変更によるデータの破損の可能性があるため、作業を進める前に適切なバックアップを作成していることを前提とします。
この記事では、次のタスクについて説明します。
ディスク デバイスのリストの取得
それぞれの partedUtil コマンドは、操作の対象となるローカル ディスクまたは SAN ベース ディスクを指定するデバイス引数を受け入れます。
これは /vmfs/devices/disks/ で始まるパス名である必要があります。この引数には、デバイス上の既存のパーティションではなく、ブロック デバイス全体を指定する必要があります。
partedUtil で管理できるディスク デバイス名のリストを取得するには、次のコマンドを実行します。
ls -ltrh /vmfs/devices/disks/
出力例:
青で表示された VML ID フィールドはハイライトされたものと同一デバイスです。
注: partedUtil コマンドを使用してブロック デバイスを指定する場合、フル パスを使用し、そのフル パスを二重引用符で囲みます。
例:
partedUtil getptbl "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0"
特定のディスク デバイスを識別する方法については、identifying disks when working with VMware ESXi を参照してください。
既存のパーティション テーブルの出力
partedUtil コマンドライン ユーティリティを使用して、ブロック ディスク デバイス上の既存のパーティション テーブルを調べることができます。ブロック ディスク デバイスに定義されているパーティションのリストを取得するには:
partedUtil getptbl "/vmfs/devices/disks/DeviceName"
例:
partedUtil getptbl "/vmfs/devices/disks/naa.6589cfc000000dcc6071c4243094f34b"
出力例:
gpt
32635 255 63 524288000
1 2048 524287966 AA31E02A400F11DB9590000C2911D1B8 vmfs 0
1 行目は、 getptbl 形式のコマンドでのみ表示されます。この行には、使用されるパーティショニング スキームを識別するディスク ラベルが表示されます。共通のラベルは、 bsd、dvh、gpt、loop、mac、msdos、pc98、および sun です。このうち、ESX/ESXi では、 msdos (VMFS3)ラベルと gpt (VMFS5 と VMFS6)パーティショニング スキームのみが使用されます。
注: msdos は、デバイスに Windows ファイル システムが含まれていることや、デバイスが Windows マシンで使用されていることを意味するものではありません。これは、単に、MBR (マスタ ブート レコード) パーティションであることを意味します。
2 行目には、基礎となるデバイスから読み取られるディスクの配置情報が表示されます。
残りの行では、定義された各パーティションが識別されます。定義されたパーティションがない場合、このリストは空白になります。リストはソートされない場合があります。
例:
ここでは、1 つのパーティションが定義されています。
パーティションのプロパティ
新しいパーティション テーブルの作成
partedUtil コマンドライン ユーティリティを使用して、ブロック ディスク デバイスに新しいパーティション テーブルを作成できます。ブロック デバイスに新しいパーティションを作成するには、ESXi のバージョンに応じて異なるコマンドを使用します。
partedUtil setptbl "/vmfs/devices/disks/DeviceName" DiskLabel ["partNum startSector endSector type/guid attribute"]*
例:
partedUtil setptbl /vmfs/devices/disks/naa.6589cfc000000dcc6071c4243094f34b gpt "1 2048 7516192734 AA31E02A400F11DB9590000C2911D1B8 0"
コマンドの詳細:
DiskLabel - gpt
partNum - 1
startSector - 2048
endSector - 7516192734
GUID - AA31E02A400F11DB9590000C2911D1B8
attribute - 0
ディスク ラベルは setptbl 形式のコマンドでのみ指定されます。これは、使用されるパーティショニング スキームを識別するディスク ラベルを設定します。共通のラベルは、bsd、dvh、gpt、loop、mac、msdos、pc98、および sun です。
ESXi 5.x 以上では、msdos と gpt のラベルおよびパーティショニング スキームがサポートされますが、ESXi/ESX 4.1 以前では、msdos のラベルおよびパーティション スキームのみがサポートされます。
ディスクに適用するパーティションのリストを partedUtil コマンドラインに完全に指定する必要があります。既存のパーティションが設定されているディスクに別のパーティションを追加するには、元のパーティションと新しいパーティションの両方をコマンドラインに指定します。これを行わない場合、既存のパーティションが失われます。パーティションのリストは、引用符付き文字列として指定します。各文字列には、パーティション番号、開始セクタ、終了セクタ、タイプ ID、および属性の 5 つの項目で構成されるタプルをカプセル化します。
例: 2 つの連続する ~244 MB パーティションをタイプ 131 = 0x83で作成し、その1 番目のパーティションを起動可能としてオフセット 128 から開始します。
partedUtil setptbl "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0" gpt "1 128 500000 AA31E02A400F11DB9590000C2911D1B8 128" "2 500001 999999 AA31E02A400F11DB9590000C2911D1B8 0"
startSector と endSector には、パーティションで占有される連続ディスク領域の量を指定します。開始セクタは、同じパーティションの終了セクタの前に強制的に配置されますが、定義されたパーティションが別のパーティションに重ならないという保証はありません。
注: VMFS-3 から VMFS-5 にアップグレードされたボリュームの VMFS パーティションは、セクタ 2048 ではなく、引き続きセクタ 128 から開始されます。
注意: 新しいパーティション テーブルを作成する以外に、パーティション テーブルの変更を元に戻す機能はありません。変更を加える前に必ずバックアップを作成してください。パーティションを変更する前に、パーティションへのアクティブな I/O がないことを確認します。
パーティションのサイズ計算はこの記事の範囲外です。
パーティションの削除
partedUtil コマンドライン ユーティリティを使用して、ブロック ディスク デバイスのパーティション テーブルから 1 つのパーティションを削除できます。
パーティションを削除するには、次のコマンドを使用します。
partedUtil delete "/vmfs/devices/disks/DeviceName" PartitionNumber
例:
partedUtil delete "/vmfs/devices/disks/naa.6589cfc000000dcc6071c4243094f34b" 1
注意: 新しいパーティション テーブルを作成する以外に、パーティション テーブルの変更を元に戻す機能はありません。変更を加える前に必ずバックアップを作成してください。パーティションを変更する前に、パーティションへのアクティブな I/O がないことを確認します。
パーティションのサイズ変更
partedUtil コマンドを使用して、ESXi/ESX 4.0 以上の既存のパーティションのサイズを変更できます。これによって、パーティション内のファイル システムのサイズが変更されることはありません。このサイズ変更は、パーティションを削除し、新しい開始セクタまたは終了セクタを使用してパーティションを再作成することと変わりません。
パーティションのサイズを変更するには、次のコマンドを使用します。
partedUtil resize "/vmfs/devices/disks/DeviceName" PartitionNumber NewStartSector NewEndSector
例:
上記のVMFSデータストアのパーティションサイズを、既存の最後のセクター524287966から新しい最後のセクター8679954582に増加させるには、以下のコマンドを実行する必要があります。
partedUtil resize "/vmfs/devices/disks/naa.6589cfc000000dcc6071c4243094f34b" 1 2048 8679954582
注意: 新しいパーティション テーブルを作成する以外に、パーティション テーブルの変更を元に戻す機能はありません。変更を加える前に必ずバックアップを作成してください。パーティションを変更する前に、パーティションへのアクティブな I/O がないことを確認します。
パーティション タイプはパーティションの目的を識別するものであり、特定のオペレーティング システムによる使用目的を示すことができます。パーティション タイプは、パーティション テーブル内で GUID のみによって指定される必要があります (partedUtil setptbl コマンドを使用する場合)。
GUID は、次のコマンドを使用して取得できます。
partedUtil showGuids
ESXi/ESX で一般的に使用されるパーティション タイプは次のとおりです。
パーティション |
GUID |
タイプ (16 進) |
タイプ (10 進) |
VMFS データストア |
AA31E02A400F11DB9590000C2911D1B8 |
0xFB |
251 |
VMKCore 診断 |
9D27538040AD11DBBF97000C2911D1B8 |
0xFC |
252 |
VMware 予約済み |
9198EFFC31C011DB8F78000C2911D1B8 |
||
基本データ |
EBD0A0A2B9E5443387C068B6B72699C7 |
0x83 |
131 |
Linux スワップ |
0657FD6DA4AB43C484E50933C84B4F4F |
0x82 |
130 |
Linux LVM |
E6D6D379F50744C2A23C238F2A3DF928 |
0x8E |
142 |
Linux RAID |
A19D880F05FC4D3BA006743F0F84911E |
0xFD |
253 |
EFi システム |
C12A7328F81F11D2BA4B00A0C93EC93B |
0xEF |
239 |
Microsoft 予約済み |
E3C9E3160B5C4DB8817DF92DF00215AE |
||
未使用エントリ |
00000000000000000000000000000000 |
||
Fat16 |
0x6 |
6 |
|
拡張 |
0x5 |
5 |
|
SFS |
0x42 |
66 |
|
NTFS |
0x7 |
7 |