Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

恢复故障的存储卷并重建 Cassandra 数据库

您必须运行一个脚本,重新格式化并重新安装故障存储卷上的存储,并在系统确定必要时重建存储节点上的 Cassandra 数据库。

开始之前
  • 你有 `Passwords.txt`文件。

  • 服务器上的系统驱动器完好无损。

  • 故障原因已经确定,如有必要,已购买了替换存储硬件。

  • 替换存储的总大小与原始存储相同。

  • 您已检查存储节点退役未正在进行,或者您已暂停节点退役过程。(在网格管理器中,选择 维护 > 任务 > 退役。)

  • 您已检查扩展是否尚未进行。(在网格管理器中,选择 维护 > 任务 > 扩展。)

  • 你有"查看了有关存储卷恢复的警告"

步骤
  1. 根据需要,更换与您之前识别和卸载的故障存储卷相关的故障物理或虚拟存储。

    不要在此步骤中重新安装卷。存储已重新安装并添加到 `/etc/fstab`在后续步骤中。

  2. 在网格管理器中,转到 NODES > appliance Storage Node > 硬件。在页面的StorageGRID Appliance 部分中,验证存储 RAID 模式是否正常。

  3. 登录到发生故障的存储节点:

    1. 输入以下命令: ssh admin@grid_node_IP

    2. 输入 `Passwords.txt`文件。

    3. 输入以下命令切换到root: su -

    4. 输入 `Passwords.txt`文件。

      当您以 root 身份登录时,提示符将从 $`到 `#

  4. 使用文本编辑器(vi 或 vim)从 `/etc/fstab`文件,然后保存该文件。

    备注 注释掉失败的卷 `/etc/fstab`文件不足。必须从 `fstab`恢复过程会验证 `fstab`文件与已安装的文件系统匹配。
  5. 重新格式化任何失败的存储卷,并在必要时重建 Cassandra 数据库。进入: reformat_storage_block_devices.rb

    • 当存储卷 0 被卸载时,提示和消息将表明 Cassandra 服务正在停止。

    • 如果有必要,系统将提示您重建 Cassandra 数据库。

      • 查看警告。如果均不适用,则重建 Cassandra 数据库。输入:y

      • 如果多个存储节点处于离线状态,或者在过去 15 天内重建了另一个存储节点。输入:n

        脚本将退出而不重建 Cassandra。请联系技术支持。

    • 对于存储节点上的每个 rangedb 驱动器,当您被询问时: Reformat the rangedb drive <name> (device <major number>:<minor number>)? [y/n]? ,请输入以下响应之一:

      • y 重新格式化有错误的驱动器。这将重新格式化存储卷,并将重新格式化的存储卷添加到 `/etc/fstab`文件。

      • n 如果驱动器没有错误,并且您不想重新格式化它。

        备注 选择 n 退出脚本。安装驱动器(如果您认为应该保留驱动器上的数据并且错误地卸载了驱动器)或移除驱动器。然后,运行 `reformat_storage_block_devices.rb`再次命令。
        备注 一些StorageGRID恢复程序使用 Reaper 来处理 Cassandra 修复。一旦相关或所需的服务开始,修复就会自动进行。您可能会注意到脚本输出中提到了“reaper”或“Cassandra repair”。如果您看到指示修复失败的错误消息,请运行错误消息中指示的命令。

      在以下示例输出中,驱动器 `/dev/sdf`必须重新格式化,而 Cassandra 不需要重建:

    root@DC1-S1:~ # reformat_storage_block_devices.rb
    Formatting devices that are not in use...
    Skipping in use device /dev/sdc
    Skipping in use device /dev/sdd
    Skipping in use device /dev/sde
    Reformat the rangedb drive /dev/sdf (device 8:64)? [Y/n]? y
    Successfully formatted /dev/sdf with UUID b951bfcb-4804-41ad-b490-805dfd8df16c
    All devices processed
    Running: /usr/local/ldr/setup_rangedb.sh 12368435
    Cassandra does not need rebuilding.
    Starting services.
    Informing storage services of new volume
    
    Reformatting done.  Now do manual steps to
    restore copies of data.

重新格式化并重新安装存储卷并完成必要的 Cassandra 操作后,您可以"使用网格管理器恢复对象数据"