跳到主要内容

清理磁盘

通过磁盘清理,可以从磁盘或磁盘集删除数据,使数据无法恢复。

开始之前

  • 磁盘必须为备用磁盘,必须归节点所有但未在聚合中使用。

    如果磁盘经过分区,任何分区均不能在聚合中使用。

  • 磁盘不能是自加密磁盘(SED)或联邦信息处理标准(FIPS)磁盘。

    SED 或 FIPS 磁盘必须使用 storage encryption disk sanitize 命令进行清理。

    静态数据加密

  • 磁盘不能属于存储池。

关于本任务

启用磁盘清理后,会禁用某些 ONTAP 命令。
  • dd(拷贝数据块)
  • dumpblock(导出磁盘块的转储)
  • setflag wafl_metadata_visible(允许访问内部 WAFL 文件)

在节点上启用磁盘清理后,不能禁用磁盘清理。

  1. 在拥有要清理的磁盘的节点上进入 nodeshell:system node run -node node_name
  2. 启用磁盘清理:options licensed_feature.disk_sanitization.enable on
    由于该命令不可恢复,因此系统会要求您确认是否执行该命令。
  3. 如果想要清理的磁盘已分区,请对每个磁盘取消分区:disk unpartition disk_name
  4. 清理指定磁盘:disk sanitize start [-p pattern1|-r [-p pattern2|-r [-p pattern3|-r]]] [-c cycle_count] disk_list

    注意
    在清理期间,请勿关闭该节点的电源、中断存储连接或移除目标磁盘。如果在格式化阶段中断清理,则必须重新启动格式化阶段并等待格式化阶段结束后才能完成磁盘清理并返回到备用池。

    如果需要中止清理过程,可使用 disk sanitize abort 命令实现此目的。如果指定磁盘正处于清理的格式化阶段,该阶段完成后才会中止清理。

    -p pattern1 -p pattern2 -p pattern3 指定了一个循环,循环中包含一到三个用户定义的十六进制字节覆盖模式,可相继应用于正在清理的磁盘。默认模式为三次传递,第一次传递使用 0x55,第二次传递使用 0xaa,第三次传递使用 0x3c。

    -r 会将模式化的覆盖替换为任意或所有传递中的随机覆盖。

    -c cycle_count 指定了这些指定覆盖模式的应用次数。默认值为一个循环。最大值为七个循环。

    disk_list 指定了要清理的备用磁盘的标识的空格分隔列表。

  5. 如果要检查磁盘清理过程的状态:disk sanitize status [disk_list]
  6. 清理过程完成后,通过为每个磁盘输入以下命令将磁盘恢复到备用状态:disk sanitize release disk_name
  7. 退出 nodeshell:exit
  8. 确定是否所有磁盘均恢复到备用状态:storage aggregate show-spare-disks
    如果...则...
    所有清理后的磁盘均列出为备用状态任务完成。磁盘已成功清理并处于备用状态。
    某些清理后的磁盘未列出为备用状态完成以下步骤:
    1. 进入高级权限模式:

      set -privilege advanced
    2. 通过为每个磁盘输入以下命令,将未分配的已清理磁盘分配给相应的节点:storage disk assign -disk disk_name -owner node_name
    3. 通过为每个磁盘输入以下命令,将磁盘恢复到备用状态:

      storage disk unfail -disk disk_name -s -q
    4. 返回到管理模式:

      set -privilege admin

结果

指定磁盘完成清理并被指定为热备用磁盘。清理后的磁盘的序列号写入到 /etc/log/sanitized_disks