记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

在 ESXi/ESX 上使用 partedUtil 命令行实用程序 (2076191)

Symptoms

免责声明:本文为 Using the partedUtil command line utility on ESXi and ESX (1036609) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。

 

如果您使用 partedUtil 命令指定了一个错误的 GUID 大小,则可能看到如下类似错误:

  • error: "Invalid guid (0xfb).Contains non-hexadecimal digits
  • Invalid guid (fb).Length should be 32
  • Invalid guid (251).Length should be 32

Purpose

本文提供了有关在 ESXi 和 ESX 上使用 partedUtil 命令行磁盘分区实用程序的信息。

注意:可以使用连接到 ESXi/ESX 主机或 vCenter Server 的 vSphere Client 创建和删除 VMFS 数据存储。不必使用命令行实用程序手动创建分区。有关详细信息,请参见适用于您的 ESXi/ESX 版本的《配置指南》(Configuration Guide) 中的管理存储 (Managing Storage) 部分。

Resolution

您可以使用 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 命令行实用程序检查块磁盘设备上的现有分区表。要获取块磁盘设备上定义的分区列表,请执行以下操作:

  • 对于 ESXi/ESX 4.0 及更低版本,请使用以下命令:

    partedUtil get "/vmfs/devices/disks/DeviceName"

  • 对于 ESXi/ESX 4.1 及更高版本,请使用以下命令:

    partedUtil getptbl "/vmfs/devices/disks/DeviceName"

    示例:要显示 ESX 4.1 主机上某一设备的分区表,请使用以下命令:

    partedUtil getptbl "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0"

输出示例

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 形式的命令来显示,并显示磁盘标签,用于标识正在使用的分区方案。常见标签为 bsddvhgptloopmacmsdospc98 sun。在这些标签中,ESXi/ESX 只使用 msdos 标签和 gpt 分区方案。

注意:标签 msdos 并不表示设备包含 Windows 文件系统或正在由 Windows 计算机使用。它只表示此分区为 MBR(主引导记录)分区。

第二行显示从基础设备中读取的磁盘几何结构信息:

17834 255 63 286513152
|     |   |  |
|     |   |  \----- 扇区数量
|     |   \-------- 每磁道扇区数量
|     \------------ 磁头数量
\------------------ 柱面数量

其余行则用于标识所定义的每个分区。如果未指定分区,则此列表为空。此列表可能未进行排序。

示例:以下列出了所定义的 4 个分区。第一个分区 ( 类型 131 = 0x83 = Linux) 为可引导分区。第二个分区为 VMKcore Coredump 分区数据存储 (类型 252 = 0xFC)。第三个分区为扩展分区 (类型 5),该分区包含其他逻辑分区。第四个分区(编号为 5)是分区编号为 5 的逻辑分区,包含一个 VMFS 数据存储 (类型 251 = 0xFB)。

1 63      2249099   131 128
2 2249100 2474009   252 0
3 2474010 286487144 5   0
5 2474073 286487144 251 0
| |       |         |   |
| |       |         |   \--- 属性
| |       |         \------- 类型
| |       \----------------- 结束扇区
| \------------------------- 起始扇区
\--------------------------- 分区编号

分区的属性:

  • 起始和结束扇区指定了一个分区所占用的连续磁盘空间。通过此信息可计算用户可以使用的分区大小。例如,VMKCore 扇区 2 从扇区 2249100 跨至 2474009,覆盖了该磁盘的 224909 个扇区。此磁盘的每个扇区具有 512 个字节,因此该分区大小为 224909 x 512 = 115153408 字节 = 109 MB

  • 分区类型用于标识分区的用途,可由一个十进制标识符(例如,251)或一个 UUID(例如,AA31E02A400F11DB9590000C2911D1B8)来表示。请参见其他信息 (Additional Information) 部分中的常用分区列表。

  • 分区属性是一个用于标识分区属性的数值。常见属性为 128 = 0x80,该属性指示分区为可引导分区。此外,大多数分区的属性值为 0

创建新分区表

可以使用 partedUtil 命令行实用程序在块磁盘设备上创建新分区表。要在块设备上创建新分区,请根据 ESXi/ESX 的版本使用不同的命令:

  • 对于 ESXi/ESX 4.0 及更低版本,请使用命令:

    partedUtil set "/vmfs/devices/disks/DeviceName" ["partNum startSector endSector type/guid attribute"]*

  • 对于 ESXi/ESX 4.1 及更高版本,请使用命令:

    partedUtil setptbl "/vmfs/devices/disks/DeviceName" DiskLabel ["partNum startSector endSector type/guid attribute"]*

磁盘标签仅以 setptbl 形式的命令来指定,并且设置的磁盘标签用于标识正在使用的分区方案。常见标签为 bsddvhgptloopmacmsdospc98 sun。ESXi 5.x 及更高版本同时支持 msdos gpt 标签和分区方案,而 ESXi/ESX 4.1 及更低版本则仅支持 msdos 标签和分区方案。

必须在 partedUtil 命令行上完整指定要应用于磁盘的分区列表。要向具有现有分区的磁盘添加其他分区,请在命令行上指定原始分区和新分区。否则,会丢失现有分区。分区列表以带引号的字符串形式指定,其中,每个字符串均包括一个 5 元组,该 5 元组由分区号、起始扇区、结束扇区、ID 类型和属性组成。

  • startSector endSector 指定一个分区占用的连续磁盘空间量。同一个分区的起始扇区会强制位于结束扇区之前,但并不保证所定义的分区之间不会相互重叠。

  • 分区类型 type 用于标识分区的用途,并可由一个十进制标识符(例如,251)或一个 UUID(例如,AA31E02A400F11DB9590000C2911D1B8)来表示。请参见其他信息 (Additional Information) 部分中的常用分区列表。必须使用 GUID 指定在 ESXi 5.x 及更高版本上创建的带有 gpt 磁盘标签的分区。

  • 分区属性 attribute 是一个用于标识分区属性的数值。常见属性为 128 = 0x80,该属性指示分区为可引导分区。此外,大多数分区的属性值为 0

例如:要创建类型为 131 = 0x83 的两个连续的 ~244 MB 分区,而第一个分区为可引导分区,并且从偏移 128 开始,请执行以下操作:

  • 对于 ESXi/ESX 4.0 及更低版本,请使用以下命令:

    partedUtil set "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0" "1 128 500000 131 128" "2 500001 999999 131 0"

  • 对于 msdos 标签上的 ESXi/ESX 4.1 及更高版本,请使用以下命令:

    partedUtil set "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0" msdos "1 128 500000 251 0"

  • 对于 gpt 标签上的 ESXi 5.x 及更高版本,请使用以下命令:

    partedUtil setptbl "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0" gpt "1 128 500000 AA31E02A400F11DB9590000C2911D1B8 128" "2 500001 999999 AA31E02A400F11DB9590000C2911D1B8 0"

    注意:在已从 VMFS-3 升级到 VMFS-5 的卷中,VMFS 分区仍然从扇区 128 开始,而不是从扇区 2048 开始。

注意:无法撤消分区表更改,而是创建新分区表。在标记任何更改之前请确保先进行备份。请确保对分区进行修改之前无活动 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。

调整分区大小

可以使用 partedUtil 命令在 ESXi/ESX 4.0 及更高版本上调整现有分区大小。此操作不会调整分区内的文件系统大小,它与删除分区并使用新的起始或结束扇区来重新创建分区相同。

要调整分区大小,请使用以下命令:

partedUtil resize "/vmfs/devices/disks/DeviceName" PartitionNumber NewStartSector NewEndSector

示例:要移动分区 4,以使其从相同位置(如 2474073)开始,并在新的结束扇区(如 1234567890)结束,请运行以下命令:

partedUtil resize "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0" 4 2474073 1234567890

注意:无法撤消分区表更改,而是创建新分区表。在进行任何更改之前请确保先进行备份。请确保对分区进行修改之前无活动 I/O。

Additional Information

分区类型用于标识分区的用途,并可指示特定操作系统的预期使用情况。分区类型必须通过 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

Tags

简体中文 Mandarin

See Also

Request a Product Feature

To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.


转载请标明出处【ESXi/ESX 使用 partedUtil 命令存储分区持载】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论