fdisk查看外挂存储报错:cannot open /dev/sdb: Input/output error

情况描述:服务器要使用存储进行虚拟化平台搭建。

1.执行查看存储命令:

fdisk

报错信息如下:
fdisk: cannot open /dev/sdb: Input/output error
在这里插入图片描述
报错信息提示/dev/sdb出现了Input/output error。网上说,这种情况情况疑似硬盘分区表损坏!!!

2.使用lsscsi命令查看

lsscsi

在这里插入图片描述

ll  /sys/class/scsi_device

在这里插入图片描述
3.然后按照网上的这个思路处理,结果,问题没处理好,磁盘反而不见了。。。。只能重启服务器,重启完后仍然报错。

4.定位问题,由于服务器一直在重新安装操作系统,怀疑可能是在做操作系统时,把radio弄坏了,于是决定重做了raid,重新做完raid后,磁盘OK了。

### fdisk无法打开 `/dev/sdb` 设备的原因分析 当遇到 `fdisk cannot open /dev/sdb: No such file or directory` 错误时,通常意味着系统未能识别到指定的磁盘设备。这可能是由于多种原因造成的: - **硬件连接问题**:物理硬盘可能未正确连接至服务器或计算机。 - **驱动程序缺失**:操作系统缺少必要的驱动来识别该类型的存储设备[^1]。 - **内核模块加载失败**:某些情况下,特定于存储控制器的内核模块未能成功加载。 ### 解决方案 #### 一、确认硬件状态 通过命令行工具检查当前系统的磁盘列表,验证目标磁盘是否存在以及其名称是否确实为 `/dev/sdb`: ```bash lsblk ``` 如果发现实际存在的磁盘名与预期不符,则应依据实际情况调整后续操作中的路径参数。 #### 二、重启并重新扫描SCSI总线(适用于SAS/SATA SSD) 对于采用SCSI协议接口的标准串行 ATA (SATA) 或 SAS 接口固态硬盘,在尝试其他方法之前可以先执行一次 SCSI 总线重扫动作,以便让 Linux 内核能够检测新加入的设备: ```bash echo "- - -" > /sys/class/scsi_host/host0/scan ``` 此命令会触发主机适配器去查找新的 LUNs 并将其注册给操作系统。注意这里的 `host0` 可能需要根据具体环境替换为你自己的主机编号。 #### 三、手动装载所需内核模块 有时因为各种因素导致默认配置下并未自动加载所需的内核支持组件。此时可以通过手工方式强制引入这些依赖项: ```bash modprobe sd_mod # 加载标准IDE/SCSI磁盘驱动 modprobe ata_piix # 如果是Intel PIIX系列芯片组的话还需要这个 ``` 完成上述步骤之后再次运行 lsblk 查看是否有新增加出来的块设备节点;如果有则说明问题已经得到初步缓解。 #### 四、排查启动阶段日志 假如经过前面几步仍然找不到对应的磁盘文件,那么建议查看 dmesg 输出以获取更多关于初始化过程的信息: ```bash dmesg | grep sdb ``` 这条指令可以帮助定位具体的错误提示位置,并为进一步诊断提供线索。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值