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