• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

CAS平台一台CVK主机连接不到存储,其他主机正常

3小时前提问
  • 0关注
  • 0收藏,32浏览
粉丝:0人 关注:0人

问题描述:

CAS7.0平台一台CVK主机死机重启后连接不到存储了,其他主机正常,登录该主机后台查看存储池有如下提示,fdisk -l能看到存储映射过来的LUN

3 个回答
粉丝:18人 关注:0人

根据您提供的图片和描述,这是一个典型的华三CAS平台单节点存储服务异常问题。其他主机正常,只有这一台CVK主机在死机重启后连接不到存储,说明问题出在该主机的本地存储服务上。
问题诊断
从错误信息可以看出:
fsmcli showpool命令尝试连接本地 127.0.0.1:20199端口
连接被拒绝,说明存储管理服务(FSM)没有正常运行
fdisk -l能看到LUN说明存储链路和映射正常,只是CAS的存储管理服务无法访问
解决方案步骤
步骤1:检查并重启存储管理服务
# 1. 检查FSM服务状态
systemctl status fsm

# 2. 如果服务停止,尝试启动
systemctl start fsm

# 3. 查看服务启动日志
journalctl -u fsm -n 50 --no-pager

# 4. 如果启动失败,检查端口占用情况
netstat -tlnp | grep 20199
lsof -i :20199
步骤2:检查相关依赖服务
# 1. 检查CAS核心服务
systemctl status cas

# 2. 检查数据库服务
systemctl status postgresql # CAS 7.0通常使用PostgreSQL
systemctl status mysql # 或MySQL

# 3. 检查消息队列服务
systemctl status rabbitmq-server

# 4. 按顺序重启相关服务(在业务低峰期操作)
systemctl restart postgresql
systemctl restart rabbitmq-server
systemctl restart fsm
systemctl restart cas
步骤3:手动修复存储连接
# 1. 查看存储连接状态
cat /var/log/cas/storage.log | tail -100
cat /var/log/fsm/fsm.log | tail -100

# 2. 尝试重新注册存储(先备份配置)
cp -r /etc/fsm/ /etc/fsm_backup_$(date +%Y%m%d)

# 3. 清除可能损坏的存储缓存
rm -f /var/run/fsm/fsm.pid
rm -f /var/lock/fsm/*

# 4. 重新加载存储驱动
modprobe -r qla2xxx # 如果是QLogic FC HBA
modprobe qla2xxx
# 或
modprobe -r lpfc # 如果是Emulex FC HBA
modprobe lpfc
步骤4:从CAS管理平台修复
登录CAS管理界面
进入 "资源" → "存储"
找到问题主机的存储池,尝试:
刷新存储池
重新挂载存储
重新扫描存储设备
如果以上无效,可以尝试:
将该主机从集群中临时移除
删除该主机的存储配置
重新添加存储配置
将主机重新加入集群
步骤5:检查硬件和驱动问题
# 1. 检查HBA卡状态(如果使用FC SAN)
cat /sys/class/fc_host/host*/port_state
cat /sys/class/fc_host/host*/speed

# 2. 检查多路径状态
multipath -ll
multipath -r

# 3. 重新扫描SCSI总线
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan

# 4. 检查内核消息
dmesg | grep -i storage
dmesg | grep -i error
步骤6:深度修复(如上述步骤无效)
# 1. 停止所有相关服务
systemctl stop cas
systemctl stop fsm

# 2. 备份数据库(重要!)
pg_dump -U postgres casdb > /tmp/casdb_backup_$(date +%Y%m%d).sql

# 3. 清理并重建FSM数据库连接
su - postgres -c "psql -c \"SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'fsmdb';\""
su - postgres -c "psql -c \"DROP DATABASE fsmdb;\""
su - postgres -c "psql -c \"CREATE DATABASE fsmdb OWNER fsmuser;\""

# 4. 重新初始化FSM
fsmcli initdb
systemctl start fsm

# 5. 重新注册存储
fsmcli addpool --type=共享存储类型 --path=存储路径 --name=存储池名称
紧急恢复方案
如果业务急需恢复,可以先将虚拟机迁移到其他正常主机:
# 1. 在CAS管理平台中将该主机设置为维护模式
cvkmgr set --host=cvknode-6 --mode=maintenance

# 2. 迁移所有虚拟机到其他主机
# 通过CAS管理界面手动迁移,或使用命令行
for vm in $(cvmcli listvm --host=cvknode-6 | awk '{print $1}'); do
cvmcli migrate --vm=$vm --dsthost=其他正常主机
done

# 3. 彻底修复问题主机
预防措施
监控配置:
# 添加服务监控
crontab -e
# 添加:*/5 * * * * systemctl is-active --quiet fsm || systemctl restart fsm
定期检查:
# 创建健康检查脚本
vim /usr/local/bin/cas_health_check.sh
配置备份:
# 定期备份CAS配置
0 2 * * * tar czf /backup/cas_config_$(date +\%Y\%m\%d).tar.gz /etc/cas/ /etc/fsm/
重要注意事项
操作前务必备份:所有关键数据和配置
按顺序操作:从简到繁,避免不必要的重启
记录操作:记录每一步操作和结果
联系支持:如果问题复杂,及时联系华三技术支持(400-810-0504)
问题总结
这个问题通常是由以下原因之一引起的:
死机导致服务状态不一致
存储服务进程崩溃
数据库连接异常
配置文件损坏
建议按照上述步骤顺序排查,大多数情况下通过重启服务和清理缓存可以解决问题。如果存储池配置信息丢失,可能需要从其他正常节点同步配置或重新配置存储。

暂无评论

粉丝:2人 关注:0人

CAS 7.0 平台上一台 CVK 主机重启后无法连接存储,执行 fsmc1i showpool 提示连接 127.0.0.1:20199 被拒绝。这通常是因为管理存储池的本地服务(如 fsmd)未启动或异常导致的。虽然 fdisk -l 能看到存储映射的 LUN,但 CAS 的存储管理依赖于该服务来识别和管理存储池。

以下为排查和解决步骤:


1. 检查并启动相关服务

fsmc1i 命令依赖本地 fsmd 服务(也可能是 cas-fsmd 等),该服务监听 20199 端口。请登录该 CVK 主机后台执行:

# 查看 fsm 相关服务状态 systemctl status fsmd # 或尝试查找服务名 systemctl list-units | grep -i fsm ps aux | grep fsm如果服务未运行,启动它:
systemctl start fsmd如果服务启动失败,查看日志:
journalctl-u fsmd -n 50 # 或检查 /var/log/fsm/ 下的日志文件确认服务正常监听端口:
netstat -tlnp | grep 201992. 验证多路径状态(可选但重要)

由于存储 LUN 通常通过多路径软件聚合,重启后多路径服务可能未正常聚合设备,影响 CAS 对存储的识别。执行:

# 查看多路径设备状态
multipath -ll如果输出为空或显示路径为 failed,尝试重启多路径服务:
systemctl restart multipathd之后再次执行 multipath -ll 确认生成正确的多路径设备(如 mpatha)。

3. 重新加载存储池

服务启动并多路径正常后,重新执行存储池查看命令:

fsmc1i showpool
如果仍有问题,尝试重启 fsmd 服务:
systemctl restart fsmd
4. 检查防火墙与 SELinux(极少情况)

确认本地防火墙未阻止 20199 端口:

iptables -L -n | grep 20199
如有阻断规则,临时关闭防火墙测试:
systemctl stop firewalld # 或 iptables 相关命令
SELinux 可能干扰,可临时设为 permissive:
setenforce 0
5. 最终验证

服务正常后,再次使用 fsmc1i showpool 查看存储池,如果正常显示,说明存储连接已恢复。同时可在 CAS 管理界面重新扫描存储或重启 CVK 的存储代理服务。

暂无评论

粉丝:43人 关注:1人

使用命令iscsiadm -m session 扫描看一下,检查存储网络是否可达

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明