修复FreeBSD上的ufs文件系统
昨天在两台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文件系统的更多相关文章
- zfs和ufs文件系统
系统环境:freebsd 在zfs文件系统上的文件拷贝到ufs文件系统之后,大小翻了一倍.初步断定是文件系统导致的.不知道以后还会不会有新发现.come on!
- Chkdsk /f 修复无法识别EXFAT卷文件系统
Chkdsk 工具将错误地报告为损坏的 Windows 7 和 Windows Server 2008 R2 中 exFAT 卷文件系统 适用于: Windows Server 2008 R2 Ser ...
- mkfs在特定的分区上建立 linux 文件系统
Linux mkfs命令用于在特定的分区上建立 linux 文件系统 使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]参数 : ...
- ZFS -世界上最高级的文件系统之一
https://www.oschina.net/news/44302/openzfs_launch_announcement https://en.wikipedia.org/wiki/ZFS ZFS ...
- FreeBSD上编写x86 Shellcode初学者指南
FreeBSD上编写x86 Shellcode初学者指南 来源 https://www.4hou.com/binary/14375.html 介绍 本教程的目的是帮助你熟悉如何在FreeBSD操作系统 ...
- CentOS上安装分布式文件系统FastDFS & 配置和问题解决
原文:https://my.oschina.net/wangmengjun/blog/1142982 什么是FastDFS? FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件 ...
- 修复AWS上EC2损坏的sshd_config文件
常识: AWS是没有root用户的,登陆也都是通过SSH KEY完成授权认证. 背景: 正在AWS上搭一个CI (GO),与gitlab,为了将其进行集成,需将gitlab的deploy key设置成 ...
- 在FreeBSD上安装Bugzilla
Bugzilla 是一款开源的 Web 应用,是一款bug跟踪系统和测试工具,由 mozilla 开发,并采用 Mozilla 公共许可证授权(MPL),它经常被一些高科技公司如 mozilla.红帽 ...
- 在FreeBSD上搭建Mac的文件及time machine备份服务
上周将工作用电脑由公司配备的台式机切换到自己低配的macbook air上面,小本本的128G SSD远远不能满足工作的储存需要,但又不舍得入手昂贵的AirPort Time Capsule,于是考虑 ...
随机推荐
- css3中transition和animation的回调处理
弱鸡最近在准备面试,网上找了一些题,发现一些基础题也完全答不好(┬_┬)看来还是要再接再励啊w(゚Д゚)w 言归正传,今天的主题是CSS3中的动画回调处理,这里动画执行完毕后触发的事件是transit ...
- js中(function(){…})()立即执行函数写法理解
文章摘自https://my.oschina.net/u/2331760/blog/468672?p={{currentPage+1}} 摘要: javascript和其他编程语言相比比较随意,所以j ...
- JAVA 内部类 泛型 实现堆栈
堆栈类: package c15; public class LinkedStack<T> { private static class Node<T> { T item ; ...
- C语言程序设计第十一次作业
同学们,一晃一个学期就过去了,第一节课时,我曾做过一个调查,没有一个同学在中学阶段接触过程序设计,也就是说,那时,大家都是零基础,或许只是听说过"C语言"这个词,但其他便一无所知了 ...
- SQLite常用命令总结
1) 创建数据库文件: >SQLite3 d:\test.db 回车 就生成了一个test.db在d盘. 这样同时也SQLite3挂上了这个test.db 2) 用.help可以看看有什么命令 ...
- nosql->redis学习 数据类型
redis->string 二进制 setnx name lijie 判断键值 是否存在 如果存在返回0 不存在 吧值设置进去 setex 指定键值有效期时间 setex name ...
- 用Java编程找到两个字符串中共有的字符
这道题的算法思想是把字符串1中的每个字符与字符串2中的每个字符进行比较,遇到共同拥有的字符,放入另一个数组中,最后顺序输出即可 但是这道题的难点在于怎么排除重复的字符 public class bot ...
- 黑马程序员——【Java高新技术】——代理
---------- android培训.java培训.期待与您交流! ---------- 一.“代理概述”及“AOP概念” (一)代理概述 1.问题:要为已存在的多个具有相同接口的目标类的各个方法 ...
- Integer to Roman -- LeetCode 012
Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...
- PHP中"->"和"=>"的区别
=>不是运算符,这个是数组特有的指针符号..是定义数组时做键.值映射用的.foreach($_POST AS $key=>$value){...}遍历数组的时候,就是将$_POST数组的键 ...