昨天在两台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. Visual Studio 不生成.vshost.exe和.pdb文件的方法【转】

    Visual Studio 不生成.vshost.exe和.pdb文件的方法[转] 使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost ...

  2. ubuntu 搭建maven库 2.14.2-01并配置离线索引文件

    前提 安装JDK版本1.8或者以上 1 下载 http://www.sonatype.org/nexus/archived/  选择相应的版本 2 复制到/usr/local 下解压 sudo cp ...

  3. Delphi编译的程序如何获取管理员权限

    1.制作manifest文件 <?xml version="1.0" encoding="UTF-8" standalone="yes" ...

  4. hdu 2066

    ps:我天...之前看了迪杰斯特拉..现在这题要用到floyd..就是先建一个图,然后从列开始遍历,每列里遍历行,行又对应每列... 从A列开始遍历每行,比如遍历到B,这时候B->A知道是2,接 ...

  5. clojure 之 hello world

    1. 安装Leiningen 2. lein new app bar 3. lein run Hello, World!

  6. Java的多态

    多态的定义: 同一种行为,在不同对象上有不同的表现形式 实现多态的条件: 要有继承 要有方法的重写 要有父类的引用指向子类的对象 代码如下: public class Animal { String ...

  7. sql 删除表格delete drop truncate 区别(转)

    (1)   DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作.TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把 ...

  8. 如何执行字符串的PHP代码

    如何执行字符串的PHP代码 最近因项目需要,引出一个议题:如何执行字符串的php代码(php和html混写). 注:传统情况下,php代码存储在文件中,直接运行文件即可.以下讨论的情况是,如果php代 ...

  9. keyFile 巩固练习

    系统 : Windows xp 程序 : noodles-crackme2 程序下载地址 :http://pan.baidu.com/s/1mhJ4Ems 要求 : 编写KeyFile 使用工具 : ...

  10. linux驱动之USB驱动程序

    1. USB是主从结构的 所有的USB传输,都是从USB主机这方发起:USB设备没有"主动"通知USB主机的能力. 例子:USB鼠标滑动一下立刻产生数据,但是它没有能力通知PC机来 ...