Appearance
解决升级硬盘导致存储空间不对的问题
由于一块硬盘换了,换了一块的硬盘。本着折腾的精神,顺便又多买了一块4T的硬盘,把原来黑群中的2T硬盘给换掉。原来的系统中有两个存储池,分别有3个4T硬盘组成RAID5的存储池1,以及有1个2T和4T组成RAID1的存储池2。这次更换分别是更换存储1中的4T硬盘以及把存储池2中的硬盘更换成4T。但由于手贱,顺便升级了DSM的版本,导致硬盘Map变了。不小心把原来存储池2中剩下的4T硬盘加入到存储池1中,导致有了这次坑爹的旅程。
把存储2中的4T硬盘加入存储1后,存储池2剩下了新添加进的两个新硬盘。还好原来是RAID1,所以原来2T的硬盘中还有数据,所以首先测试是恢复数据。为了简单,直接在pve使用dd进行copy数据。
bash
dd if=/dev/sda of=/dev/sdb status=process
等了近一天之后,数据成功导入到了新硬盘。进入DSM可以看到硬盘为4T,存储大小为原来的2T。本来以及和另一个4T硬盘重组成RAID1,存储池会自动扩展成4T,按群晖官方的文档好像也应该是这样。但神奇的是,修复完成存储池后存储池大小还是2T。网上各种寻找,好像并没有人遇到类似的情况。问了CHATGPT,给出的解决方案也不可行。
用fdisk -l查看,2个硬盘的分区表有一些差异,以为是原来使用dd导致继承了2T硬盘的分区表,所以无法识别4T的空间。于是尝试了把dd后的这个硬盘数据又擦除,然后重新添加到存储池中进行修复。本以为这次可以成功了,没想到修复完还是2T。
再次用fdisk -l查看分区另,发现最后一个分区确实只分配了1T多的空间,所以就想是不是可以通过扩充空间来解决问题。先是尝试在DSM中直接操作,但在群晖中mdadm无法stop,导致无法进行操作。只能在pve中操作。
在pve对2块硬盘分别执行,让最后一个分区扩展到整个硬盘空间。
bash
parted /dev/sdg resizepart 3 100%
然后想在pve中,使用mdadm修复。但一想到还要组合,挂载。突发奇想,就这样直接启动DSM会怎样,没想到奇迹发生了。进入系统,打开存储管理器,空间还是2T,但显示有未使用的硬盘空间,是否扩容。于是点击扩容。。。,终于整个空间变成4T了。