本文提供了有关在 ESXi 和 ESX 上使用 partedUtil 命令行磁盘分区实用程序的信息。
注意:可以使用连接到 ESXi/ESX 主机或 vCenter Server 的 vSphere Client 创建和删除 VMFS 数据存储。不必使用命令行实用程序手动创建分区。有关详细信息,请参见适用于您的 ESXi/ESX 版本的《配置指南》(Configuration Guide) 中的管理存储 (Managing Storage) 部分。
如果您使用 partedUtil 命令指定了一个错误的 GUID 大小,则可能看到如下类似错误:
您可以使用 partedUtil 命令行实用程序在 ESXi 和 ESX 上直接操作本地和远程 SAN 磁盘的分区表。
只有 ESXi 5.x 上的磁盘分区才支持使用 partedUtil 命令行。命令行实用程序 fdisk 不能用于采用 VMFS5 格式的 LUN。
注意:本文假设 ESXi 或 ESX 主机可以使用控制台会话,并且您熟悉控制台和磁盘管理概念,同时在继续操作之前已创建了足够的备份。有关详细信息,请参见无法使用安全 Shell (SSH) 连接 ESX 主机 (1003807) (Unable to connect to an ESX host using Secure Shell (SSH) (1003807)) 或在 ESXi 4.1 和 ESXi 5.x 中使用技术支持模式 (1017910) (Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910))。如果您对执行任何步骤不确定,请联系 VMware 支持。
本文介绍以下任务:
每个 partedUtil 命令将接受一个设备参数,该参数用于指定要操作的本地磁盘或基于 SAN 的磁盘。该磁盘应采用以 /vmfs/devices/disks/ 开头的路径名。它应指定整个块设备,而不是设备上的现有分区。
如果要获取可由 partedUtil 管理的磁盘设备名称列表,请运行此命令:
ls /vmfs/devices/disks/
ESXi/ESX 3.x 下的输出示例:
vmhba0:0:0:0 <-- disk device
vmhba0:0:0:1 <-- partition 1
vmhba0:0:0:2 <-- partition 2
vmhba0:0:0:3 <-- partition 3
vmhba0:0:0:5 <-- partition 5
vmhba3:0:0:0 <-- disk device
vmhba3:0:0:1 <-- partition 1
ESXi/ESX 4.0 及更高版本下的输出示例:
mpx.vmhba0:C0:T0:L0 <-- disk device
mpx.vmhba0:C0:T0:L0:1 <-- partition 1
mpx.vmhba0:C0:T0:L0:2 <-- partition 2
mpx.vmhba0:C0:T0:L0:3 <-- partition 3
mpx.vmhba0:C0:T0:L0:5 <-- partition 5
naa.60060160205010004265efd36125df11 <-- disk device
naa.60060160205010004265efd36125df11:1 <-- partition 1
注意:使用 partedUtil 命令指定块设备时,请使用完整路径并将其放入双引号中。
有关识别特定磁盘设备的详细信息,请参见使用 VMware ESX 时识别磁盘 (1014953) (Identifying disks when working with VMware ESX (1014953))。
可以使用 partedUtil 命令行实用程序检查块磁盘设备上的现有分区表。要获取块磁盘设备上定义的分区列表,请执行以下操作:
输出示例:
msdos
17834 255 63 286513152
1 63 2249099 131 128
2 2249100 2474009 252 0
3 2474010 286487144 5 0
5 2474073 286487144 251 0
第一行仅以 getptbl 形式的命令来显示,并显示磁盘标签,用于标识正在使用的分区方案。常见标签为 bsd、 dvh、 gpt、 loop、 mac、 msdos、 pc98 和 sun。在这些标签中,ESXi/ESX 只使用 msdos 标签和 gpt 分区方案。
注意:标签 msdos 并不表示设备包含 Windows 文件系统或正在由 Windows 计算机使用。它只表示此分区为 MBR(主引导记录)分区。
第二行显示从基础设备中读取的磁盘几何结构信息:
可以使用 partedUtil 命令行实用程序在块磁盘设备上创建新分区表。要在块设备上创建新分区,请根据 ESXi/ESX 的版本使用不同的命令:
磁盘标签仅以 setptbl 形式的命令来指定,并且设置的磁盘标签用于标识正在使用的分区方案。常见标签为 bsd、 dvh、 gpt、 loop、 mac、 msdos、 pc98 和 sun。ESXi 5.x 及更高版本同时支持 msdos 和 gpt 标签和分区方案,而 ESXi/ESX 4.1 及更低版本则仅支持 msdos 标签和分区方案。
必须在 partedUtil 命令行上完整指定要应用于磁盘的分区列表。要向具有现有分区的磁盘添加其他分区,请在命令行上指定原始分区和新分区。否则,会丢失现有分区。分区列表以带引号的字符串形式指定,其中,每个字符串均包括一个 5 元组,该 5 元组由分区号、起始扇区、结束扇区、ID 类型和属性组成。
例如:要创建类型为 131 = 0x83 的两个连续的 ~244 MB 分区,而第一个分区为可引导分区,并且从偏移 128 开始,请执行以下操作:
注意:无法撤消分区表更改,而是创建新分区表。在标记任何更改之前请确保先进行备份。请确保对分区进行修改之前无活动 I/O。
本文不会介绍有关调整分区大小的信息。有关详细信息,请参见VMware ESXi/ESX 安装推荐使用的磁盘或 LUN 大小 (1026500) (Recommended disk or LUN sizes for VMware ESXi/ESX installations (1026500))。
可以使用 partedUtil 命令行实用程序从块磁盘设备上的分区表中删除一个分区。
要删除分区,请使用以下命令:
partedUtil delete "/vmfs/devices/disks/DeviceName" PartitionNumber
示例:
partedUtil delete "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0" 2
注意:无法撤消分区表更改,而是创建新分区表。在进行任何更改之前请确保先进行备份。请确保对分区进行修改之前无活动 I/O。
分区类型用于标识分区的用途,并可指示特定操作系统的预期使用情况。分区类型必须通过 GUID 在分区表中指定(在使用 partedUtil setptbl 命令时)。
可以使用以下命令获取 GUID:
partedUtil showGuids
ESXi/ESX 常用的分区类型包括:
分区 | GUID | 类型(十六进制) | 类型(十进制) |
VMFS 数据存储 | AA31E02A400F11DB9590000C2911D1B8 | 0xFB | 251 |
VMKCore 诊断 | 9D27538040AD11DBBF97000C2911D1B8 | 0xFC | 252 |
VMware 预留 | 9198EFFC31C011DB8F78000C2911D1B8 | ||
基本数据 | EBD0A0A2B9E5443387C068B6B72699C7 | 0x83 | 131 |
Linux Swap | 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 |