硬盘故障恢复
MinIO支持使用新的健康驱动器替换失败的驱动器进行热交换。 MinIO可以检测并修复这些驱动器,无需重启任何节点或部署级别。 MinIO 修复 仅发生在更换的驱动器上,并且在大多数情况下对部署性能的影响最小或可以忽略不计。
MinIO 修复确保恢复到驱动器上的所有数据的完整性和正确性。
Exclusive access to drives
MinIO 要求 专有 对提供给对象存储的驱动器或卷的访问。 其他任何进程、软件、脚本或人员都不得直接对提供给MinIO的驱动器或卷执行 任何 操作,也不得对MinIO放置在其上的对象或文件执行操作。
除非由MinIO工程部门指导,否则不要使用脚本或工具直接修改、删除或移动提供给MinIO的驱动器上的任何数据片段、校验片段或元数据文件,包括从一个驱动器或节点移动到另一个驱动器或节点。 这些操作很可能会导致广泛的数据损坏和丢失,超出了MinIO的修复能力。
以下步骤提供了更详细的驱动器更换指南。
这些步骤假设一个MinIO部署,其中每个节点使用 /etc/fstab
管理驱动器,并根据 文档化的先决条件 使用每个驱动器的标签。
1) 卸载故障驱动器
使用 umount
命令卸载每个故障的驱动器。
例如,以下命令卸载了位于 /dev/sdb
的驱动器:
umount /dev/sdb
2) 替换故障的驱动器
从节点硬件中移除故障的驱动器,并用已知健康的驱动器替换它。 替换驱动器 必须 满足以下要求:
XFS 格式化 并且为空。
相同类型的驱动器(例如,HDD、SSD、NVMe)。
等于或更高的性能。
等于或更大的容量。
使用容量更大的替换驱动器并不会增加总容量存储空间。 MinIO 使用所有驱动器中 最小 的容量作为 服务器池 中所有驱动器的上限。
以下命令将驱动器格式化为XFS文件系统,并为其分配一个与 故障驱动器匹配的标签。
mkfs.xfs /dev/sdb -L DRIVE1
MinIO 强烈建议 使用基于标签的挂载方式, 以确保在系统重启后驱动器的顺序保持一致。
3) 检查并更新 fstab
检查 /etc/fstab
文件,并根据需要更新,
以便故障驱动器的条目指向新格式化的替换驱动器。
I如果使用基于标签的驱动器分配, 请确保每个标签都指向正确的新格式化驱动器。
如果使用基于UUID的驱动器分配,请根据新格式化的驱动器更新每个点的UUID。 您可以使用
lsblk
命令查看驱动器UUID。
例如, consider
$ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
LABEL=DRIVE1 /mnt/drive1 xfs defaults,noatime 0 2
LABEL=DRIVE2 /mnt/drive2 xfs defaults,noatime 0 2
LABEL=DRIVE3 /mnt/drive3 xfs defaults,noatime 0 2
LABEL=DRIVE4 /mnt/drive4 xfs defaults,noatime 0 2
备注
依赖挂载外部存储的云环境实例可能会遇到启动失败,如果其中一个或多个远程文件系统挂载返回错误或失败。
例如,如果一个或多个EBS卷挂载失败,那么即使使用了标准的 /etc/fstab
配置,带有挂载持久性EBS卷的AWS ECS实例也可能无法启动。
您可以通过设置 nofail
选项来在启动时静默错误报告,并允许实例在有一个或多个挂载问题的情况下启动。
您不应该在具有本地连接磁盘的系统上使用这个选项,因为静默驱动器错误会阻止MinIO和操作系统以正常方式对这些错误做出响应。
由于替换驱动器在 /mnt/drive1
上使用了与故障驱动器相同的
标签 DRIVE1
,因此不需要对 fstab
进行任何更改。
4) 重新挂载替换后的驱动器
使用 mount -a
命令来重新挂载在本次操作开始时卸载的
驱动器:
mount -a
该命令应导致所有替换后的驱动器被重新挂载。
5) 监控 MinIO 的驱动器检测和修复状态
在重新挂载驱动器后,使用 mc admin logs
命令 或者 对于使用 systemd
管理的安装,使用 journalctl -u minio
命令来监控服务器日志输出。
输出应包括标识每个已格式化和
清空驱动器的消息。
使用 mc admin heal
命令来监控部署上的整体 修复 状态。
MinIO会积极修复替换的驱动器,
以确保从降级状态快速恢复。
6) 下一步
监控集群是否有进一步的驱动器故障。 有些驱动器批次可能会在彼此接近的时间失败。 遇到高于预期驱动器故障率的部署应安排专门维护,以更换已知的坏批次驱动器。 考虑使用 MinIO SUBNET 来与MinIO工程团队协调,获取此类操作的指导。