由于 posgresql 内存使用量过大,服务器崩溃了。重启后,由于超级块错误,位于postgresql数据的磁盘未挂载。
我从 aws 控制台创建了新卷来恢复该分区。
1- 我通过 ddrestore 将损坏的磁盘克隆到新磁盘;
ddrescue -v —force /dev/nvme1n1 /dev/nvme3n1 /tmp.log
2- fsck结果
ext2fs_open2:超级块中的错误幻数 fsck.ext2:超级块无效,正在尝试备份块... fsck.ext2:尝试打开 /dev/nvme1n1 时超级块中的错误幻数
无法读取超级块或未描述有效的 ext2/ext3/ext4 文件系统。如果设备有效并且确实包含 ext2/ext3/ext4 文件系统(而不是 swap 或 ufs 或其他文件系统),则超级块已损坏,您可以尝试使用备用超级块运行 e2fsck:e2fsck -b 8193 或 e2fsck -b 32768
3- 我找到了备份超级块列表
sudo mke2fs -n /dev/nvme1n1
结果 :
创建具有 73242187 个 4k 块和 18317312 个索引节点的文件系统 文件系统 UUID:5b950060-1755-46b4-bef0-4a76e721f668 存储在块上的超级块备份:32768、98304、163840、229376、294912、 00、884736、1605632、2654208、4096000、7962624、11239424 , 20480000, 23887872, 71663616
4- 我尝试了所有超级块;
sudo e2fsck -b 32768 /dev/nvme1n1
它对我不起作用。同一 SSD 上的另一部分(即根卷)工作正常。
你能帮助我吗?