首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XFS检查/修复失败

XFS检查/修复失败
EN

Server Fault用户
提问于 2011-05-29 22:20:36
回答 1查看 2.7K关注 0票数 3

我在一个EC2实例上有一个mysql数据库服务器,在Raid 0数组中有3个驱动器。今天早上,服务器崩溃了,在检查了日志之后,我注意到一个结构需要清理错误(即系统错误代码117)。这样,我试图在受影响的驱动器上运行一个xfs_check,但返回的内容如下:

代码语言:javascript
复制
xfs_repair: /dev/md0 contains a mounted filesystem

fatal error -- couldn't initialize XFS library

我已经安装了所有必要的工具/包,所以我检查了syslog并返回如下:

代码语言:javascript
复制
Filesystem "md0": XFS internal error xfs_da_do_buf(2) at line 2112 of file /build/buildd/linux-ec2-2.6.32/fs/xfs/xfs_da_btree.c.  Caller 0xffffffff81261bb5

在尝试一个xfs_repair之后,我仍然可以看到相同的输出和相同的syslog条目。

由于问题仅存在于一个数据库目录中,是否有一种方法可以修复上述问题,或者让mysql忽略数据库目录以便继续运行(即手动删除数据库,同时保持lib目录完整)。任何建议都会有帮助。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2011-05-30 04:42:07

卸载当前安装的任何内容。xfs_repair有时对此有点挑剔。lsof /mountedpartition,看看如果您无法卸载分区,哪些分区仍然处于打开状态。

根据关闭方式的不同,您可能需要执行-L来清除日志,并且不管您的偏好如何,在xfs_repair上使用-P - xfs_repair通常会运行并被卡住,然后就坐在那里,-P允许它继续运行。

如果您想检查进度,从另一个终端会话,strace -p (pid的xfs_repair),你可以看到它是否还在做什么。

我不知道您正在运行的是什么版本的xfsprogs/xfsdump,但是,看看您的操作系统是否可以进行升级--有一些最近的升级(过去8个月)解决了一些奇怪的缓冲区溢出问题。XFS工具目前为3.1.5。

在修复过程中,您将无法很容易地有选择地删除目录--尽管错误消息表明您将看到一些数据丢失,或者会在/lost+found中找到这些文件。根据结构的糟糕程度,您可能会发现很少有数据丢失。如果你真的想深入,你可以有目的地遍历元结构并清除某些部分,但是,我想你可能会发现这是非常复杂的。

或者,从备份中恢复mkfs和还原。

在重读过程中,文件系统似乎已经挂载,您可以做的是关闭mysql,将一个坏的数据库目录移出mysql目录,重新启动mysql。文件系统应该在某个时候被清理,但是,如果唯一的问题是一个目录和您能够挂载文件系统,那么您应该能够写/移动这个目录。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/275066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档