昨天在两台FreeBSD上配置好Heartbeat服务(两台机器是用网线连通的,做为Heartbeat的两个节点),启动服务时Heartbeat检测到crmd守护进程没起来,于是它就尝试重启两台机器以启动crmd守护进程。不料重启的过程文件系统出问题了。

  错误的信息是这样的:

      panic: ufs_dirbad:  /: bad dir ino 321044 at offset 512: mangled entry

      cpuid=0

      之后是一堆的内核栈空间的出错信息,并提示,系统15秒后自动启动。

  既然是文件系统出错,又是ufs文件系统,当然第一时间想到的是fsck。于是我挂起了Live CD,对系统分区进行了fsck -y  /dev/ada0p2修复(很盲目,没办法,咱懂得的也就这么多:-))再次启动系统,傻了眼,起不来!老样子!。

  没办法,只好祭起大招来!上网google一把!看看老外大牛的说法。大牛说了,这种事情发生的机率很少,十年来他才遇见三次。(太荣幸了,我一天之内同时遇见二次!)具体的原因是由于某些硬件引起的(看来是没法查了)。不过幸运的是大牛给了不少的解决方法,我先尝试了几个,但很不幸的是都没能成功!:-( 还好也有点收获,看到大牛介绍的利用fsdb进行文件系统调试,觉得这个有点技术含量哦!

  学技术的人看到了有技术含量的东西,不免有点热血沸腾了!于是按照他的说法做了起来:(反正也没招,不成功咱也能找点见识啊!)

  1  先启动机器,进入FreeBSD的单用户模式。

  2  直接对分区执行fsdb:fsdb /dev/ada0p2

  3  执行完上述命令后进入的是一个类似gdb的调试界面。

  4  执行inode 321044(321044是错误的inode节点号),界面报出了一大堆信息。(呵呵,咱这水平,还看不懂!)

  5  不管三七二十一,执行clir 321044 (我这是莽夫的行为,千万别学我,至少要做个备份了再干)

  6  执行quit,退出fsdb。fsdb提示需要执行fsck检查文件系统。

  7  执行fsck命令,系统自动找着问题分区,询问进行日志修复(键入y)

  8  重启系统

  在重启系统的时候系统又报了文件系统出错,不过这回是进入单用户模式(看来有点效果了),好吧,老办法,进行一次fsck -y /dev/ada0p2再重启系统, 这回没有报错了,且能进入login界面了!哈哈!

  fsdb,有点意思!

  老外网址:http://phaq.phunsites.net/2007/07/01/ufs_dirbad-panic-with-mangled-entries-in-ufs/

  学一点,收获一点。学到的都是自己的!

修复FreeBSD上的ufs文件系统的更多相关文章

  1. zfs和ufs文件系统

    系统环境:freebsd 在zfs文件系统上的文件拷贝到ufs文件系统之后,大小翻了一倍.初步断定是文件系统导致的.不知道以后还会不会有新发现.come on!

  2. Chkdsk /f 修复无法识别EXFAT卷文件系统

    Chkdsk 工具将错误地报告为损坏的 Windows 7 和 Windows Server 2008 R2 中 exFAT 卷文件系统 适用于: Windows Server 2008 R2 Ser ...

  3. mkfs在特定的分区上建立 linux 文件系统

    Linux mkfs命令用于在特定的分区上建立 linux 文件系统 使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]参数 :    ...

  4. ZFS -世界上最高级的文件系统之一

    https://www.oschina.net/news/44302/openzfs_launch_announcement https://en.wikipedia.org/wiki/ZFS ZFS ...

  5. FreeBSD上编写x86 Shellcode初学者指南

    FreeBSD上编写x86 Shellcode初学者指南 来源 https://www.4hou.com/binary/14375.html 介绍 本教程的目的是帮助你熟悉如何在FreeBSD操作系统 ...

  6. CentOS上安装分布式文件系统FastDFS & 配置和问题解决

    原文:https://my.oschina.net/wangmengjun/blog/1142982 什么是FastDFS? FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件 ...

  7. 修复AWS上EC2损坏的sshd_config文件

    常识: AWS是没有root用户的,登陆也都是通过SSH KEY完成授权认证. 背景: 正在AWS上搭一个CI (GO),与gitlab,为了将其进行集成,需将gitlab的deploy key设置成 ...

  8. 在FreeBSD上安装Bugzilla

    Bugzilla 是一款开源的 Web 应用,是一款bug跟踪系统和测试工具,由 mozilla 开发,并采用 Mozilla 公共许可证授权(MPL),它经常被一些高科技公司如 mozilla.红帽 ...

  9. 在FreeBSD上搭建Mac的文件及time machine备份服务

    上周将工作用电脑由公司配备的台式机切换到自己低配的macbook air上面,小本本的128G SSD远远不能满足工作的储存需要,但又不舍得入手昂贵的AirPort Time Capsule,于是考虑 ...

随机推荐

  1. Android中的onActivityResult和setResult方法的使用

    如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent,int requestCode)方 ...

  2. unix下输出重定向

    > 为重定向符号 >> 重定向不覆盖原文件内容 example: 1. 标准输出重定向 echo "123" > /home/123.txt ---- 标准 ...

  3. SQL-数学、字符串、时间日期函数和类型转换

    --数学函数 --ABS绝对值,select ABS(-99)--ceiling取上限,select CEILING(4.5)--floor去下限select FLOOR(4.5)--power 几次 ...

  4. python sqlite 插入的数据含有变量,结果不一致

    def insert(): conn = sqlite3.connect("sqlite.db") print "open database passed" t ...

  5. BZOJ 3270 && BZOJ 1778 (期望DP && 高斯消元)

    BZOJ 3270 :设置状态为Id(x,y)表示一人在x,一人在y这个状态的概率. 所以总共有n^2种状态. p[i]表示留在该点的概率,Out[i]=(1-p[i])/Degree[i]表示离开该 ...

  6. Spring的依赖注入怎么理解

    先看一段代码假设你编写了两个类,一个是人(Person),一个是手机(Mobile). 人有时候需要用手机打电话,需要用到手机的dialUp方法. 传统的写法是这样: Java code public ...

  7. JavaScript数据属性与访问器属性

    ES5中对象的属性可以分为‘数据属性’和‘访问器属性’两种. 数据属性一般用于存储数据数值,访问器属性对应的是set/get操作,不能直接存储数据值. 数据属性特性:value.writable.en ...

  8. 收拾那掉了一地的session

    多个页面有如下多个session,本来可能是如下面这样的 Session["UId"] = 10; Session["UName"] = "test& ...

  9. How to ssh to your Amazon Elastic Beanstalk instance?

    Well, if it's ec2 or a digital ocean server, it would be a lot easier- you do what you normally do f ...

  10. MCMC: The Metropolis Sampler

    本文主要译自 MCMC: The Metropolis Sampler 正如之前的文章讨论的,我们可以用一个马尔可夫链来对目标分布 \(p(x)\) 进行采样,通常情况下对于很多分布 \(p(x)\) ...