我的磁盘出现故障,需要更换。我在另一个磁盘上备份了数据,托管公司在更换损坏的磁盘之前将其删除。现在我有一个全新安装(Centos 6.10),并想安装备份磁盘“sdb”。我无法这样做,因为磁盘完全是一个分区。该命令不起作用:
[root@PGE005 ~]# mount -t ext4 /dev/sdb /mnt/disk2
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
型号:ATA MB0500EBNCR (scsi) 磁盘 /dev/sdb:500GB 扇区大小(逻辑/物理):512B/512B 分区表:循环
编号 开始 结束 大小 文件系统 标志 1 0.00B 500GB 500GB ext4
[root@PGE005 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb ext4 disk2 2fd32a7c-00f9-4db9-b5bd-139cde166a14
sdc
sdd
sda
├─sda1
├─sda2 ext2 af8372df-bb07-40ec-8f59-65e61576afc0 /boot
├─sda3 swap ddf30d80-0723-4e66-aa33-52c273e42464 [SWAP]
├─sda4 ext4 076sdr99-13d2-44cf-a230-49c8b3d22c7c /tmp
└─sda5 ext4 3a56e728-b1e7-47a7-bc44-391ea38b8fb6 /
我的备份磁盘是 sdb。托管服务提供商支持人员表示,分区格式化程序和安装器之间似乎存在兼容性问题。我非常感谢任何可以帮助我安装备份磁盘的支持或想法。
编辑:
[root@pge005 ~]# dmesg | tail
EXT4-fs (sdb): couldn't mount RDWR because of unsupported optional features (400)
答案1
dmsg 的消息非常有用。我找到了几篇关于此错误的帖子,最有前途的是 unix.se。
引自那里:
错误“EXT4-fs:由于不支持的可选功能(400)而无法安装 RDWR”是由于分区格式化程序(mkfs.ext4)和安装器之间的版本不同造成的。
您有两个选择:
a) 您必须使用 SD 卡内较新的发行版来升级安装程序。
b) 或者您必须备份文件,使用您正在安装的相同发行版(相同的 ext4 版本)重新格式化 SD 卡,然后在重新格式化后将文件再次复制到 SD 卡。
获得最多赞同的答案有以下额外提示:
ext4 功能 (400) 是新的 metadata_csum 功能。如果启用此功能并使用旧工具挂载文件系统,则只能以只读方式挂载。
(我重点标注了)。
因为您基本上想要恢复您的备份,所以我会尝试一下并以只读方式安装磁盘。
mount -t ext4 -o ro /dev/sdb /mnt/disk2
答案2
我不知道这是否是问题的根源,但我能够通过使用具有“metadata_csum”功能的 mkfs.ext4 v1.43.4 创建 ext4 文件系统并尝试使用在 centos-6.10 中找到的挂载(挂载 v2.17.2)挂载该文件系统来重现此错误。
使用 mkfs.ext4 v1.43.4 创建的 ext4 fs(不带“metadata_csum”功能)在 centos-6.10 上安装时没有任何问题。
如果启用了“metadata_csum”功能,并且您使用的是兼容版本的 dumpe2fs,则该功能会在 dumpe2fs 输出中列出:
root@debian:~# dumpe2fs /dev/sdb | grep -i feature
dumpe2fs 1.43.4 (31-Jan-2017)
Filesystem features: [... snip ...] metadata_csum
在 centos-6.10 上找到 dumpe2fs 时,此功能显示为“FEATURE_R10”
[root@centos ~]# dumpe2fs /dev/sdb | grep -i feature
dumpe2fs 1.41.12 (17-May-2010)
Filesystem features: [... snip ...] FEATURE_R10
因此,我要做的第一件事是尝试使用当前版本的 Centos 安装备份驱动器。如果可行,则将数据从驱动器中复制出来以安全保存。(备份您的备份,然后进行测试恢复)。
如果启用了“metadata_csum”功能,则可以使用兼容版本的 tune2fs 删除该功能
# tune2fs -O ^metadata_csum /dev/sdX
在我的测试环境中,删除此功能使得文件系统向后兼容 Centos-6.10。
作为参考,您可以创建没有此功能的 ext4 文件系统:
root@debian:~# mkfs.ext4 -O ^metadata_csum /dev/sdX
总之,我想强调的是,谨慎是必要的。仅仅因为你能使用 tune2fs 删除此功能,并不意味着你应该。
本参考关于 ext4 校验和功能,表示驱动器应该通过 fsck前您使用 tune2fs...请不要用您唯一的备份进行实验。
答案3
如果您尝试挂载 NFS CIFS,则需要安装 nfs-common / cifs-utils
否则,如果它是空白的,则需要创建一个文件系统:
mkfs.ext4 /dev/sdb1
从用户手册:
2.4.5零件
命令:mkpart [part-type fs-type name] start end
创建新分区,但不在该分区上创建新的文件系统。
答案4
请尝试使用不同的 Linux 版本实时启动带有备份驱动器的主机。实时启动通常会毫不费力地映射现有驱动器(如果任何一种版本适合您),将数据复制到外部驱动器。然后使用您的备份磁盘全新安装主机并对其进行格式化。这样做可能需要一些时间,但风险会更小。