You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带重要数据的WD20EZAZ 2TB硬盘接入RAID阵列卡后无法挂载,寻求保持虚拟磁盘大小不变的解决方案

带重要数据的WD20EZAZ 2TB硬盘接入RAID阵列卡后无法挂载,寻求保持虚拟磁盘大小不变的解决方案

兄弟,我遇到过几乎一模一样的问题!LSI MegaRAID系列控制器默认创建单盘RAID0的时候,会偷偷在磁盘末尾占用几个扇区存RAID元数据,导致系统识别到的磁盘容量比物理盘原生的小——而你的NTFS分区是基于物理盘完整扇区数做的,自然就挂载失败了。你执行mount时的报错也正好印证了这点:

Failed to read last sector (3907024894): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sda1': Invalid argument
The device '/dev/sda1' doesn't seem to have a valid NTFS.

简单说,你的WD20EZAZ原生是2TB,对应3907029168个扇区,但通过MegaRAID创建单盘RAID0后,控制器把最后几百个扇区锁成了RAID元数据区,系统只能看到更少的扇区,NTFS校验时发现分区的结束扇区超出了当前磁盘的实际可用范围,直接拒绝挂载。

下面给你两个靠谱的解决方案,优先推荐第一种,能完整保留磁盘原生容量,还不碰你的数据:

解决方案1:将磁盘设为JBOD模式(推荐,完全透传物理盘)

MegaRAID 9260-4i支持JBOD模式,开启后控制器会完全透传物理盘的所有扇区,和直接接主板SATA口的效果一样,不会修改任何磁盘数据:

  • 先下载适合你系统的storcli工具(LSI官方的命令行管理工具,比老的MegaCLI好用多了)
  • 查看所有物理盘的位置,找到你的WD20EZAZ对应的Enclosure ID和Slot ID:
    storcli64 /c0/eall/sall show
    
    比如输出里会显示类似Enclosure Device ID: 252和Slot Number: 0的信息,记下来这两个数值
  • 删除当前的单盘RAID0虚拟磁盘(放心,这个操作只删控制器的RAID配置,不会碰物理盘上的数据):
    storcli64 /c0/v0 delete
    
    这里的v0是你要删除的虚拟磁盘ID,不确定的话可以用storcli64 /c0 show all查看所有虚拟磁盘的ID
  • 开启控制器的JBOD模式:
    storcli64 /c0 set jbod=on
    
  • 把目标物理盘设置为JBOD模式(替换成你刚才记下的Enclosure和Slot ID):
    storcli64 /c0/e252/s0 set jbod
    
  • 重启服务器,现在系统会识别到完整容量的WD20EZAZ,再执行mount -t ntfs-3g /dev/sda1 /mnt/d2tb2应该就能正常挂载了

解决方案2:创建不占用扇区的单盘RAID0(如果必须用RAID模式)

如果你的服务器要求必须用RAID模式不能用JBOD,那可以创建一个不保留RAID元数据的单盘RAID0,步骤如下:

  • 先删除现有的虚拟磁盘(和方案1里的删除步骤完全一样)
  • 用storcli创建单盘RAID0,强制使用物理盘的全部扇区(替换成你的Enclosure和Slot ID):
    storcli64 /c0 add vd r0 drives=252:0 NoLdInfo=on
    
    这里的NoLdInfo=on是关键,它会让控制器不在磁盘上写入任何RAID元数据,虚拟磁盘的扇区数就和物理盘完全一致了
  • 重启后再尝试挂载,应该就能成功

重要注意事项

  • 操作前绝对不要对磁盘进行格式化、分区重建、磁盘初始化等操作,否则会直接丢失数据
  • 执行虚拟磁盘删除操作前,一定要确认对应的物理盘是你的WD20EZAZ,别误删了其他盘的虚拟磁盘
  • 如果没有storcli,用老的MegaCLI也能实现相同效果,命令逻辑差不多,比如MegaCli64 -CfgLdDel -L0 -a0删除虚拟磁盘,MegaCli64 -AdpSetProp EnableJBOD -1 -a0开启JBOD,MegaCli64 -PDMakeJBOD -PhysDrv[252:0] -a0设置磁盘为JBOD

备注:内容来源于stack exchange,提问作者vovan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:33:02