确定并卸载故障存储卷
在恢复包含故障存储卷的存储节点时,您必须确定并卸载故障卷。您必须验证在恢复操作步骤 中仅重新格式化故障存储卷。
您将使用登录到网格管理器 "支持的 Web 浏览器"。
您应尽快恢复发生故障的存储卷。
恢复过程的第一步是检测已断开连接,需要卸载或存在 I/O 错误的卷。如果故障卷仍然连接,但文件系统随机损坏,则系统可能无法检测到磁盘中未使用或未分配的部分有任何损坏。
您必须先完成此操作步骤 ,然后再执行手动步骤来恢复卷,例如添加或重新连接磁盘,停止节点,启动节点或重新启动。否则、在运行时 reformat_storage_block_devices.rb 脚本、您可能会遇到文件系统错误、导致脚本挂起或失败。
|
在运行之前、请修复硬件并正确连接磁盘 reboot 命令:
|
请仔细识别故障存储卷。您将使用此信息验证哪些卷必须重新格式化。重新格式化卷后、卷上的数据将无法恢复。 |
要正确恢复故障存储卷,您需要知道故障存储卷的设备名称及其卷 ID 。
在安装时,系统会为每个存储设备分配一个文件系统通用唯一标识符( UUID ),并使用分配的文件系统 UUID 挂载到存储节点上的一个 rangedb 目录。中列出了文件系统UUID和rangedb目录 /etc/fstab
文件网格管理器中将显示设备名称,范围 b 目录以及已挂载卷的大小。
在以下示例中、为device /dev/sdc
卷大小为4 TB、将挂载到 /var/local/rangedb/0
、使用设备名称 /dev/disk/by-uuid/822b0547-3b2b-472e-ad5e-e1cf1809faba
在中 /etc/fstab
文件:
-
完成以下步骤以记录故障存储卷及其设备名称:
-
选择 * 支持 * > * 工具 * > * 网格拓扑 * 。
-
选择 * 站点 * > * 故障存储节点 * > * LDR* > * 存储 * > * 概述 * > * 主 * ,然后查找包含警报的对象存储。
-
选择 * 站点 * > * 故障存储节点 * > * SSM* > * 资源 * > * 概述 * > * 主 * 。确定上一步中确定的每个故障存储卷的挂载点和卷大小。
对象存储以十六进制表示法进行编号。例如, 0000 是第一个卷, 000f 是第 16 个卷。在此示例中、ID为0000的对象存储对应于
/var/local/rangedb/0
设备名称sdc、大小为107 GB。
-
-
登录到发生故障的存储节点:
-
输入以下命令:
ssh admin@grid_node_IP
-
输入中列出的密码
Passwords.txt
文件 -
输入以下命令切换到root:
su -
-
输入中列出的密码
Passwords.txt
文件
以root用户身份登录后、提示符将从变为
$
to#
。 -
-
运行以下脚本以卸载发生故障的存储卷:
sn-unmount-volume object_store_ID
。
object_store_ID
是故障存储卷的ID。例如、请指定0
在ID为0000的对象存储的命令中。 -
如果出现提示,请按*y*停止Cassand拉 服务,具体取决于存储卷0。
如果Cassand拉 服务已停止、则不会出现提示。仅对卷 0 停止 Cassandra 服务。 root@Storage-180:~/var/local/tmp/storage~ # sn-unmount-volume 0 Services depending on storage volume 0 (cassandra) aren't down. Services depending on storage volume 0 must be stopped before running this script. Stop services that require storage volume 0 [y/N]? y Shutting down services that require storage volume 0. Services requiring storage volume 0 stopped. Unmounting /var/local/rangedb/0 /var/local/rangedb/0 is unmounted.
几秒钟后、此卷将被卸载。此时将显示消息,指示此过程的每个步骤。最后一条消息指示卷已卸载。
-
如果由于卷繁忙而导致卸载失败、您可以使用强制卸载
--use-umountof
选项:使用强制卸载 --use-umountof
选项可能会使使用此卷的发生原因 进程或服务行为异常或崩溃。root@Storage-180:~ # sn-unmount-volume --use-umountof /var/local/rangedb/2 Unmounting /var/local/rangedb/2 using umountof /var/local/rangedb/2 is unmounted. Informing LDR service of changes to storage volumes