PowerVault ME4:什么是过量使用以及它如何工作?
Summary: 本文详细介绍 PowerVault ME4 系列上过量使用的基本原则以及如何计算过量使用。
Resolution
目录
- 什么是过量使用以及它如何工作?
- 在日志中哪里可以看到过量使用信息或问题?
- 什么是元数据索引大小?
- 什么是 16GiB 地址表?
- 过量使用上限是多少?
- 共享数据、唯一数据和快照数据有什么区别?
- 唯一数据 (show snapshots type all) 和分配的大小 (show snapshot-space) 值是否应该匹配?
- 如何计算提交了多少空间以及提交到哪里?
问题:什么是过量使用以及它如何工作?
答:
过量使用意味着包括快照在内的所有虚拟卷的总提交大小超过虚拟池中的物理空间。
此功能特定于虚拟存储。不适用于线性。
此功能允许过量使用物理存储资源,从而使操作系统能够像所具有的存储空间超过物理分配的存储空间一样运行。
阵列中创建的每个卷(包括快照)都会使用虚拟池存储空间中的元数据索引。
通常,对于每个虚拟池,固件最多支持 1 PiB 的元数据。
例如,假设存储阵列在池 A 上有 100 TB 的可用池空间。
在禁用“过量使用”的情况下,只能创建最大为 100 TB 的卷(包括快照),配置不能超过 100 TB 的元数据索引。
在启用“过量使用”的情况下,固件允许创建超出 100 TB 物理限制的卷(包括快照),原因是固件最多可支持 1 PiB 的元数据索引。
因此,系统可以为每个池创建最大容量为 1 PiB 的卷(包括快照)。问题“什么是元数据索引大小?”中对此进行更详细的描述。
问:在日志中哪里可以看到过量使用信息/问题?
答:
当您在 GUI 中看到过量使用信息时,事件 ID 显示在事件日志中。下面是一些事件代码示例。
事件 ID 473 — 指示的卷正在使用超过其虚拟池阈值百分比的资源。这表示存储使用量已超过用户为此卷指定的阈值。
事件 ID 573 — 警告:由于无法删除快照,因此无法减少为虚拟池分配的快照空间。
事件 ID 571 — 错误:分配的快照空间超出了已配置的虚拟池百分比限制。
注:有关更多事件代码及其说明,请参阅《所有者指南》。
问:什么是元数据索引大小?什么是 16GiB 地址表?
答:
支持的元数据索引条目的最大数量为 65312。在计算物理可寻址空间时,将元数据索引条目乘以地址表。
这大约相当于 1 PiB,即 1,048,576 GiB。
答:
通常,对于每个虚拟池,固件最多支持 1 PiB 的元数据。
在禁用“过量使用”功能的情况下,池仅允许使用最多为可用存储空间量的元数据。
在启用“过量使用”功能的情况下,每个池允许使用最多为 1 PiB 的元数据,这是固件限制。
问:共享数据、唯一数据和快照数据有什么区别?
答:
快照数据:与快照关联的写数据的总量。
换句话说:最初生成快照时快照父卷的卷分配信息。这是生成快照时提交的卷的大小。
唯一数据:快照独有的写数据量。
换句话说:这是从原始卷更改或修改的数据
共享数据:此快照与其他快照之间共享的写数据量。
换句话说:这是生成快照时未从原始卷更改或修改的数据。
此外,“共享数据 + 唯一数据”约等于“快照数据”。
问:唯一数据 (show snapshots type all) 和分配的大小 (show snapshot-space) 值是否应该匹配?
答:
根据设计,唯一数据(经过修改的数据)应该与“分配的大小”值匹配。唯一数据是快照的物理数据大小,此唯一数据使用快照空间。
对于仅配置了快照的配置,所有快照的唯一数据总和等于所报告的总快照分配大小。
对于配置了复制的配置,与标准快照关联的所有快照的唯一数据加上与复制任务关联的快照的唯一数据之和。
但是,“show snapshot output”通常不会报告“快照数据”、“共享数据”或“唯一数据”。这就是为什么使用“show snapshots type all”命令的原因。
示例:
对于设置了复制的配置,固件为每个复制任务保持三个快照(S1、S2 和 S3)。
快照“S3”的值是初始复制后复制的内容。
在后续的复制计划中,当 S3 变为 S2 时,“show snapshots”数据将在表中报告所有关联的数据信息。
当复制发生时,日志中不会报告每个“S3”的值。此外,目前没有用于报告此信息的 CLI 命令。 这意味着,在进行复制时,可查看唯一数据与分配的大小之间的差异。
这是预期的行为。
Pool Name URL Creation Date/Time Status Status-Reason Parent Volume Base Vol Base Vol Snaps TreeSnaps Snap-Pool Snap Data Unique Data Shared Data Retention Priority
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A ESXI.S1 2020-02-03 19:48:09 Available N/A ESXI ESXI 0 8 N/A 7580.4GB 0B 7580.4GB never-delete
A ESXI.S2 2020-02-03 19:48:09 Available N/A ESXI ESXI 0 8 N/A 7580.4GB 7767.8MB 7572.6GB never-delete
A ESXI.S3 2020-02-03 19:48:10 Available N/A ESXI ESXI 0 8 N/A 0B 0B 0B never-delete
A ESXIs01_S0003 2020-03-02 05:01:10 Available N/A ESXI ESXI 0 8 N/A 6988.9GB 344.6GB 6644.2GB never-delete
A ESXIs01_S0004 2020-03-03 05:01:08 Available N/A ESXI ESXI 0 8 N/A 7042.6GB 22.2GB 7020.3GB never-delete
A ESXIs01_S0005 2020/3/4 05:01:08 Available N/A ESXI ESXI 0 8 N/A 7045.4GB 49.8GB 6995.5GB never-delete
A ESXIs01_S0006 2020/3/5 5:01:15 Available N/A ESXI ESXI 0 8 N/A 7580.0GB 19.3GB 7560.6GB never-delete
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
问:如何计算提交了多少空间以及提交到哪里?
答:
提交的空间为所有虚拟卷的大小 + 快照元数据大小。
GUI 不会显示每个卷或快照的所有空间提交位置。这必须从日志和/或 CLI 命令进行计算。
需要来自“show pools”和“show volumes”的输出。
示例:
GUI 信息的屏幕截图显示池 A 上存在过量使用,但池 B 上没有过量使用

有关池 A 的更多详细信息的屏幕截图

来自“show pools”的输出示例。
Name Serial Number Class Blocksize Total Size Avail Snap Size OverCommit Disk Groups Volumes Low Thresh Mid Thresh High Thresh Sec Fmt Health Reason Action
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A 00c0ff50ae66000081562a5e01000000 Virtual 512 35.2TB 29.5TB 1437.9GB Enabled 2 105 50.00 % 75.00 % 99.39 % 512e OK
B 00c0ff50ae0600009f562a5e01000000 Virtual 512 35.2TB 23.9TB 1305.3GB Enabled 2 108 50.00 % 75.00 % 99.39 % 512e OK
来自“show volumes”的输出示例 — 经过截断或修改,以显示下列表格和计算的数据来源
Pool Name Total Size Alloc Size Class Type Large Virtual Extents Health Reason Action
-------------------------------------------------------------------------------------------------------------------------
B D-ADPSVR2 XXX.XGB XXX.XGB Virtual base Disabled OK
B D-ADPSVR2s01_S0011 XXX.XGB XXX.XGB Virtual snapshot Disabled OK
计算过量使用的步骤
使用以下命令中的值,建议采用表格或 excel 中的设置。
show pools = Total Size、Avail、Snap Size
show volumes = Total Size、Alloc Size
将数据细分为可使用的形式,以显示提交数据的位置。 下表列出了要查看的字段以及从何处提取数据。
| 姓名 |
CLI 命令 |
列/字段 |
修饰符 1 |
修饰符 2 |
计算 |
| Total Size |
show pools |
Total Size |
|
转换为公分母 (MB/GB/TB) |
不适用 |
| Avail / Free |
show pools |
Avail |
|
转换为公分母 (MB/GB/TB) |
不适用 |
| Snapshot Used |
show pools |
Snap Size |
|
转换为公分母 (MB/GB/TB) |
不适用 |
| Volume Total Size |
show volumes |
Total Size |
“Type”列中的“base”项目 |
转换为公分母 (MB/GB/TB) |
将所有项目加在一起 |
| Volume Allocated Size |
show volumes |
Alloc Size |
“Type”列中的“base”项目 |
转换为公分母 (MB/GB/TB) |
将所有项目加在一起 |
| Total Snapshot Size |
show volumes |
Total Size |
“Type”列中的“snapshot”项目 |
转换为公分母 (MB/GB/TB) |
将所有项目加在一起 |
| Snapshot Allocated |
show volumes |
Alloc Size |
“Type”列中的“snapshot”项目 |
转换为公分母 (MB/GB/TB) |
将所有项目加在一起 |
注:分配的值可用于查看系统上使用了多少空间。
出自客户系统的示例
| 标题 |
池 A (以 GB 为单位) |
池 B (以 GB 为单位) |
| Total Size |
35200 |
35200 |
| Avail / Free |
29500 |
23900 |
| Snapshot Used |
1437.9 |
1305.3 |
| Volume Total Size |
12246.2 |
12578.4 |
| Volume Allocated Size |
4231.0952 |
9910.8845 |
| Total Snapshot Size |
29979.3 |
16762.9 |
| Snapshot Allocated |
16922.1 |
10974.2117 |
现在计算每个池的已提交大小和/或过量使用的大小等信息。
已提交:卷的总大小 + 快照的总大小
| 池 |
卷的总大小 |
快照的总大小 |
已提交 |
| A |
12246.2 |
29979.3 |
42225.5 |
| B |
12578.4 |
16762.9 |
29341.3 |
过量使用:已提交 - 总大小
| 池 |
已提交 |
总大小 |
过量使用 |
| A |
42225.5 |
35200 |
7025.5 |
| B |
29341.3 |
35200 |
-5858.7 |
注:关于过量使用的值的问题。正值表示池被过量使用。负值表示池未被过量使用。
在示例中:
A 被过量使用 7025.5 GB
B 不会被过量使用,因为数字是负数。