expandarray

使用 expandarray 命令可向现有分布式阵列 MDisk 添加新的驱动器容量。

语法

读取语法图跳过可视语法图 expandarray -totaldrivecount 产生的驱动器数量 -driveclassdrive_class_id-totalrebuildareas重建区域数量mdisk_idmdisk_name

参数

totaldrivecount
(必需)完成扩展后生成的驱动器计数。 该值必须是 5 到 128 之间的整数。 对于分布式 RAID 1 阵列,此值必须是 3 和 16 范围内的整数。
  • 分布式 RAID 6 阵列中最多 48 个 NVMe 驱动器。
  • 对于 (任何) 分布式 RAID 6 阵列,不允许在一次 expandarray 调用中添加超过 42 个成员驱动器。
  • 对于 (任何) 分布式 RAID 1 阵列,不允许在一次 expandarray 调用中添加超过 12 个成员驱动器。
driveclass
(可选)要用于选择新成员驱动器的驱动器类(由 lsdriveclass 指定)。 如果未指定驱动器类,那么缺省驱动器类是 lsarray 中针对分布式阵列引用的驱动器类。
totalrebuildareas
(可选)完成扩展后生成的重建区域计数。 必须在 totaldrivecount 中包含额外的重建区域值。 该值必须是 1 到 4 之间的整数。 对于分布式 RAID 1 阵列,此值必须为 1。 值 2、3 和 4 不受支持。 如果未指定值,那么阵列的重建区域计数保持不变,即使总驱动器计数超过阈值(在此情况下缺省阵列创建行为将导致创建额外的重建区域)也如此。
注: 不能将压缩驱动器的分布式 RAID 阵列展开为具有多个重建区域。
mdisk_id
(可选)阵列 MDisk 的标识。 如果未指定 mdisk_name,那么此参数是必需的。
mdisk_name
(可选)阵列 MDisk 的名称。 如果未指定 mdisk_id,那么此参数是必需的。

描述

此命令用于启动阵列扩展任务。

重要信息: -totaldrivecount 值包含添加为重建区域的任何额外驱动器。
以下列表描述了在扩展阵列时需要注意的一些事项:
  • 不对多个扩展进行配置和排队。 系统中活动扩展的最大数量为 4,并且池中任何时候都只能有一个扩展。
  • 该命令使用 totaldrivecount/totalrebuildareas 确保当发生错误并输入了阵列的当前大小时,该命令不起作用。
  • 如果未指定驱动器类,那么将使用正在扩展的阵列的驱动器类。 如果指定了驱动器类,那么将对其进行验证,以确保其等效或优于正在扩展的阵列的驱动器类。
  • 阵列必须没有已用的重建区域或者未在执行后台任务,否则该命令将失败。
  • 可使用 lsarrayexpansionprogress 命令来监视扩展进度。
  • 无法取消扩展。
  • 在扩展迁移过程中,使用顺序 (seq) 策略的卷拷贝(从扩展 MDisk 分配)将更改为 striped。
  • 在负载超过 50% 的阵列上执行扩展时,扩展可能会影响主机性能和等待时间。
如果满足以下任何条件,那么将暂挂扩展:
  • 执行扩展的 MDisk 脱机。
  • 迁移活动期间发生读取错误。
  • 需要(但不可能)记录虚拟介质错误。
  • 在用作扩展迁移目标的 MDisk 上出现空间不足情况。

调用示例

svctask expandarray -totaldrivecount 8 mdisk3                      // Expand mdisk3 to 8 drives from the array's driveclass
svctask expandarray -totaldrivecount 6 -totalrebuildareas 2 32     // Expand mdisk 32 to 6 drives, 2 of which being rebuild areas
svctask expandarray -driveclass 0 -totaldrivecount 16 48           // Expand mdisk 48 to 16 drives from drive class 0

生成的输出:

None