NFS 服务器在 EXT4 系统磁盘上生成“无效范围”?

NFS 服务器在 EXT4 系统磁盘上生成“无效范围”?

我有一台运行 Xen 4.1 的服务器,在 dom0 和 4 个 domU 中都安装了 Oneiric。domU 的系统磁盘是基于 mdadm RAID1 构建的 LVM2 卷。

所有 domU 系统磁盘都是 EXT4,并使用相同原始模板的快照创建。其中 3 个运行正常,但其中一个(称为 s-ub-02)一直以只读方式重新安装。后续结果e2fsck显示单个“无效范围”诊断:

e2fsck 1.41.14 (22-Dec-2010)
/dev/domu/s-ub-02-root contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 525418 has an invalid extent
    (logical block 8959, invalid physical block 0, len 0)
Clear<y>? yes

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/domu/s-ub-02-root: 77757/655360 files (0.3% non-contiguous), 360592/2621440 blocks

控制台通常显示系统磁盘(xvda2)的以下错误:

[101980.903416] EXT4-fs error (device xvda2): ext4_ext_find_extent:732: inode #525418: comm apt-get: bad header/extent: invalid extent entries - magic f30a, entries 12, max 340(340), depth 0(0)
[101980.903473] EXT4-fs (xvda2): Remounting filesystem read-only

我创建了系统磁盘的新版本。总是发生同样的事情。这一点,以及磁盘最终位于 RAID1 上的事实,使我排除了硬件磁盘错误。

这个 domU 唯一明显的区别特征是 的存在nfs-kernel-server,所以我怀疑。其exports文件如下所示:

/exports/users           192.168.0.0/255.255.248.0(rw,sync,no_subtree_check)
/exports/media/music     192.168.0.0/255.255.248.0(rw,sync,no_subtree_check)
/exports/media/pictures  192.168.0.0/255.255.248.0(rw,sync,no_subtree_check)
/exports/opt             192.168.0.0/255.255.248.0(rw,sync,no_subtree_check)

/exports/users并且/exports/opt是与系统磁盘来自同一卷组的 LVM2 卷。/exports/media是 EXT2 卷。(存在客户端将其视为/exports/media/pictures只读卷的问题,我提到这一点是为了完整性。)

除了只读问题之外,在出现“无效范围”问题之前,NFS 服务器似乎可以在轻负载下正常工作几个小时。

中没有有用的条目/var/log。突然间,没有更多的文件被写入,因此您可以看到磁盘何时以只读方式重新安装,但没有任何迹象表明原因可能是什么。

有人能帮我解决这个问题吗?

史蒂夫

答案1

这个问题已经被OP解决了:

在 ext4 再次出现问题后,我最终通过放弃 ext4 并返回 ext3 解决了这个问题。该特定虚拟机中发生了一些奇怪的事情,但我不能再花时间去找出它是什么了。

相关内容